diff --git a/i18n_ts/bo_CN.ts b/i18n_ts/bo_CN.ts
index 4d95470..60ef993 100644
--- a/i18n_ts/bo_CN.ts
+++ b/i18n_ts/bo_CN.ts
@@ -148,17 +148,17 @@
-
+ མཛུབ་རིས།
-
+ FingerVein
-
+ Iris
@@ -172,13 +172,40 @@
+
- བདེ་འཇགས་གསང་ལྡེ་
+ བདེ་འཇགས་གསང་ལྡེ་
+
- དོན་ཚན་གཉིས་པ།
+ དོན་ཚན་གཉིས་པ།
+
+
+
+
+ མཛུབ་རིས།
+
+
+
+
+ སྡོད་རྩ་ཞེས་པ་ནི་སྡོད་རྩར
+
+
+
+
+ འཇའ་སྐྱི།
+
+
+
+
+ ངོ་གདོང་།
+
+
+
+
+ སྒྲ་གདངས་ཀྱི་རི་མོ།
@@ -285,25 +312,25 @@
- གློག་གསོག་བཞིན་པའི་སྒང་རེད།
+ ད་ལྟ་གློག་གསོག་བཞིན་ཡོད།
- གློག་གིས་བཀང་ཡོད།
+ དེ་དག་གིས་ཁེངས་འདུག
- གློག་ཁུངས་ཀྱི་རྣམ་པ།
+ གློག་ཁུངས་ཀྱི་རྣམ་པ།
- གློག་སྨན་གྱི་རྣམ་པ།
+ གློག་སྨན་གྱི་རྣམ་པ།
@@ -381,34 +408,34 @@
- ཕྱིར་འཐེན།
+ ཕྱིར་འཐེན།
-
+ དངོས་སུ་ཁས་ལེན་པ།
- གཤམ་གྱི་གོ་རིམ་ནི་མ་ལག་བསྐྱར་དུ་འབྱུང་བར་སྔོན་འགོག་བྱེད་ཆེད་ཡིན།
+ གཤམ་གྱི་གོ་རིམ་ནི་མ་ལག་བསྐྱར་དུ་འབྱུང་བར་སྔོན་འགོག་བྱེད་ཆེད་ཡིན།
- གཤམ་གྱི་གོ་རིམ་ནི་མ་ལག་གི་སྒོ་རྒྱག་པར་བཀག་འགོག་བྱེད་པའི་ཆེད་དུ་ཡིན།
+ གཤམ་གྱི་གོ་རིམ་ནི་མ་ལག་གི་སྒོ་རྒྱག་པར་བཀག་འགོག་བྱེད་པའི་ཆེད་དུ་ཡིན།
- གཤམ་གྱི་གོ་རིམ་ནི་མ་ལག་གནས་སྐབས་མཚམས་འཇོག་པར་བཀག་འགོག་བྱེད་པའི་ཆེད་དུ་ཡིན།
+ གཤམ་གྱི་གོ་རིམ་ནི་མ་ལག་གནས་སྐབས་མཚམས་འཇོག་པར་བཀག་འགོག་བྱེད་པའི་ཆེད་དུ་ཡིན།
- གཤམ་གྱི་གོ་རིམ་ནི་མ་ལག་ལ་བཀག་འགོག་བྱེད་པའི་ཆེད་དུ་ཡིན།
+ གཤམ་གྱི་གོ་རིམ་ནི་མ་ལག་ལ་བཀག་འགོག་བྱེད་པའི་ཆེད་དུ་ཡིན།
@@ -1679,17 +1706,17 @@
-
+ གཡེང་བའི་རྣམ་པ།
-
+ སྒོ་རྒྱག་པ།
-
+ རྣམ་པ་མཐའ་གཅིག་ཏུ་སྦྱར་བ།
@@ -1977,7 +2004,7 @@
-
+ སྤྱོད་མཁན་མང་པོ་ཞིག་དུས་གཅིག་ཏུ་ཐོ་འགོད་བྱས། ཁྱེད་རང་གིས་%1མ་ལག་འདི་གཏན་འཁེལ་བྱེད་དགོས་སམ།
@@ -2001,37 +2028,37 @@
-
+ མཛུབ་རིས།
-
+ སྡོད་རྩ་ཞེས་པ་ནི་སྡོད་རྩར
-
+ འཇའ་སྐྱི།
-
+ ངོ་གདོང་།
-
+ སྒྲ་གདངས་ཀྱི་རི་མོ།
- བདེ་འཇགས་གསང་ལྡེ་
+ བདེ་འཇགས་གསང་ལྡེ་
- དོན་ཚན་གཉིས་པ།
+ དོན་ཚན་གཉིས་པ།
@@ -2055,12 +2082,12 @@
- སྐུད་ཡོད་དྲ་བ།
+ སྐུད་ཡོད་དྲ་བ།
- སྐུད་མེད་ཅུས་ཁོངས་ཀྱི་དྲ་བ།
+ སྐུད་མེད་ཅུས་ཁོངས་ཀྱི་དྲ་བ།
@@ -2233,51 +2260,52 @@
PowerListWidget
-
+
- ཧིན་རྡུ་ཉི་ཞི་ཡ།
-
-
-
-
-
- གློག་ཀླད་ཀྱི་སྒོ་བརྒྱབ་ནས་བཀོལ་སྤྱོད་བྱེད་སྐབས་ཐོག་མཐའ་བར་གསུམ་དུ་རྣམ་པ་རྒྱུན་འཁྱོངས་བྱེད་ཐུབ། གློག་ཀླད་ཀྱི་ཁ་ཕྱེ་དུས་ཁྱོད་དང་ཁ་བྲལ་བའི་རྣམ་པ་སླར་གསོ་བྱེད་ཐུབ།
-
-
-
-
-
- གནས་སྐབས་མཚམས་འཇོག་
-
-
-
-
-
-
- གློག་ཀླད་ཀྱི་ཁ་ཕྱེ་བའི་རྣམ་པ་རྒྱུན་འཁྱོངས་བྱས་མོད། འོན་ཀྱང་གློག་ཟད་ཚད་ཅུང་ཉུང་། ཉེར་སྤྱོད་ཚོགས་འདུའི་ཐོག་ཁ་ཕྱེ་ནས་མགྱོགས་མྱུར་ངང་གློག་ཀླད་དཀྲོགས་ཏེ་ཁྱོད་དང་ཁ་བྲལ་བའི་རྣམ་པ་སླར་གསོ་བྱེད་ཐུབ།
-
-
-
-
-
- ཡང་བསྐྱར་འགོ་འཛུགས་
-
-
-
-
-
- ལས་མཚམས་འཇོག
-
-
-
- གློག་ཆད་པ།
+ ཧིན་རྡུ་ཉི་ཞི་ཡ།
-
+
+
+ གློག་ཀླད་ཀྱི་སྒོ་བརྒྱབ་ནས་བཀོལ་སྤྱོད་བྱེད་སྐབས་ཐོག་མཐའ་བར་གསུམ་དུ་རྣམ་པ་རྒྱུན་འཁྱོངས་བྱེད་ཐུབ། གློག་ཀླད་ཀྱི་ཁ་ཕྱེ་དུས་ཁྱོད་དང་ཁ་བྲལ་བའི་རྣམ་པ་སླར་གསོ་བྱེད་ཐུབ།
+
+
+
+
+
+ གནས་སྐབས་མཚམས་འཇོག་
+
+
+
+
+
+
+ གློག་ཀླད་ཀྱི་ཁ་ཕྱེ་བའི་རྣམ་པ་རྒྱུན་འཁྱོངས་བྱས་མོད། འོན་ཀྱང་གློག་ཟད་ཚད་ཅུང་ཉུང་། ཉེར་སྤྱོད་ཚོགས་འདུའི་ཐོག་ཁ་ཕྱེ་ནས་མགྱོགས་མྱུར་ངང་གློག་ཀླད་དཀྲོགས་ཏེ་ཁྱོད་དང་ཁ་བྲལ་བའི་རྣམ་པ་སླར་གསོ་བྱེད་ཐུབ།
+
+
+
+
+
+ ཡང་བསྐྱར་འགོ་འཛུགས་
+
+
+
+
+ བཀོལ་སྤྱོད་ཡོད་ཚད་སྒོ་བརྒྱབ་རྗེས་གློག་ཀླད་བསྐྱར་དུ་སྒོ་ཕྱེ་བ་རེད།
+
+
+
+
+
+ གློག་ཆད་པ།
+
+
+
+
- བཀོལ་སྤྱོད་ཡོད་ཚད་སྒོ་བརྒྱབ་ནས་གློག་ཀླད་སྒོ་རྒྱག་དགོས།
+ བཀོལ་སྤྱོད་ཡོད་ཚད་སྒོ་བརྒྱབ་ནས་གློག་ཀླད་སྒོ་རྒྱག་དགོས།
@@ -2337,7 +2365,7 @@
- ལས་མཚམས་འཇོག
+ ལས་མཚམས་འཇོག
diff --git a/i18n_ts/mn.ts b/i18n_ts/mn.ts
index d71b8a4..75d4469 100644
--- a/i18n_ts/mn.ts
+++ b/i18n_ts/mn.ts
@@ -143,42 +143,69 @@
-
+ ᠬᠦᠮᠦᠨ ᠤ ᠨᠢᠭᠤᠷ ᠢ ᠢᠯᠭᠠᠬᠤ ᠦᠶᠡᠰ᠂ ᠰᠢᠨᠡᠳᠭᠡᠬᠦ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠨᠤᠮᠸᠷ ᠤᠨ ᠣᠨᠢᠰᠤ ᠶᠢ ᠲᠠᠷᠤᠭᠠᠷᠠᠢ᠃
-
+ ᠬᠤᠷᠤᠭᠤᠨ ᠣᠷᠣᠮ ᠃
-
+ ᠨᠠᠮ ᠵᠢᠮ ᠰᠤᠳᠠᠯ ᠢ ᠵᠢᠭᠠᠨᠠ ᠃
-
+ ᠬᠠᠯᠢᠰᠤ᠃
-
+ ᠬᠥᠮᠥᠨ ᠦ ᠨᠢᠭᠤᠷ ᠃
-
+ ᠳᠠᠭᠤᠨ ᠤ ᠣᠷᠣᠮ ᠃
+
-
+ ᠠᠮᠤᠷ ᠲᠦᠪᠰᠢᠨ ᠪᠢᠲᠡᠭᠦᠮᠵᠢᠯᠡᠭᠦᠷ ᠃
+
- ᠬᠤᠶᠠᠷ ᠬᠡᠮᠵᠢᠯᠳᠡᠳᠦ ᠺᠤᠳ᠋
+ ᠬᠤᠶᠠᠷ ᠬᠡᠮᠵᠢᠯᠳᠡᠳᠦ ᠺᠤᠳ᠋
+
+
+
+
+ ᠬᠤᠷᠤᠭᠤᠨ ᠣᠷᠣᠮ ᠃
+
+
+
+
+ ᠨᠠᠮ ᠵᠢᠮ ᠰᠤᠳᠠᠯ ᠢ ᠵᠢᠭᠠᠨᠠ ᠃
+
+
+
+
+ ᠬᠠᠯᠢᠰᠤ᠃
+
+
+
+
+ ᠬᠥᠮᠥᠨ ᠦ ᠨᠢᠭᠤᠷ ᠃
+
+
+
+
+ ᠳᠠᠭᠤᠨ ᠤ ᠣᠷᠣᠮ ᠃
@@ -285,25 +312,25 @@
-
+ ᠶᠠᠭ ᠴᠠᠬᠢᠯᠭᠠᠨ ᠨᠡᠮᠡᠵᠦ ᠪᠠᠢ᠌ᠨᠠ ᠃
-
+ ᠨᠢᠭᠡᠨᠲᠡ ᠳᠦᠭᠦᠷᠡᠩ ᠪᠣᠯᠵᠠᠢ ᠃
-
+ ᠴᠠᠬᠢᠯᠭᠠᠨ ᠡᠭᠦᠰᠭᠡᠭᠴᠢ ᠶᠢᠨ ᠵᠠᠭᠪᠤᠷ ᠃
-
+ ᠳ᠋ᠢᠶᠠᠨ ᠢ ᠶᠢᠨ ᠵᠠᠭᠪᠤᠷ ᠃
@@ -381,34 +408,34 @@
-
+ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠶ ᠪᠣᠯᠭᠠᠨᠠ᠃
-
+ ᠨᠤᠲᠠᠯᠠᠨ ᠲᠣᠭᠲᠠᠭᠠᠬᠤ ᠃
- ᠳᠠᠷᠠᠭᠠᠬᠢ ᠫᠠᠷᠦᠭᠷᠡᠮ ᠶᠠᠭ ᠠᠵᠢᠯᠯᠠᠵᠤ ᠪᠠᠢᠨᠠ ᠂ ᠱᠢᠰᠲ᠋ᠧᠮᠦᠨ ᠳᠠᠬᠢᠵᠤ ᠡᠬᠢᠯᠡᠬᠦ᠌ᠶᠢ ᠬᠤᠷᠢᠭᠯᠠᠨᠠ!
+ ᠳᠠᠷᠠᠭᠠᠬᠢ ᠫᠠᠷᠦᠭᠷᠡᠮ ᠶᠠᠭ ᠠᠵᠢᠯᠯᠠᠵᠤ ᠪᠠᠢᠨᠠ ᠂ ᠱᠢᠰᠲ᠋ᠧᠮᠦᠨ ᠳᠠᠬᠢᠵᠤ ᠡᠬᠢᠯᠡᠬᠦ᠌ᠶᠢ ᠬᠤᠷᠢᠭᠯᠠᠨᠠ!
- ᠳᠠᠷᠠᠭᠠᠬᠢ ᠫᠠᠷᠦᠭᠷᠡᠮ ᠶᠠᠭ ᠠᠵᠢᠯᠯᠠᠵᠤ ᠪᠠᠢᠨᠠ ᠂ ᠱᠢᠰᠲ᠋ᠧᠮᠦᠨ ᠬᠠᠭᠠᠬᠤᠶᠢ ᠬᠤᠷᠢᠭᠯᠠᠨᠠ!
+ ᠳᠠᠷᠠᠭᠠᠬᠢ ᠫᠠᠷᠦᠭᠷᠡᠮ ᠶᠠᠭ ᠠᠵᠢᠯᠯᠠᠵᠤ ᠪᠠᠢᠨᠠ ᠂ ᠱᠢᠰᠲ᠋ᠧᠮᠦᠨ ᠬᠠᠭᠠᠬᠤᠶᠢ ᠬᠤᠷᠢᠭᠯᠠᠨᠠ!
- ᠳᠠᠷᠠᠭᠠᠬᠢ ᠫᠠᠷᠦᠭᠷᠡᠮ ᠶᠠᠭ ᠠᠵᠢᠯᠯᠠᠵᠤ ᠪᠠᠢᠨᠠ ᠂ ᠱᠢᠰᠲ᠋ᠧᠮᠦᠨ ᠤᠨᠳᠠᠬᠤᠶᠢ ᠬᠤᠷᠢᠭᠯᠠᠨᠠ!
+ ᠳᠠᠷᠠᠭᠠᠬᠢ ᠫᠠᠷᠦᠭᠷᠡᠮ ᠶᠠᠭ ᠠᠵᠢᠯᠯᠠᠵᠤ ᠪᠠᠢᠨᠠ ᠂ ᠱᠢᠰᠲ᠋ᠧᠮᠦᠨ ᠤᠨᠳᠠᠬᠤᠶᠢ ᠬᠤᠷᠢᠭᠯᠠᠨᠠ!
- ᠳᠠᠷᠠᠭᠠᠬᠢ ᠫᠠᠷᠦᠭᠷᠡᠮ ᠶᠠᠭ ᠠᠵᠢᠯᠯᠠᠵᠤ ᠪᠠᠢᠨᠠ ᠂ ᠱᠢᠰᠲ᠋ᠧᠮᠦᠨ ᠢᠴᠡᠬᠡᠯᠡᠬᠦ᠌ᠶᠢ ᠬᠤᠷᠢᠭᠯᠠᠨᠠ!
+ ᠳᠠᠷᠠᠭᠠᠬᠢ ᠫᠠᠷᠦᠭᠷᠡᠮ ᠶᠠᠭ ᠠᠵᠢᠯᠯᠠᠵᠤ ᠪᠠᠢᠨᠠ ᠂ ᠱᠢᠰᠲ᠋ᠧᠮᠦᠨ ᠢᠴᠡᠬᠡᠯᠡᠬᠦ᠌ᠶᠢ ᠬᠤᠷᠢᠭᠯᠠᠨᠠ!
@@ -1674,17 +1701,17 @@
-
+ ᠳᠡᠭᠦᠵᠢᠯᠡᠭᠦᠷ ᠦᠨ ᠵᠠᠭᠪᠤᠷ ᠃
-
+ ᠬᠠᠭᠠᠬᠤ
-
+ ᠨᠠᠭᠠᠬᠤ ᠵᠠᠭᠪᠤᠷ ᠃
@@ -1980,7 +2007,7 @@
-
+ ᠣᠯᠠᠨ ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠬᠠᠮᠲᠤ ᠳᠤᠨᠢ ᠲᠡᠮᠳᠡᠭ᠍ᠯᠡᠵᠡᠢ ᠃ ᠲᠠ %1 ᠡᠨᠡ ᠰᠢᠰᠲ᠋ᠧᠮ ᠢ ᠲᠣᠭᠲᠠᠭᠠᠨᠠ ᠤᠤ ?
@@ -2004,37 +2031,37 @@
-
+ ᠬᠤᠷᠤᠭᠤᠨ ᠣᠷᠣᠮ ᠃
-
+ ᠨᠠᠮ ᠵᠢᠮ ᠰᠤᠳᠠᠯ ᠃
-
+ ᠬᠠᠯᠢᠰᠤ᠃
-
+ ᠬᠥᠮᠥᠨ ᠦ ᠨᠢᠭᠤᠷ ᠃
-
+ ᠳᠠᠭᠤᠨ ᠤ ᠣᠷᠣᠮ ᠃
-
+ ᠠᠮᠤᠷ ᠲᠦᠪᠰᠢᠨ ᠨᠢᠭᠤᠴᠠ ᠪᠠᠷ ᠬᠥᠯᠬᠢᠳᠡᠬᠦ ᠃
- ᠬᠤᠶᠠᠷ ᠬᠡᠮᠵᠢᠯᠳᠡᠳᠦ ᠺᠤᠳ᠋
+ ᠬᠤᠶᠠᠷ ᠬᠡᠮᠵᠢᠯᠳᠡᠳᠦ ᠺᠤᠳ᠋
@@ -2058,12 +2085,12 @@
- ᠤᠳᠠᠰᠤᠳᠤ ᠰᠦᠯᠵᠢᠶᠡ
+ ᠤᠳᠠᠰᠤᠳᠤ ᠰᠦᠯᠵᠢᠶᠡ
- ᠤᠳᠠᠰᠤ ᠦᠬᠡᠢ ᠬᠡᠰᠡᠭ ᠬᠡᠪᠴᠢᠶᠡᠨᠦ ᠰᠦᠯᠵᠢᠶᠡ
+ ᠤᠳᠠᠰᠤ ᠦᠬᠡᠢ ᠬᠡᠰᠡᠭ ᠬᠡᠪᠴᠢᠶᠡᠨᠦ ᠰᠦᠯᠵᠢᠶᠡ
@@ -2236,47 +2263,52 @@
PowerListWidget
-
+
- ᠢᠴᠡᠬᠡᠯᠡᠬᠦ᠌
-
-
-
-
-
- ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠬᠠᠭᠠᠬᠤ ᠪᠣᠯᠪᠠᠴᠤ ᠬᠡᠷᠡᠭᠯᠡᠭᠡᠨ ᠦ ᠬᠤᠷᠠᠯ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠪᠠᠷᠢᠮᠲᠠᠯᠠᠳᠠᠭ ᠃ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠦᠶᠡ ᠳᠦ ᠂ ᠴᠢᠨᠦ ᠰᠠᠯᠤᠭᠰᠠᠨ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠰᠡᠷᠭᠦᠭᠡᠵᠦ ᠪᠣᠯᠣᠨᠠ ᠃
-
-
-
-
-
- ᠤᠨᠳᠠᠬᠤ
-
-
-
-
-
-
- ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠮᠠᠰᠢᠨ ᠢᠶᠠᠨ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠪᠠᠷᠢᠮᠲᠠᠯᠠᠳᠠᠭ ᠂ ᠭᠡᠪᠡᠴᠦ ᠴᠠᠬᠢᠯᠭᠠᠨ ᠬᠣᠷᠣᠭᠳᠠᠭᠤᠯᠭᠠ ᠨᠡᠯᠢᠶᠡᠳ ᠪᠠᠭᠠ ᠃ ᠬᠡᠷᠡᠭᠯᠡᠭᠡᠨ ᠦ ᠬᠤᠷᠠᠯ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠦᠷᠭᠦᠯᠵᠢᠯᠡᠭᠦᠯᠦᠭᠰᠡᠭᠡᠷ ᠂ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠲᠦᠷᠭᠡᠨ ᠰᠡᠷᠢᠭᠡᠬᠦ ᠶᠢᠨ ᠬᠠᠮᠲᠤ ᠴᠢᠨᠦ ᠰᠠᠯᠤᠭᠰᠠᠨ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠰᠡᠷᠭᠦᠭᠡᠵᠦ ᠪᠣᠯᠣᠨᠠ ᠃
-
-
-
-
-
- ᠳᠠᠬᠢᠵᠤ ᠡᠬᠢᠯᠡᠬᠦᠯᠬᠦ᠌
-
-
-
-
-
- ᠬᠠᠭᠠᠬᠤ
+ ᠢᠴᠡᠬᠡᠯᠡᠬᠦ᠌
-
+
+
+ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠬᠠᠭᠠᠬᠤ ᠪᠣᠯᠪᠠᠴᠤ ᠬᠡᠷᠡᠭᠯᠡᠭᠡᠨ ᠦ ᠬᠤᠷᠠᠯ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠪᠠᠷᠢᠮᠲᠠᠯᠠᠳᠠᠭ ᠃ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠦᠶᠡ ᠳᠦ ᠂ ᠴᠢᠨᠦ ᠰᠠᠯᠤᠭᠰᠠᠨ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠰᠡᠷᠭᠦᠭᠡᠵᠦ ᠪᠣᠯᠣᠨᠠ ᠃
+
+
+
+
+
+ ᠤᠨᠳᠠᠬᠤ
+
+
+
+
+
+
+ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠮᠠᠰᠢᠨ ᠢᠶᠠᠨ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠪᠠᠷᠢᠮᠲᠠᠯᠠᠳᠠᠭ ᠂ ᠭᠡᠪᠡᠴᠦ ᠴᠠᠬᠢᠯᠭᠠᠨ ᠬᠣᠷᠣᠭᠳᠠᠭᠤᠯᠭᠠ ᠨᠡᠯᠢᠶᠡᠳ ᠪᠠᠭᠠ ᠃ ᠬᠡᠷᠡᠭᠯᠡᠭᠡᠨ ᠦ ᠬᠤᠷᠠᠯ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠦᠷᠭᠦᠯᠵᠢᠯᠡᠭᠦᠯᠦᠭᠰᠡᠭᠡᠷ ᠂ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠲᠦᠷᠭᠡᠨ ᠰᠡᠷᠢᠭᠡᠬᠦ ᠶᠢᠨ ᠬᠠᠮᠲᠤ ᠴᠢᠨᠦ ᠰᠠᠯᠤᠭᠰᠠᠨ ᠪᠠᠶᠢᠳᠠᠯ ᠢᠶᠠᠨ ᠰᠡᠷᠭᠦᠭᠡᠵᠦ ᠪᠣᠯᠣᠨᠠ ᠃
+
+
+
+
+
+ ᠳᠠᠬᠢᠵᠤ ᠡᠬᠢᠯᠡᠬᠦᠯᠬᠦ᠌
+
+
+
+
+ ᠪᠤᠢ ᠪᠥᠬᠥᠢ ᠬᠡᠷᠡᠭ᠍ᠯᠡᠭᠡ ᠶᠢ ᠬᠠᠭᠠᠵᠤ ᠂ ᠳᠠᠷᠠᠭᠠ ᠨᠢ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠳᠠᠬᠢᠨ ᠰᠡᠩᠭᠡᠷᠡᠭᠦᠯᠦᠨᠡ ᠃
+
+
+
+
+
+ ᠬᠠᠭᠠᠬᠤ
+
+
+
+
-
+ བཀོལ་སྤྱོད་ཡོད་ཚད་སྒོ་བརྒྱབ་ནས་རྩིས་འཁོར་སྒོ་རྒྱག་དགོས།
@@ -2285,7 +2317,7 @@
- ᠪᠤᠢ ᠪᠥᠬᠥᠢ ᠬᠡᠷᠡᠭ᠍ᠯᠡᠭᠡ ᠶᠢ ᠬᠠᠭᠠᠵᠤ ᠂ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠬᠠᠭᠠᠵᠤ ᠂ ᠳᠠᠷᠠᠭᠠ ᠨᠢ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠳᠠᠬᠢᠨ ᠨᠡᠭᠡᠭᠡᠨᠡ ᠃
+ ᠪᠤᠢ ᠪᠥᠬᠥᠢ ᠬᠡᠷᠡᠭ᠍ᠯᠡᠭᠡ ᠶᠢ ᠬᠠᠭᠠᠵᠤ ᠂ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠬᠠᠭᠠᠵᠤ ᠂ ᠳᠠᠷᠠᠭᠠ ᠨᠢ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ ᠳᠠᠬᠢᠨ ᠨᠡᠭᠡᠭᠡᠨᠡ ᠃
@@ -2340,7 +2372,7 @@
- ᠬᠠᠭᠠᠬᠤ
+ ᠬᠠᠭᠠᠬᠤ
diff --git a/i18n_ts/zh_CN.ts b/i18n_ts/zh_CN.ts
index 4778213..23af5a6 100644
--- a/i18n_ts/zh_CN.ts
+++ b/i18n_ts/zh_CN.ts
@@ -172,14 +172,41 @@
+
安全密钥
+
二维码
+
+
+
+ 指纹
+
+
+
+
+ 指静脉
+
+
+
+
+ 虹膜
+
+
+
+
+ 人脸
+
+
+
+
+ 声纹
+
使用绑定的微信扫码或输入密码登录
@@ -1670,17 +1697,17 @@
-
+ 悬浮状态
-
+ 关闭
-
+ 贴边状态
@@ -2209,56 +2236,57 @@
PowerListWidget
-
+
休眠
-
+
- 关闭电脑,但是应用会一直保持打开状态。当打开电脑时,可以恢复到你离开的状态。
+ 关闭电脑,但是应用会一直保持打开状态。当打开电脑时,可以恢复到你离开的状态。
-
-
+
+
睡眠
-
-
-
+
+
+
- 电脑保持开机状态,但耗电较少。应用会一直保持打开状态,可快速唤醒电脑并恢复到你离开的状态。
+ 电脑保持开机状态,但耗电较少。应用会一直保持打开状态,可快速唤醒电脑并恢复到你离开的状态。
-
-
+
+
重启
-
-
-
- 关机
+
+
+ 关闭所有应用,然后重启电脑。
+
+
关机
-
-
+
+
- 关闭所有应用,然后关闭电脑。
+ 关闭所有应用,然后关闭电脑。
- 关闭所有应用,关闭电脑,然后重新打开电脑。
+ 关闭所有应用,关闭电脑,然后重新打开电脑。
@@ -2313,7 +2341,7 @@
- 关机
+ 关机
@@ -2351,37 +2379,37 @@
- 指纹
+ 指纹
- 指静脉
+ 指静脉
- 虹膜
+ 虹膜
- 人脸识别
+ 人脸识别
- 声纹
+ 声纹
- 安全密钥
+ 安全密钥
- 二维码
+ 二维码
@@ -2729,5 +2757,15 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/i18n_ts/zh_HK.ts b/i18n_ts/zh_HK.ts
index 7bac59c..e969342 100644
--- a/i18n_ts/zh_HK.ts
+++ b/i18n_ts/zh_HK.ts
@@ -143,42 +143,69 @@
-
+ 人臉識別等待超時,請點擊刷新或輸入密碼解鎖
-
+ 指紋
-
+ 指靜脈
- 虹膜
+ 虹膜
-
+ 人臉
-
+ 聲紋
+
-
+ 安全金鑰
+
- 微信掃碼
+ 微信掃碼
+
+
+
+
+ 指紋
+
+
+
+
+ 指靜脈
+
+
+
+
+ 虹膜
+
+
+
+
+ 人臉
+
+
+
+
+ 聲紋
@@ -381,34 +408,34 @@
- 取消
+ 取消
-
+ 確認
- 以下程式正在運行以防止系統重新啟動!
+ 以下程式正在運行以防止系統重新啟動!
- 以下程式正在運行以防止系統關閉!
+ 以下程式正在運行以防止系統關閉!
- 以下程式正在運行以防止系統掛起!
+ 以下程式正在運行以防止系統掛起!
- 以下程式正在運行以防止系統休眠!
+ 以下程式正在運行以防止系統休眠!
@@ -430,7 +457,7 @@
- 美國廣播公司
+ ABC
@@ -1674,17 +1701,17 @@
-
+ 懸浮狀態
-
+ 關閉
-
+ 貼邊狀態
@@ -1973,7 +2000,7 @@
-
+ 多個用戶同時登錄,您確定要 %1 此系統嗎?
@@ -1997,37 +2024,37 @@
-
+ 指紋
-
+ 指靜脈
- 虹膜
+ 虹膜
-
+ 人臉
-
+ 聲紋
-
+ 安全金鑰
- 微信掃碼
+ 微信掃碼
@@ -2051,12 +2078,12 @@
- 局域網
+ 局域網
- 無線局域網
+ 無線局域網
@@ -2229,56 +2256,57 @@
PowerListWidget
-
+
- 休眠
-
-
-
-
-
- 關閉電腦,但應用會保持打開狀態。當計算機打開時,它可以恢復到您離開時的狀態
-
-
-
-
-
- 睡眠
-
-
-
-
-
-
- 計算機保持打開狀態,但消耗的電量更少。該應用程式保持打開狀態,可以快速喚醒並恢復到上次中斷的位置
-
-
-
-
-
- 重新啟動
-
-
-
-
-
- 關閉
-
-
-
- 關機
+ 休眠
-
+
+
+ 關閉電腦,但應用會保持打開狀態。當計算機打開時,它可以恢復到您離開時的狀態
+
+
+
+
+
+ 睡眠
+
+
+
+
+
+
+ 計算機保持打開狀態,但消耗的電量更少。該應用程式保持打開狀態,可以快速喚醒並恢復到上次中斷的位置
+
+
+
+
+
+ 重啟
+
+
+
+
+ 關閉所有應用,然後重啟電腦。
+
+
+
+
+
+ 關機
+
+
+
+
- 關閉所有應用,然後關閉電腦
+ 關閉所有應用,然後關閉電腦
- 關閉所有應用,關閉計算機,然後重新打開計算機
+ 關閉所有應用,關閉計算機,然後重新打開計算機
@@ -2333,7 +2361,7 @@
- 關閉
+ 關閉
@@ -2396,7 +2424,7 @@
-
+ 安全金鑰
diff --git a/src/common/definetypes.h b/src/common/definetypes.h
index a414f28..06e85f5 100644
--- a/src/common/definetypes.h
+++ b/src/common/definetypes.h
@@ -167,6 +167,7 @@ typedef enum _LOCK_CMD_ID_e
#define KEY_SYSTEM_FONT_SIZE "systemFontSize"
#define GLIB_KEY_SYSTEM_FONT_SIZE "system-font-size"
#define KEY_THEME_COLOR "themeColor"
+#define KEY_SYSTEM_FONT "systemFont"
#define GSETTINGS_SCHEMA_SESSION "org.ukui.session"
#define KEY_SESSION_IDLE "idleDelay"
diff --git a/src/lock-backend/gsettingshelper.cpp b/src/lock-backend/gsettingshelper.cpp
index 628887a..a769856 100644
--- a/src/lock-backend/gsettingshelper.cpp
+++ b/src/lock-backend/gsettingshelper.cpp
@@ -412,6 +412,8 @@ void GSettingsHelper::onThemeStyleConfigChanged(QString strKey)
varValue = m_lfFontSize = m_gsThemeStyle->get(KEY_SYSTEM_FONT_SIZE).toDouble();
} else if (strKey == KEY_THEME_COLOR) {
varValue = m_strThemeColor = m_gsThemeStyle->get(KEY_THEME_COLOR).toString();
+ } else if (strKey == KEY_SYSTEM_FONT) {
+ varValue = m_font = m_gsThemeStyle->get(KEY_SYSTEM_FONT).toString();
}
Q_EMIT themeStyleConfigChanged(strKey, varValue);
}
diff --git a/src/lock-backend/gsettingshelper.h b/src/lock-backend/gsettingshelper.h
index 96cbb6e..d005236 100644
--- a/src/lock-backend/gsettingshelper.h
+++ b/src/lock-backend/gsettingshelper.h
@@ -134,6 +134,7 @@ private:
double m_lfFontSize = 0.0;
QString m_strThemeColor;
+ QString m_font;
int m_nSessionIdle = -1;
diff --git a/src/lock-dialog/lockdialogmodel.cpp b/src/lock-dialog/lockdialogmodel.cpp
index 654fa36..dbfc914 100644
--- a/src/lock-dialog/lockdialogmodel.cpp
+++ b/src/lock-dialog/lockdialogmodel.cpp
@@ -390,6 +390,10 @@ void LockDialogModel::onThemeStyleConfChanged(const QString &key, QVariant value
{
if (key == KEY_SYSTEM_FONT_SIZE) {
m_curFontSize = value.toDouble();
+ double defaultFontSize = getDefaultFontSize();
+ Q_EMIT fontSizeChanged(m_curFontSize - defaultFontSize);
+ } else if (key == KEY_SYSTEM_FONT) {
+ Q_EMIT fontChanged(value.toString());
}
}
diff --git a/src/lock-dialog/lockdialogmodel.h b/src/lock-dialog/lockdialogmodel.h
index 4788313..4d7bf04 100644
--- a/src/lock-dialog/lockdialogmodel.h
+++ b/src/lock-dialog/lockdialogmodel.h
@@ -366,6 +366,10 @@ Q_SIGNALS:
void tabletModeChanged(bool tabletMode);
+ void fontSizeChanged(double fontSize);
+
+ void fontChanged(QString font);
+
private:
QString getXScreensaverPath(const QString &theme);
private:
diff --git a/src/screensaver/scconfiguration.cpp b/src/screensaver/scconfiguration.cpp
index d743ad4..3876f6a 100644
--- a/src/screensaver/scconfiguration.cpp
+++ b/src/screensaver/scconfiguration.cpp
@@ -66,6 +66,9 @@ void SCConfiguration::onConfigurationChanged(QString key, QVariant value)
}else if(key == "backgroundPath"){
QString path = value.toString();
Q_EMIT backgroundPathChanged(path);
+ }else if(key == "background"){
+ QString path = value.toString();
+ Q_EMIT backgroundChanged(path);
}else if(key == "mytext"){
QString text = value.toString();
Q_EMIT myTextChanged(text);
diff --git a/src/screensaver/scconfiguration.h b/src/screensaver/scconfiguration.h
index 04b2ba8..2c188a3 100644
--- a/src/screensaver/scconfiguration.h
+++ b/src/screensaver/scconfiguration.h
@@ -68,6 +68,7 @@ Q_SIGNALS:
void cycleTimeChanged(int cycleTime);
bool autoSwitchChanged(bool changed);
QString backgroundPathChanged(QString path);
+ QString backgroundChanged(QString path);
QString myTextChanged(QString text);
bool showCRestTimeChanged(bool isShow);
bool showURestTimeChanged(bool isShow);
diff --git a/src/screensaver/screensaver.cpp b/src/screensaver/screensaver.cpp
index 4245fbb..f844f84 100644
--- a/src/screensaver/screensaver.cpp
+++ b/src/screensaver/screensaver.cpp
@@ -151,7 +151,7 @@ void Screensaver::getConfiguration()
textIsCenter = configuration->getTextIsCenter();
myText = configuration->getMyText();
}else
- isUShowRestTime = configuration->getUShowRestTime();
+ isUShowRestTime = configuration->getUShowRestTime();
curFontSize = configuration->getFontSize();
m_ptToPx = configuration->getPtToPx();
@@ -168,6 +168,8 @@ void Screensaver::connectSingles()
this, &Screensaver::autoSwitchChanged);
connect(configuration, &SCConfiguration::backgroundPathChanged,
this, &Screensaver::backgroundPathChanged);
+ connect(configuration, &SCConfiguration::backgroundChanged,
+ this, &Screensaver::backgroundChanged);
connect(configuration, &SCConfiguration::cycleTimeChanged,
this, &Screensaver::cycleTimeChanged);
connect(configuration, &SCConfiguration::myTextChanged,
@@ -254,6 +256,11 @@ void Screensaver::backgroundPathChanged(QString path)
startSwitchImages();
}
+void Screensaver::backgroundChanged(QString path)
+{
+ background = loadFromFile(path);
+}
+
void Screensaver::cycleTimeChanged(int cTime)
{
cycleTime = cTime;
diff --git a/src/screensaver/screensaver.h b/src/screensaver/screensaver.h
index 2772316..4c83c86 100644
--- a/src/screensaver/screensaver.h
+++ b/src/screensaver/screensaver.h
@@ -194,6 +194,7 @@ private Q_SLOTS:
void updateTime();
void autoSwitchChanged(bool iswitch);
void backgroundPathChanged(QString path);
+ void backgroundChanged(QString path);
void cycleTimeChanged(int cTime);
void myTextChanged(QString text);
void showCRestTimeChanged(bool isShow);
diff --git a/src/widgets/authdialog.cpp b/src/widgets/authdialog.cpp
index ab96d0b..85c75f9 100644
--- a/src/widgets/authdialog.cpp
+++ b/src/widgets/authdialog.cpp
@@ -217,6 +217,50 @@ void AuthDialog::updateAuthSize()
updateUI();
}
+void AuthDialog::updateAuthFont(QString fontFamily)
+{
+ if (m_labelLoginTypeTip) {
+ m_labelLoginTypeTip->setFontFamily(fontFamily);
+ }
+ if (m_ukeyMessageLabel) {
+ m_ukeyMessageLabel->setFontFamily(fontFamily);
+ }
+ if (m_nameLabel) {
+ m_nameLabel->setFontFamily(fontFamily);
+ }
+ if (m_messageLabel) {
+ m_messageLabel->setFontFamily(fontFamily);
+ }
+ if (m_loginOpts) {
+ m_loginOpts->updateLoginOptionFont(fontFamily);
+ }
+ if (m_labelQRCodeMsg) {
+ m_labelQRCodeMsg->setFontFamily(fontFamily);
+ }
+}
+
+void AuthDialog::updateAuthFontSize(double fontSize)
+{
+ if (m_labelLoginTypeTip) {
+ m_labelLoginTypeTip->setFontSize((14 + fontSize)*m_ptToPx);
+ }
+ if (m_ukeyMessageLabel) {
+ m_ukeyMessageLabel->setFontSize((14 + fontSize)*m_ptToPx);
+ }
+ if (m_nameLabel) {
+ m_nameLabel->setFontSize((24 + fontSize)*m_ptToPx);
+ }
+ if (m_messageLabel) {
+ m_messageLabel->setFontSize((14 + fontSize)*m_ptToPx);
+ }
+ if (m_loginOpts) {
+ m_loginOpts->updateLoginOptionFontSize(fontSize);
+ }
+ if (m_labelQRCodeMsg) {
+ m_labelQRCodeMsg->setFontSize((14 + fontSize)*m_ptToPx);
+ }
+}
+
void AuthDialog::initTipWidget()
{
QVBoxLayout *tipLayout = new QVBoxLayout(m_tipWidget);
@@ -1435,9 +1479,9 @@ void AuthDialog::performBiometricAuth()
if(m_failMap.contains(m_curUserInfo->uid()) && m_failMap[m_curUserInfo->uid()][m_deviceInfo->id] >= maxFailedTimes)
{
if (m_deviceInfo->deviceType == UniT_Remote) {
- setLoginTypeTip(tr("Failed to verify %1, please enter password to unlock").arg(getDeviceType_tr(m_deviceInfo->deviceType)));
+ setLoginTypeTip(tr("Failed to verify %1, please enter password to unlock").arg(getDeviceType_lowerTr(m_deviceInfo->deviceType)));
} else {
- setLoginTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_tr(m_deviceInfo->deviceType)));
+ setLoginTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_lowerTr(m_deviceInfo->deviceType)));
if (m_deviceInfo->deviceType == BioT_Face) {
QImage imgFailed;
setFaceImg(imgFailed, 1);
@@ -1587,9 +1631,9 @@ void AuthDialog::onLoginOptsCount(unsigned uCount)
if(m_failMap.contains(m_curUserInfo->uid()) && m_failMap[m_curUserInfo->uid()][m_deviceInfo->id] >= maxFailedTimes)
{
if (m_deviceInfo->deviceType == UniT_Remote) {
- setLoginTypeTip(tr("Failed to verify %1, please enter password to unlock").arg(getDeviceType_tr(m_deviceInfo->deviceType)));
+ setLoginTypeTip(tr("Failed to verify %1, please enter password to unlock").arg(getDeviceType_lowerTr(m_deviceInfo->deviceType)));
} else {
- setLoginTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_tr(m_deviceInfo->deviceType)));
+ setLoginTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_lowerTr(m_deviceInfo->deviceType)));
if (m_deviceInfo->deviceType == BioT_Face) {
QImage imgFailed;
setFaceImg(imgFailed, 1);
@@ -1728,13 +1772,13 @@ void AuthDialog::onBiometricAuthComplete(bool result, int nStatus)
}
if(m_failMap[m_curUserInfo->uid()][m_deviceInfo->id] >= maxFailedTimes){
if (m_deviceInfo->deviceType == UniT_Remote) {
- setLoginTypeTip(tr("Failed to verify %1, please enter password to unlock").arg(getDeviceType_tr(m_deviceInfo->deviceType)));
+ setLoginTypeTip(tr("Failed to verify %1, please enter password to unlock").arg(getDeviceType_lowerTr(m_deviceInfo->deviceType)));
QImage nullImage;
setQRCode(nullImage);
}else if(m_deviceInfo->deviceType == LOGINOPT_TYPE_GENERAL_UKEY){
- setUkeyTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_tr(m_deviceInfo->deviceType)));
+ setUkeyTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_lowerTr(m_deviceInfo->deviceType)));
}else {
- setLoginTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_tr(m_deviceInfo->deviceType)));
+ setLoginTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_lowerTr(m_deviceInfo->deviceType)));
}
if(m_loginOpts)
m_loginOpts->setDeviceDisable(m_deviceInfo->id, true);
@@ -1752,7 +1796,7 @@ void AuthDialog::onBiometricAuthComplete(bool result, int nStatus)
.arg(maxFailedTimes-m_failMap[m_curUserInfo->uid()][m_deviceInfo->id]));
}else {
setLoginTypeTip(tr("Failed to verify %1, you still have %2 verification opportunities")
- .arg(getDeviceType_tr(m_deviceInfo->deviceType))
+ .arg(getDeviceType_lowerTr(m_deviceInfo->deviceType))
.arg(maxFailedTimes-m_failMap[m_curUserInfo->uid()][m_deviceInfo->id]));
}
}
@@ -1905,9 +1949,9 @@ void AuthDialog::onBiometricDbusChanged(bool bActive)
//已经错误超过3次
if(m_failMap.contains(m_curUserInfo->uid()) && m_failMap[m_curUserInfo->uid()][m_deviceInfo->id] >= maxFailedTimes) {
if (m_deviceInfo->deviceType == UniT_Remote) {
- setLoginTypeTip(tr("Failed to verify %1, please enter password to unlock").arg(getDeviceType_tr(m_deviceInfo->deviceType)));
+ setLoginTypeTip(tr("Failed to verify %1, please enter password to unlock").arg(getDeviceType_lowerTr(m_deviceInfo->deviceType)));
} else {
- setLoginTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_tr(m_deviceInfo->deviceType)));
+ setLoginTypeTip(tr("Unable to verify %1, please enter password to unlock").arg(getDeviceType_lowerTr(m_deviceInfo->deviceType)));
if (m_deviceInfo->deviceType == BioT_Face) {
QImage imgFailed;
setFaceImg(imgFailed, 1);
@@ -2047,3 +2091,27 @@ QString AuthDialog::getDeviceType_tr(int deviceType)
return "";
}
}
+
+QString AuthDialog::getDeviceType_lowerTr(int deviceType)
+{
+ switch(deviceType)
+ {
+ case BioT_FingerPrint:
+ return tr("fingerprint");
+ case BioT_FingerVein:
+ return tr("fingervein");
+ case BioT_Iris:
+ return tr("iris");
+ case BioT_Face:
+ return tr("face");
+ case BioT_VoicePrint:
+ return tr("voiceprint");
+ case UniT_General_Ukey:
+ return tr("Ukey");
+ case UniT_Remote:
+ return tr("QRCode");
+ default:
+ return "";
+ }
+}
+
diff --git a/src/widgets/authdialog.h b/src/widgets/authdialog.h
index d8b48d8..a34982f 100644
--- a/src/widgets/authdialog.h
+++ b/src/widgets/authdialog.h
@@ -68,6 +68,10 @@ public:
*/
void setCustomAuthDefault(bool isDefault);
+ void updateAuthFont(QString fontFamily);
+
+ void updateAuthFontSize(double fontSize);
+
private Q_SLOTS:
void onPamShowMessage(QString strMsg, int nType);
void onPamShowPrompt(QString strPrompt, int nType);
@@ -160,6 +164,7 @@ private:
void restartBioAuth();
void waitBiometricServiceStatus();
QString getDeviceType_tr(int deviceType);
+ QString getDeviceType_lowerTr(int deviceType);
void updatePixmap();
diff --git a/src/widgets/blockwidget.cpp b/src/widgets/blockwidget.cpp
index 950e78e..1a79724 100644
--- a/src/widgets/blockwidget.cpp
+++ b/src/widgets/blockwidget.cpp
@@ -72,12 +72,37 @@ void BlockWidget::initUi()
m_curFontSize = m_modelLockDialog->getCurFontSize();
m_ptToPx = m_modelLockDialog->getPtToPx();
+ connect(m_modelLockDialog, &LockDialogModel::fontSizeChanged, this, &BlockWidget::onFontSizeChanged);
m_tipLabel->setFontSize((14 + m_curFontSize)*m_ptToPx);
connect(m_cancelButton, &QPushButton::clicked, this, [&]() { emit cancelButtonclicked(); });
connect(m_confirmButton, &QPushButton::clicked, this, [&]() { emit confirmButtonclicked(); });
}
+void BlockWidget::onFontSizeChanged(double fontSize)
+{
+ m_curFontSize = fontSize;
+ m_tipLabel->setFontSize((14 + m_curFontSize)*m_ptToPx);
+
+ sysFont.setPointSize((16 + m_curFontSize) *m_ptToPx);
+ m_confirmButton->setFont(sysFont);
+ m_cancelButton->setFont(sysFont);
+}
+
+void BlockWidget::updateFontFamily(QString fontFamily)
+{
+ if (m_tipLabel) {
+ m_tipLabel->setFontFamily(fontFamily);
+ }
+ sysFont.setFamily(fontFamily);
+ if (m_cancelButton) {
+ m_cancelButton->setFont(sysFont);
+ }
+ if (m_confirmButton) {
+ m_confirmButton->setFont(sysFont);
+ }
+}
+
void BlockWidget::setTips(const QString tips)
{
m_cancelButton->setFixedSize(96, 36);
diff --git a/src/widgets/blockwidget.h b/src/widgets/blockwidget.h
index 932459e..e1abde8 100644
--- a/src/widgets/blockwidget.h
+++ b/src/widgets/blockwidget.h
@@ -35,9 +35,13 @@ public:
~BlockWidget();
void setTips(const QString tips);
void setWarning(QStringList list, int type);
+ void updateFontFamily(QString fontFamily);
private:
void initUi();
+private Q_SLOTS:
+ void onFontSizeChanged(double fontSize);
+
Q_SIGNALS:
void cancelButtonclicked();
void confirmButtonclicked();
diff --git a/src/widgets/fullbackgroundwidget.cpp b/src/widgets/fullbackgroundwidget.cpp
index b2f2eca..63c4183 100644
--- a/src/widgets/fullbackgroundwidget.cpp
+++ b/src/widgets/fullbackgroundwidget.cpp
@@ -551,7 +551,11 @@ void FullBackgroundWidget::showEvent(QShowEvent *event)
{
if (QX11Info::isPlatformX11())
tryGrabKeyboard();
- QTimer::singleShot(10, this, [=]() { KWindowSystem::setType(this->winId(), NET::ScreenLock); });
+ QTimer::singleShot(10, this, [=](){
+ KWindowSystem::setType(this->winId(), NET::ScreenLock);
+ m_lockWidget->updateFont();
+ m_lockWidget->updateFontSize();
+ });
}
void FullBackgroundWidget::keyReleaseEvent(QKeyEvent *e)
diff --git a/src/widgets/klabel.cpp b/src/widgets/klabel.cpp
index 9f986c3..925fc3d 100644
--- a/src/widgets/klabel.cpp
+++ b/src/widgets/klabel.cpp
@@ -40,6 +40,12 @@ void KLabel::setFontSize(int fontSize)
this->setFont(sysFont);
}
+void KLabel::setFontFamily(QString &family)
+{
+ sysFont.setFamily(family);
+ this->setFont(sysFont);
+}
+
void KLabel::setTipText(const QString &strText)
{
m_strText = strText;
diff --git a/src/widgets/klabel.h b/src/widgets/klabel.h
index a2724f9..2e0d862 100644
--- a/src/widgets/klabel.h
+++ b/src/widgets/klabel.h
@@ -33,6 +33,7 @@ public:
void setTipText(const QString &);
void clear();
QString text() const;
+ void setFontFamily(QString &family);
public Q_SLOTS:
void setText(const QString &);
diff --git a/src/widgets/lockwidget.cpp b/src/widgets/lockwidget.cpp
index 5abed05..c9289fb 100644
--- a/src/widgets/lockwidget.cpp
+++ b/src/widgets/lockwidget.cpp
@@ -280,6 +280,8 @@ void LockWidget::initUI()
authDialog = new AuthDialog(m_modelLockDialog, m_curUserInfo, this);
authDialog->installEventFilter(this);
+ m_ptToPx = m_modelLockDialog->getPtToPx();
+ m_curFontSize = m_modelLockDialog->getCurFontSize();
initTimeWidget();
initPowerWidget();
initButtonWidget();
@@ -295,6 +297,8 @@ void LockWidget::initConnections()
connect(m_modelLockDialog, &LockDialogModel::currentSessionChanged, this, &LockWidget::onSessionChanged);
connect(m_modelLockDialog, &LockDialogModel::sessionActiveChanged, this, &LockWidget::onSessionActiveChanged);
connect(m_modelLockDialog, &LockDialogModel::tabletModeChanged, this, &LockWidget::onTabletModeChanged);
+ connect(m_modelLockDialog, &LockDialogModel::fontChanged, this, &LockWidget::onFontChanged);
+ connect(m_modelLockDialog, &LockDialogModel::fontSizeChanged, this, &LockWidget::onFontSizeChanged);
if (authDialog) {
connect(authDialog, SIGNAL(authSucceed(QString)), this, SIGNAL(authSucceed(QString)));
connect(authDialog, &AuthDialog::userChangedByManual,
@@ -1110,6 +1114,16 @@ void LockWidget::onTabletModeChanged(bool tabletMode)
onShowVirtualKeyboard(tabletMode);
}
+void LockWidget::onFontChanged(QString font)
+{
+ m_curFont = font;
+}
+
+void LockWidget::onFontSizeChanged(double fontSize)
+{
+ m_curFontSize = fontSize;
+}
+
void LockWidget::SwitchToUser(QString strUserName)
{
if(m_modelLockDialog) {
@@ -1228,3 +1242,50 @@ void LockWidget::drawRootBackground()
{
drawBackground(true);
}
+
+void LockWidget::updateFont()
+{
+ if (authDialog) {
+ authDialog->updateAuthFont(m_curFont);
+ }
+ if (m_timeWidget) {
+ m_timeWidget->updateTimeFont(m_curFont);
+ }
+ if (m_powerListWidget) {
+ QListitemList = this->findChildren();
+ for (int i = 0; i < itemList.count(); i++) {
+ itemList.at(i)->setFontFamily(m_curFont);
+ }
+ }
+ if (m_userListWidget) {
+ QListitemList = this->findChildren();
+ for (int i = 0; i < itemList.count(); i++) {
+ itemList.at(i)->setFontFamily(m_curFont);
+ }
+ }
+ if (m_blockWidget) {
+ m_blockWidget->updateFontFamily(m_curFont);
+ }
+}
+
+void LockWidget::updateFontSize()
+{
+ if (authDialog) {
+ authDialog->updateAuthFontSize(m_curFontSize);
+ }
+ if (m_timeWidget) {
+ m_timeWidget->updateTimeFontSize(m_curFontSize);
+ }
+ if (m_powerListWidget) {
+ QListitemList = this->findChildren();
+ for (int i = 0; i < itemList.count(); i++) {
+ itemList.at(i)->setFontSize((16 + m_curFontSize) * m_ptToPx);
+ }
+ }
+ if (m_userListWidget) {
+ QListitemList = this->findChildren();
+ for (int i = 0; i < itemList.count(); i++) {
+ itemList.at(i)->setFontSize((14 + m_curFontSize) * m_ptToPx);
+ }
+ }
+}
diff --git a/src/widgets/lockwidget.h b/src/widgets/lockwidget.h
index 9b718d3..500e156 100644
--- a/src/widgets/lockwidget.h
+++ b/src/widgets/lockwidget.h
@@ -54,6 +54,8 @@ public:
void startAuth();
void reloadRootBackground();
void drawRootBackground();
+ void updateFont();
+ void updateFontSize();
protected:
void paintEvent(QPaintEvent *event);
@@ -150,6 +152,10 @@ private Q_SLOTS:
void onTabletModeChanged(bool tabletMode);
+ void onFontChanged(QString font);
+
+ void onFontSizeChanged(double fontSize);
+
Q_SIGNALS:
void authSucceed(QString strUserName);
@@ -222,6 +228,9 @@ private:
QList> m_screenRectList;
bool m_isTabletMode = false;
+ QString m_curFont;
+ double m_curFontSize;
+ double m_ptToPx = 1.0;
};
#endif // LOCKWIDGET_H
diff --git a/src/widgets/loginoptionswidget.cpp b/src/widgets/loginoptionswidget.cpp
index a57fcc6..ededc71 100644
--- a/src/widgets/loginoptionswidget.cpp
+++ b/src/widgets/loginoptionswidget.cpp
@@ -1032,6 +1032,20 @@ LoginAuthInterface* LoginOptionsWidget::getCustomLoginAuth()
return dynamic_cast(PluginsLoader::instance().findModulesByType(LoginPluginInterface::MODULETYPE_AUTH).values().first());
}
+void LoginOptionsWidget::updateLoginOptionFont(QString fontFamily)
+{
+ if (m_labelOptTitle) {
+ m_labelOptTitle->setFontFamily(fontFamily);
+ }
+}
+
+void LoginOptionsWidget::updateLoginOptionFontSize(double fontSize)
+{
+ if (m_labelOptTitle) {
+ m_labelOptTitle->setFontSize(fontSize);
+ }
+}
+
QString LoginOptionsWidget::getDeviceType_tr(int deviceType)
{
switch(deviceType)
diff --git a/src/widgets/loginoptionswidget.h b/src/widgets/loginoptionswidget.h
index efb2898..694e5fa 100644
--- a/src/widgets/loginoptionswidget.h
+++ b/src/widgets/loginoptionswidget.h
@@ -92,6 +92,10 @@ public:
LoginAuthInterface* getCustomLoginAuth();
+ void updateLoginOptionFont(QString fontFamily);
+
+ void updateLoginOptionFontSize(double fontSize);
+
public slots:
void readDevicesInfo();
void onIdentifyComplete(QDBusPendingCallWatcher *watcher);
diff --git a/src/widgets/poweritemwidget.cpp b/src/widgets/poweritemwidget.cpp
index 05a9116..583c9d1 100644
--- a/src/widgets/poweritemwidget.cpp
+++ b/src/widgets/poweritemwidget.cpp
@@ -26,7 +26,7 @@ PowerItemWidget::PowerItemWidget(QWidget *parent)
{
itemFace = new StatusButton(this, POWERBUTTON);
itemFace->setFixedSize(130, 130);
- textLabel = new QLabel(this);
+ textLabel = new KLabel(this);
textLabel->setAlignment(Qt::AlignCenter);
textLabel->setStyleSheet("color: white");
QVBoxLayout *itemlayout = new QVBoxLayout(this);
@@ -71,3 +71,20 @@ void PowerItemWidget::setSelected(int status)
{
itemFace->setClickedStatus(status);
}
+
+void PowerItemWidget::setFontFamily(QString fontFamily)
+{
+ textLabel->setFontFamily(fontFamily);
+}
+
+void PowerItemWidget::setFontSize(double fontSize)
+{
+ textLabel->setFontSize(fontSize);
+}
+
+
+
+
+
+
+
diff --git a/src/widgets/poweritemwidget.h b/src/widgets/poweritemwidget.h
index e858ed7..028746e 100644
--- a/src/widgets/poweritemwidget.h
+++ b/src/widgets/poweritemwidget.h
@@ -19,7 +19,7 @@
#define POWERITEMWIDGET_H
#include
-#include
+#include "klabel.h"
class StatusButton;
@@ -40,6 +40,9 @@ public:
*/
void setSelected(int status);
+ void setFontFamily(QString fontFamily);
+
+ void setFontSize(double fontSize);
protected:
bool eventFilter(QObject *obj, QEvent *event);
@@ -52,7 +55,7 @@ Q_SIGNALS:
private:
StatusButton *itemFace = nullptr;
- QLabel *textLabel = nullptr;
+ KLabel *textLabel = nullptr;
};
#endif // POWERITEMWIDGET_H
diff --git a/src/widgets/powerlistwidget.cpp b/src/widgets/powerlistwidget.cpp
index 606c020..ccec649 100644
--- a/src/widgets/powerlistwidget.cpp
+++ b/src/widgets/powerlistwidget.cpp
@@ -57,6 +57,9 @@ void PowerListWidget::initUI()
setStyleSheet(powerListStyle);
setFixedSize(QSize(BTN_ITEM_SIZE_WIDTH * sizeof(powerBtnList) / sizeof(powerBtnList[0]) + 1, BTN_ITEM_SIZE_HEIGHT));
// powerBtnList[0].func = &PowerListWidget::setSystemSuspend1();
+
+ m_curFontSize = m_modelLockDialog->getCurFontSize();
+ m_ptToPx = m_modelLockDialog->getPtToPx();
onUpdateListInfo();
}
@@ -101,6 +104,7 @@ void PowerListWidget::onUpdateListInfo()
btnWdg->setToolTip(powerBtnList[i].m_strToolTip);
btnWdg->setIcon(
QIcon(powerBtnList[i].m_strIcon).pixmap(powerBtnList[i].m_icon_width, powerBtnList[i].m_icon_width));
+ btnWdg->setFontSize((16 + m_curFontSize) * m_ptToPx);
}
}
@@ -170,8 +174,7 @@ void PowerListWidget::refreshTranslate()
"can quickly wake up and revert to where you left off");
} else if (powerBtnList[i].setFuncName == "Reboot") {
powerBtnList[i].m_strName = tr("Restart");
- powerBtnList[i].m_strToolTip = tr("The computer stays on, but consumes less power. The app stays open and "
- "can quickly wake up and revert to where you left off");
+ powerBtnList[i].m_strToolTip = tr("Close all apps, and then restart your computer");
} else if (powerBtnList[i].setFuncName == "PowerOff") {
powerBtnList[i].m_strName = tr("Shut Down");
powerBtnList[i].m_strToolTip = tr("Close all apps, and then shut down your computer");
diff --git a/src/widgets/powerlistwidget.h b/src/widgets/powerlistwidget.h
index d0a9927..e4ed43e 100644
--- a/src/widgets/powerlistwidget.h
+++ b/src/widgets/powerlistwidget.h
@@ -152,6 +152,9 @@ private:
bool m_canReboot;
bool m_canShutDown;
+ double m_curFontSize;
+ double m_ptToPx = 1.0;
+
void initUI();
void initBtnShowFlag();
void initConnections();
diff --git a/src/widgets/timewidget.cpp b/src/widgets/timewidget.cpp
index f039dc6..bee908f 100644
--- a/src/widgets/timewidget.cpp
+++ b/src/widgets/timewidget.cpp
@@ -80,6 +80,26 @@ void TimeWidget::timerStop()
m_timer->stop();
}
+void TimeWidget::updateTimeFont(QString fontFamily)
+{
+ if (m_t_label) {
+ m_t_label->setFontFamily(fontFamily);
+ }
+ if (m_d_label) {
+ m_d_label->setFontFamily(fontFamily);
+ }
+}
+
+void TimeWidget::updateTimeFontSize(double fontSize)
+{
+ if (m_t_label) {
+ m_t_label->setFontSize((TIME_FONT_SIZE + fontSize)*m_ptToPx);
+ }
+ if (m_d_label) {
+ m_d_label->setFontSize((TIME_DATE_SIZE + fontSize)*m_ptToPx);
+ }
+}
+
QString TimeWidget::getLongFormatDate(int type)
{
kdk_logn_dateinfo *dateInfo = kdk_system_login_lock_dateinfo(getenv("USER"));
diff --git a/src/widgets/timewidget.h b/src/widgets/timewidget.h
index 2fba325..c95563a 100644
--- a/src/widgets/timewidget.h
+++ b/src/widgets/timewidget.h
@@ -49,6 +49,8 @@ public Q_SLOTS:
void update_datatime();
void timerStart();
void timerStop();
+ void updateTimeFont(QString fontFamily);
+ void updateTimeFontSize(double fontSize);
private:
diff --git a/src/widgets/useritemwidget.cpp b/src/widgets/useritemwidget.cpp
index 2c6554a..47d20d7 100644
--- a/src/widgets/useritemwidget.cpp
+++ b/src/widgets/useritemwidget.cpp
@@ -25,6 +25,7 @@
#include
#include
#include "commonfunc.h"
+#include "klabel.h"
UserItemWidget::UserItemWidget(QWidget *parent) :
QWidget(parent)
@@ -59,7 +60,7 @@ void UserItemWidget::init()
layout->setContentsMargins(8, 4, 8, 4);
layout->setSpacing(4);
m_labelHeadImg = new QLabel(this);
- m_labelNickName = new QLabel(this);
+ m_labelNickName = new KLabel(this);
m_labelNickName->setFixedSize(364, 32);
layout->addWidget(m_labelHeadImg);
layout->addWidget(m_labelNickName);
@@ -110,3 +111,22 @@ void UserItemWidget::setUserStatus(bool status)
m_labelLoggedIn->setPixmap(status);
}
}
+
+void UserItemWidget::setFontFamily(QString fontFamily)
+{
+ m_labelNickName->setFontFamily(fontFamily);
+}
+
+void UserItemWidget::setFontSize(double fontSize)
+{
+ m_labelNickName->setFontSize(fontSize);
+}
+
+
+
+
+
+
+
+
+
diff --git a/src/widgets/useritemwidget.h b/src/widgets/useritemwidget.h
index 25a140f..cf7c373 100644
--- a/src/widgets/useritemwidget.h
+++ b/src/widgets/useritemwidget.h
@@ -24,6 +24,7 @@
class userLabel;
class QLabel;
class QPixmap;
+class KLabel;
class UserItemWidget : public QWidget
{
@@ -59,6 +60,11 @@ public:
void setUserNickName(QString strNickName);
inline QString userNickName() { return m_strNickName; }
+
+ void setFontFamily(QString fontFamily);
+
+ void setFontSize(double fontSize);
+
protected:
bool eventFilter(QObject *obj, QEvent *event);
virtual void paintEvent(QPaintEvent * event);
@@ -79,7 +85,7 @@ Q_SIGNALS:
private:
QLabel *m_labelHeadImg = nullptr;
- QLabel* m_labelNickName = nullptr;
+ KLabel* m_labelNickName = nullptr;
QLabel* m_labelLoggedIn = nullptr;
QString m_strUserName;
QString m_strNickName;
diff --git a/src/widgets/userlistwidget.cpp b/src/widgets/userlistwidget.cpp
index c849e9a..03da2ca 100644
--- a/src/widgets/userlistwidget.cpp
+++ b/src/widgets/userlistwidget.cpp
@@ -38,6 +38,8 @@ void UserListWidget::initUI()
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
verticalScrollBar()->setProperty("drawScrollBarGroove", false);
+ m_curFontSize = m_modelLockDialog->getCurFontSize();
+ m_ptToPx = m_modelLockDialog->getPtToPx();
onUpdateListInfo();
}
@@ -71,6 +73,7 @@ void UserListWidget::onUpdateListInfo()
setCurrentItem(userItem, QItemSelectionModel::SelectionFlag::SelectCurrent);
}
itemWidget->setUserName(user->name());
+ itemWidget->setFontSize((14 + m_curFontSize) * m_ptToPx);
setItemWidget(userItem, itemWidget);
}
updateWidgetSize();
diff --git a/src/widgets/userlistwidget.h b/src/widgets/userlistwidget.h
index d4f12d1..9e3ce4b 100644
--- a/src/widgets/userlistwidget.h
+++ b/src/widgets/userlistwidget.h
@@ -51,6 +51,8 @@ private:
private:
LockDialogModel *m_modelLockDialog = nullptr;
+ double m_curFontSize;
+ double m_ptToPx = 1.0;
};
#endif // USERLISTWIDGET_H