Compare commits

...

7 Commits
1.7.0 ... 1.7.1

Author SHA1 Message Date
874e861c64 update version 2024-03-14 10:01:56 +08:00
d420282dd8 update 2024-03-13 19:14:56 +08:00
099e966d9b update 2024-03-13 17:54:11 +08:00
e11f1a1232 update 2024-03-12 22:59:56 +08:00
80f8f5f01e update 2024-03-12 17:14:47 +08:00
cfb961408b update 2024-03-12 16:14:10 +08:00
3bfe4dd12c update 2024-03-12 12:19:14 +08:00
65 changed files with 1067 additions and 682 deletions

View File

@ -199,12 +199,13 @@
<file>qml/page/T_SplitLayout.qml</file>
<file>qml/window/FluentInitalizrWindow.qml</file>
<file>res/template/CMakeLists.txt.in</file>
<file>res/template/App.qml.in</file>
<file>res/template/logo.ico.in</file>
<file>res/template/main.cpp.in</file>
<file>res/template/main.qml.in</file>
<file>res/template/qml.qrc.in</file>
<file>res/template/en_US.ts.in</file>
<file>res/template/zh_CN.ts.in</file>
<file>res/template/src/App.qml.in</file>
<file>res/template/src/CMakeLists.txt.in</file>
<file>res/template/src/en_US.ts.in</file>
<file>res/template/src/logo.ico.in</file>
<file>res/template/src/main.cpp.in</file>
<file>res/template/src/main.qml.in</file>
<file>res/template/src/qml.qrc.in</file>
<file>res/template/src/zh_CN.ts.in</file>
</qresource>
</RCC>

View File

@ -634,128 +634,126 @@
<context>
<name>MainWindow</name>
<message>
<location filename="qml/window/MainWindow.qml" line="24"/>
<location filename="qml/window/MainWindow.qml" line="321"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="24"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="321"/>
<location filename="qml/window/MainWindow.qml" line="320"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="320"/>
<source>Dark Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="97"/>
<location filename="qml/window/MainWindow.qml" line="105"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="97"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="105"/>
<location filename="qml/window/MainWindow.qml" line="96"/>
<location filename="qml/window/MainWindow.qml" line="104"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="96"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="104"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="97"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="97"/>
<source>Are you sure you want to exit the program?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="98"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="98"/>
<source>Are you sure you want to exit the program?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="99"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="99"/>
<source>Minimize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="102"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="102"/>
<location filename="qml/window/MainWindow.qml" line="101"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="101"/>
<source>Friendly Reminder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="102"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="102"/>
<location filename="qml/window/MainWindow.qml" line="101"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="101"/>
<source>FluentUI is hidden from the tray, click on the tray to activate the window again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="106"/>
<location filename="qml/window/MainWindow.qml" line="350"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="106"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="350"/>
<location filename="qml/window/MainWindow.qml" line="105"/>
<location filename="qml/window/MainWindow.qml" line="349"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="105"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="349"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="117"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="117"/>
<location filename="qml/window/MainWindow.qml" line="116"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="116"/>
<source>Open in Separate Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="214"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="214"/>
<location filename="qml/window/MainWindow.qml" line="213"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="213"/>
<source>Click Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="224"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="224"/>
<location filename="qml/window/MainWindow.qml" line="223"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="223"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="314"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="314"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="315"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="315"/>
<source>Finish</source>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="316"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="316"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="317"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="317"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="321"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="321"/>
<location filename="qml/window/MainWindow.qml" line="320"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="320"/>
<source>Here you can switch to night mode.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="323"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="323"/>
<location filename="qml/window/MainWindow.qml" line="322"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="322"/>
<source>Hide Easter eggs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="323"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="323"/>
<location filename="qml/window/MainWindow.qml" line="322"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="322"/>
<source>Try a few more clicks!!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="346"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="346"/>
<source>Upgrade Tips</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="347"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="347"/>
<source>Upgrade Tips</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="348"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="348"/>
<source>FluentUI is currently up to date </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="348"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="348"/>
<location filename="qml/window/MainWindow.qml" line="347"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="347"/>
<source> -- The current app version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="348"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="348"/>
<location filename="qml/window/MainWindow.qml" line="347"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="347"/>
<source>
Now go and download the new version
@ -764,20 +762,20 @@ Updated content:
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="351"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="351"/>
<location filename="qml/window/MainWindow.qml" line="350"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="350"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="378"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="378"/>
<location filename="qml/window/MainWindow.qml" line="377"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="377"/>
<source>The current version is already the latest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="385"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="385"/>
<location filename="qml/window/MainWindow.qml" line="384"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="384"/>
<source>The network is abnormal</source>
<translation type="unfinished"></translation>
</message>
@ -1380,48 +1378,33 @@ Updated content:
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="27"/>
<location filename="qml/page/T_DatePicker.qml" line="61"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="27"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="61"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="56"/>
<source>Year</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="28"/>
<location filename="qml/page/T_DatePicker.qml" line="62"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="28"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="62"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="57"/>
<source>Month</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="29"/>
<location filename="qml/page/T_DatePicker.qml" line="63"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="29"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="63"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="58"/>
<source>Day</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="30"/>
<location filename="qml/page/T_DatePicker.qml" line="64"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="30"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="64"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="59"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="31"/>
<location filename="qml/page/T_DatePicker.qml" line="65"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="31"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="65"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="60"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="57"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="57"/>
<location filename="qml/page/T_DatePicker.qml" line="52"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="52"/>
<source>showYear=false</source>
<translation type="unfinished"></translation>
</message>
@ -1644,14 +1627,8 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Image.qml" line="27"/>
<location filename="qml-Qt6/page/T_Image.qml" line="27"/>
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Image.qml" line="30"/>
<location filename="qml-Qt6/page/T_Image.qml" line="30"/>
<location filename="qml/page/T_Image.qml" line="29"/>
<location filename="qml-Qt6/page/T_Image.qml" line="29"/>
<source>The image failed to load, please reload</source>
<translation type="unfinished"></translation>
</message>
@ -1706,12 +1683,6 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<source>InfoBar that needs to be turned off manually</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_InfoBar.qml" line="56"/>
<location filename="qml-Qt6/page/T_InfoBar.qml" line="56"/>
<source>Loading...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>T_LineChart</name>
@ -1945,26 +1916,6 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<source>Pagination</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Pagination.qml" line="24"/>
<location filename="qml/page/T_Pagination.qml" line="31"/>
<location filename="qml/page/T_Pagination.qml" line="38"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="24"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="31"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="38"/>
<source>&lt;Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Pagination.qml" line="25"/>
<location filename="qml/page/T_Pagination.qml" line="32"/>
<location filename="qml/page/T_Pagination.qml" line="39"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="25"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="32"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="39"/>
<source>Next&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>T_PieChart</name>
@ -2267,36 +2218,6 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<source>ShortcutPicker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="19"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="19"/>
<source>Activate the Shortcut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="20"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="20"/>
<source>Press the key combination to change the shortcut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="21"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="21"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="22"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="22"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="23"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="23"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>T_Slider</name>
@ -2766,80 +2687,62 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<context>
<name>T_Tour</name>
<message>
<location filename="qml/page/T_Tour.qml" line="14"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="14"/>
<source>Finish</source>
<location filename="qml/page/T_Tour.qml" line="15"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="15"/>
<source>Upload File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="15"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="15"/>
<source>Next</source>
<source>Put your files here.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="16"/>
<location filename="qml/page/T_Tour.qml" line="53"/>
<location filename="qml/page/T_Tour.qml" line="55"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="16"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="53"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="55"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="16"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="16"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="18"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="18"/>
<source>Upload File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="18"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="18"/>
<source>Put your files here.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="19"/>
<location filename="qml/page/T_Tour.qml" line="56"/>
<location filename="qml/page/T_Tour.qml" line="58"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="19"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="56"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="58"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="19"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="19"/>
<source>Save your changes.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="20"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="20"/>
<location filename="qml/page/T_Tour.qml" line="17"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="17"/>
<source>Other Actions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="20"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="20"/>
<location filename="qml/page/T_Tour.qml" line="17"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="17"/>
<source>Click to see other actions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="35"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="35"/>
<location filename="qml/page/T_Tour.qml" line="32"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="32"/>
<source>Begin Tour</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="49"/>
<location filename="qml/page/T_Tour.qml" line="51"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="49"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="51"/>
<location filename="qml/page/T_Tour.qml" line="46"/>
<location filename="qml/page/T_Tour.qml" line="48"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="46"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="48"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="65"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="65"/>
<location filename="qml/page/T_Tour.qml" line="62"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="62"/>
<source>More</source>
<translation type="unfinished"></translation>
</message>

View File

@ -634,128 +634,126 @@
<context>
<name>MainWindow</name>
<message>
<location filename="qml/window/MainWindow.qml" line="24"/>
<location filename="qml/window/MainWindow.qml" line="321"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="24"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="321"/>
<location filename="qml/window/MainWindow.qml" line="320"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="320"/>
<source>Dark Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="97"/>
<location filename="qml/window/MainWindow.qml" line="105"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="97"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="105"/>
<location filename="qml/window/MainWindow.qml" line="96"/>
<location filename="qml/window/MainWindow.qml" line="104"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="96"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="104"/>
<source>Quit</source>
<translation type="unfinished">退</translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="98"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="98"/>
<location filename="qml/window/MainWindow.qml" line="97"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="97"/>
<source>Are you sure you want to exit the program?</source>
<translation type="unfinished">退</translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="99"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="99"/>
<location filename="qml/window/MainWindow.qml" line="98"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="98"/>
<source>Minimize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="102"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="102"/>
<location filename="qml/window/MainWindow.qml" line="101"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="101"/>
<source>Friendly Reminder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="102"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="102"/>
<location filename="qml/window/MainWindow.qml" line="101"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="101"/>
<source>FluentUI is hidden from the tray, click on the tray to activate the window again</source>
<translation type="unfinished">FluentUI </translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="106"/>
<location filename="qml/window/MainWindow.qml" line="350"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="106"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="350"/>
<location filename="qml/window/MainWindow.qml" line="105"/>
<location filename="qml/window/MainWindow.qml" line="349"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="105"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="349"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="117"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="117"/>
<location filename="qml/window/MainWindow.qml" line="116"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="116"/>
<source>Open in Separate Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="214"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="214"/>
<location filename="qml/window/MainWindow.qml" line="213"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="213"/>
<source>Click Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="224"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="224"/>
<location filename="qml/window/MainWindow.qml" line="223"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="223"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="315"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="315"/>
<location filename="qml/window/MainWindow.qml" line="314"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="314"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="316"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="316"/>
<location filename="qml/window/MainWindow.qml" line="315"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="315"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="317"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="317"/>
<location filename="qml/window/MainWindow.qml" line="316"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="316"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="321"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="321"/>
<location filename="qml/window/MainWindow.qml" line="320"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="320"/>
<source>Here you can switch to night mode.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="323"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="323"/>
<location filename="qml/window/MainWindow.qml" line="322"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="322"/>
<source>Hide Easter eggs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="323"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="323"/>
<location filename="qml/window/MainWindow.qml" line="322"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="322"/>
<source>Try a few more clicks!!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="347"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="347"/>
<location filename="qml/window/MainWindow.qml" line="346"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="346"/>
<source>Upgrade Tips</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="348"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="348"/>
<location filename="qml/window/MainWindow.qml" line="347"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="347"/>
<source>FluentUI is currently up to date </source>
<translation type="unfinished">FluentUI </translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="348"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="348"/>
<location filename="qml/window/MainWindow.qml" line="347"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="347"/>
<source> -- The current app version</source>
<translation type="unfinished"> -- </translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="348"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="348"/>
<location filename="qml/window/MainWindow.qml" line="347"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="347"/>
<source>
Now go and download the new version
@ -768,20 +766,20 @@ Updated content:
</translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="351"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="351"/>
<location filename="qml/window/MainWindow.qml" line="350"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="350"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="378"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="378"/>
<location filename="qml/window/MainWindow.qml" line="377"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="377"/>
<source>The current version is already the latest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/window/MainWindow.qml" line="385"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="385"/>
<location filename="qml/window/MainWindow.qml" line="384"/>
<location filename="qml-Qt6/window/MainWindow.qml" line="384"/>
<source>The network is abnormal</source>
<translation type="unfinished"></translation>
</message>
@ -1384,48 +1382,33 @@ Updated content:
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="27"/>
<location filename="qml/page/T_DatePicker.qml" line="61"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="27"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="61"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="56"/>
<source>Year</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="28"/>
<location filename="qml/page/T_DatePicker.qml" line="62"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="28"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="62"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="57"/>
<source>Month</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="29"/>
<location filename="qml/page/T_DatePicker.qml" line="63"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="29"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="63"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="58"/>
<source>Day</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="30"/>
<location filename="qml/page/T_DatePicker.qml" line="64"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="30"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="64"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="59"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="31"/>
<location filename="qml/page/T_DatePicker.qml" line="65"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="31"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="65"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="60"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_DatePicker.qml" line="57"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="57"/>
<location filename="qml/page/T_DatePicker.qml" line="52"/>
<location filename="qml-Qt6/page/T_DatePicker.qml" line="52"/>
<source>showYear=false</source>
<translation type="unfinished"></translation>
</message>
@ -1656,14 +1639,12 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<translation type="unfinished">图像</translation>
</message>
<message>
<location filename="qml/page/T_Image.qml" line="27"/>
<location filename="qml-Qt6/page/T_Image.qml" line="27"/>
<source>Reload</source>
<translation type="unfinished">重新加载</translation>
<translation type="obsolete">重新加载</translation>
</message>
<message>
<location filename="qml/page/T_Image.qml" line="30"/>
<location filename="qml-Qt6/page/T_Image.qml" line="30"/>
<location filename="qml/page/T_Image.qml" line="29"/>
<location filename="qml-Qt6/page/T_Image.qml" line="29"/>
<source>The image failed to load, please reload</source>
<translation type="unfinished">图片加载失败,请重新加载</translation>
</message>
@ -1719,10 +1700,8 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<translation type="unfinished">需要手动关闭的信息栏</translation>
</message>
<message>
<location filename="qml/page/T_InfoBar.qml" line="56"/>
<location filename="qml-Qt6/page/T_InfoBar.qml" line="56"/>
<source>Loading...</source>
<translation type="unfinished">加载中...</translation>
<translation type="obsolete">加载中...</translation>
</message>
</context>
<context>
@ -1958,24 +1937,12 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<translation type="unfinished">分页</translation>
</message>
<message>
<location filename="qml/page/T_Pagination.qml" line="24"/>
<location filename="qml/page/T_Pagination.qml" line="31"/>
<location filename="qml/page/T_Pagination.qml" line="38"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="24"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="31"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="38"/>
<source>&lt;Previous</source>
<translation type="unfinished">&lt;上一页</translation>
<translation type="obsolete">&lt;上一页</translation>
</message>
<message>
<location filename="qml/page/T_Pagination.qml" line="25"/>
<location filename="qml/page/T_Pagination.qml" line="32"/>
<location filename="qml/page/T_Pagination.qml" line="39"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="25"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="32"/>
<location filename="qml-Qt6/page/T_Pagination.qml" line="39"/>
<source>Next&gt;</source>
<translation type="unfinished">下一页&gt;</translation>
<translation type="obsolete">下一页&gt;</translation>
</message>
</context>
<context>
@ -2282,34 +2249,24 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<translation type="unfinished">快捷键选择器</translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="19"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="19"/>
<source>Activate the Shortcut</source>
<translation type="unfinished">激活快捷键</translation>
<translation type="obsolete">激活快捷键</translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="20"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="20"/>
<source>Press the key combination to change the shortcut</source>
<translation type="unfinished">按下组合键以更改此快捷键</translation>
<translation type="obsolete">按下组合键以更改此快捷键</translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="21"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="21"/>
<source>Save</source>
<translation type="unfinished">保存</translation>
<translation type="obsolete">保存</translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="22"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="22"/>
<source>Cancel</source>
<translation type="unfinished">取消</translation>
<translation type="obsolete">取消</translation>
</message>
<message>
<location filename="qml/page/T_ShortcutPicker.qml" line="23"/>
<location filename="qml-Qt6/page/T_ShortcutPicker.qml" line="23"/>
<source>Reset</source>
<translation type="unfinished">重置</translation>
<translation type="obsolete">重置</translation>
</message>
</context>
<context>
@ -2780,80 +2737,74 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
<context>
<name>T_Tour</name>
<message>
<location filename="qml/page/T_Tour.qml" line="14"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="14"/>
<source>Finish</source>
<translation type="unfinished">完成</translation>
<translation type="obsolete">完成</translation>
</message>
<message>
<source>Next</source>
<translation type="obsolete">下一步</translation>
</message>
<message>
<source>Previous</source>
<translation type="obsolete">上一步</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="15"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="15"/>
<source>Next</source>
<translation type="unfinished">下一步</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="16"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="16"/>
<source>Previous</source>
<translation type="unfinished">上一步</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="18"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="18"/>
<source>Upload File</source>
<translation type="unfinished">上传文件</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="18"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="18"/>
<location filename="qml/page/T_Tour.qml" line="15"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="15"/>
<source>Put your files here.</source>
<translation type="unfinished">把你的文件放在这里</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="19"/>
<location filename="qml/page/T_Tour.qml" line="56"/>
<location filename="qml/page/T_Tour.qml" line="58"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="19"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="56"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="58"/>
<location filename="qml/page/T_Tour.qml" line="16"/>
<location filename="qml/page/T_Tour.qml" line="53"/>
<location filename="qml/page/T_Tour.qml" line="55"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="16"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="53"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="55"/>
<source>Save</source>
<translation type="unfinished">保存</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="19"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="19"/>
<location filename="qml/page/T_Tour.qml" line="16"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="16"/>
<source>Save your changes.</source>
<translation type="unfinished">保存更改</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="20"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="20"/>
<location filename="qml/page/T_Tour.qml" line="17"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="17"/>
<source>Other Actions</source>
<translation type="unfinished">其他操作</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="20"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="20"/>
<location filename="qml/page/T_Tour.qml" line="17"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="17"/>
<source>Click to see other actions.</source>
<translation type="unfinished">点击查看其他操作</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="35"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="35"/>
<location filename="qml/page/T_Tour.qml" line="32"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="32"/>
<source>Begin Tour</source>
<translation type="unfinished">开始游览</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="49"/>
<location filename="qml/page/T_Tour.qml" line="51"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="49"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="51"/>
<location filename="qml/page/T_Tour.qml" line="46"/>
<location filename="qml/page/T_Tour.qml" line="48"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="46"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="48"/>
<source>Upload</source>
<translation type="unfinished">上传</translation>
</message>
<message>
<location filename="qml/page/T_Tour.qml" line="65"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="65"/>
<location filename="qml/page/T_Tour.qml" line="62"/>
<location filename="qml-Qt6/page/T_Tour.qml" line="62"/>
<source>More</source>
<translation type="unfinished">更多</translation>
</message>

View File

@ -33,7 +33,7 @@ Item {
FluNetwork.setInterceptor(function(param){
param.addHeader("Token","000000000000000000000")
})
FluApp.init(app)
FluApp.init(app,Qt.locale(TranslateHelper.current))
FluApp.windowIcon = "qrc:/example/res/image/favicon.ico"
FluApp.useSystemAppBar = SettingsHelper.getUseSystemAppBar()
FluTheme.darkMode = SettingsHelper.getDarkMode()

View File

@ -24,11 +24,6 @@ FluScrollablePage{
}
FluDatePicker{
current: new Date()
yearText: qsTr("Year")
monthText: qsTr("Month")
dayText: qsTr("Day")
cancelText: qsTr("Cancel")
okText: qsTr("OK")
onAccepted: {
showSuccess(current.toLocaleDateString())
}

View File

@ -24,7 +24,6 @@ FluScrollablePage{
width: 384
height: 240
source: "https://gitee.com/zhu-zichu/zhu-zichu/raw/74f075efe2f8d3c3bb7ba3c2259e403450e4050b/image/banner_4.jpg"
errorButtonText: qsTr("Reload")
onStatusChanged:{
if(status === Image.Error){
showError(qsTr("The image failed to load, please reload"))

View File

@ -53,7 +53,7 @@ FluScrollablePage{
FluButton{
text:"Loading"
onClicked: {
showLoading(qsTr("Loading..."))
showLoading()
}
}
}

View File

@ -21,22 +21,16 @@ FluScrollablePage{
pageCurrent: 1
pageButtonCount: 5
itemCount: 5000
previousText: qsTr("<Previous")
nextText: qsTr("Next>")
}
FluPagination{
pageCurrent: 2
itemCount: 5000
pageButtonCount: 7
previousText: qsTr("<Previous")
nextText: qsTr("Next>")
}
FluPagination{
pageCurrent: 3
itemCount: 5000
pageButtonCount: 9
previousText: qsTr("<Previous")
nextText: qsTr("Next>")
}
}

View File

@ -16,11 +16,6 @@ FluScrollablePage{
paddings: 10
FluShortcutPicker{
anchors.verticalCenter: parent.verticalCenter
title: qsTr("Activate the Shortcut")
message: qsTr("Press the key combination to change the shortcut")
positiveText: qsTr("Save")
neutralText: qsTr("Cancel")
negativeText: qsTr("Reset")
}
}
CodeExpander{

View File

@ -35,7 +35,7 @@ FluScrollablePage{
height: 42
radius: 4
color: mouse_item.containsMouse ? Qt.lighter(modelData.normal,1.1) : modelData.normal
border.color: modelData.darkest
border.color: modelData.darker
FluIcon {
anchors.centerIn: parent
iconSource: FluentIcons.AcceptMedium

View File

@ -11,9 +11,6 @@ FluScrollablePage{
FluTour{
id:tour
finishText: qsTr("Finish")
nextText: qsTr("Next")
previousText: qsTr("Previous")
steps:[
{title:qsTr("Upload File"),description: qsTr("Put your files here."),target:()=>btn_upload},
{title:qsTr("Save"),description: qsTr("Save your changes."),target:()=>btn_save},

View File

@ -21,7 +21,6 @@ FluWindow {
fitsAppBarWindows: true
appBar: FluAppBar {
height: 30
darkText: qsTr("Dark Mode")
showDark: true
darkClickListener:(button)=>handleDarkChanged(button)
closeClickListener: ()=>{dialog_close.open()}

View File

@ -33,7 +33,7 @@ Item {
FluNetwork.setInterceptor(function(param){
param.addHeader("Token","000000000000000000000")
})
FluApp.init(app)
FluApp.init(app,Qt.locale(TranslateHelper.current))
FluApp.windowIcon = "qrc:/example/res/image/favicon.ico"
FluApp.useSystemAppBar = SettingsHelper.getUseSystemAppBar()
FluTheme.darkMode = SettingsHelper.getDarkMode()

View File

@ -24,11 +24,6 @@ FluScrollablePage{
}
FluDatePicker{
current: new Date()
yearText: qsTr("Year")
monthText: qsTr("Month")
dayText: qsTr("Day")
cancelText: qsTr("Cancel")
okText: qsTr("OK")
onAccepted: {
showSuccess(current.toLocaleDateString())
}
@ -58,11 +53,6 @@ FluScrollablePage{
}
FluDatePicker{
showYear: false
yearText: qsTr("Year")
monthText: qsTr("Month")
dayText: qsTr("Day")
cancelText: qsTr("Cancel")
okText: qsTr("OK")
onAccepted: {
showSuccess(current.toLocaleDateString())
}

View File

@ -24,7 +24,6 @@ FluScrollablePage{
width: 384
height: 240
source: "https://gitee.com/zhu-zichu/zhu-zichu/raw/74f075efe2f8d3c3bb7ba3c2259e403450e4050b/image/banner_4.jpg"
errorButtonText: qsTr("Reload")
onStatusChanged:{
if(status === Image.Error){
showError(qsTr("The image failed to load, please reload"))

View File

@ -53,7 +53,7 @@ FluScrollablePage{
FluButton{
text:"Loading"
onClicked: {
showLoading(qsTr("Loading..."))
showLoading()
}
}
}

View File

@ -21,22 +21,16 @@ FluScrollablePage{
pageCurrent: 1
pageButtonCount: 5
itemCount: 5000
previousText: qsTr("<Previous")
nextText: qsTr("Next>")
}
FluPagination{
pageCurrent: 2
itemCount: 5000
pageButtonCount: 7
previousText: qsTr("<Previous")
nextText: qsTr("Next>")
}
FluPagination{
pageCurrent: 3
itemCount: 5000
pageButtonCount: 9
previousText: qsTr("<Previous")
nextText: qsTr("Next>")
}
}

View File

@ -16,11 +16,6 @@ FluScrollablePage{
paddings: 10
FluShortcutPicker{
anchors.verticalCenter: parent.verticalCenter
title: qsTr("Activate the Shortcut")
message: qsTr("Press the key combination to change the shortcut")
positiveText: qsTr("Save")
neutralText: qsTr("Cancel")
negativeText: qsTr("Reset")
}
}
CodeExpander{

View File

@ -35,7 +35,7 @@ FluScrollablePage{
height: 42
radius: 4
color: mouse_item.containsMouse ? Qt.lighter(modelData.normal,1.1) : modelData.normal
border.color: modelData.darkest
border.color: modelData.darker
FluIcon {
anchors.centerIn: parent
iconSource: FluentIcons.AcceptMedium

View File

@ -11,9 +11,6 @@ FluScrollablePage{
FluTour{
id:tour
finishText: qsTr("Finish")
nextText: qsTr("Next")
previousText: qsTr("Previous")
steps:[
{title:qsTr("Upload File"),description: qsTr("Put your files here."),target:()=>btn_upload},
{title:qsTr("Save"),description: qsTr("Save your changes."),target:()=>btn_save},

View File

@ -21,7 +21,6 @@ FluWindow {
fitsAppBarWindows: true
appBar: FluAppBar {
height: 30
darkText: qsTr("Dark Mode")
showDark: true
darkClickListener:(button)=>handleDarkChanged(button)
closeClickListener: ()=>{dialog_close.open()}

View File

@ -1,90 +1,9 @@
cmake_minimum_required(VERSION 3.20)
project(%1 VERSION 0.1 LANGUAGES CXX)
project(%1 VERSION 1.0)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(APPLICATION_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/debug)
else()
set(APPLICATION_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/release)
endif()
if(APPLE)
set(APPLICATION_REAL_PATH ${APPLICATION_OUTPUT_DIRECTORY}/${PROJECT_NAME}.app/Contents/MacOS)
else()
set(APPLICATION_REAL_PATH ${APPLICATION_OUTPUT_DIRECTORY})
endif()
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Quick)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Quick)
find_program(QT_LUPDATE NAMES lupdate)
find_program(QT_LRELEASE NAMES lrelease)
if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_en_US.qm)
execute_process(COMMAND ${QT_LUPDATE} ${CMAKE_CURRENT_LIST_DIR} -ts ${PROJECT_NAME}_en_US.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
execute_process(COMMAND ${QT_LRELEASE} ${PROJECT_NAME}_en_US.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
endif ()
if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_zh_CN.qm)
execute_process(COMMAND ${QT_LUPDATE} ${CMAKE_CURRENT_LIST_DIR} -ts ${PROJECT_NAME}_zh_CN.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
execute_process(COMMAND ${QT_LRELEASE} ${PROJECT_NAME}_zh_CN.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
endif ()
file(GLOB QM_FILE_PATHS ${CMAKE_CURRENT_LIST_DIR}/ *.qm)
file(COPY ${QM_FILE_PATHS} DESTINATION ${APPLICATION_REAL_PATH}/i18n)
set(PROJECT_SOURCES
main.cpp
qml.qrc
)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(${PROJECT_NAME}
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)
else()
add_executable(${PROJECT_NAME}
${PROJECT_SOURCES}
)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${APPLICATION_OUTPUT_DIRECTORY}"
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${APPLICATION_OUTPUT_DIRECTORY}"
)
target_link_libraries(${PROJECT_NAME} PRIVATE
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Quick
fluentuiplugin
)
if(${QT_VERSION} VERSION_LESS 6.1.0)
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.${PROJECT_NAME})
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
${BUNDLE_ID_OPTION}
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core)
add_subdirectory(FluentUI)
include(GNUInstallDirs)
install(TARGETS ${PROJECT_NAME}
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
if(QT_VERSION_MAJOR EQUAL 6)
qt_import_qml_plugins(${PROJECT_NAME})
qt_finalize_executable(${PROJECT_NAME})
endif()
add_subdirectory(src)

View File

@ -0,0 +1,88 @@
cmake_minimum_required(VERSION 3.20)
project(%1 VERSION 0.1 LANGUAGES CXX)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(APPLICATION_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/debug)
else()
set(APPLICATION_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/release)
endif()
if(APPLE)
set(APPLICATION_REAL_PATH ${APPLICATION_OUTPUT_DIRECTORY}/${PROJECT_NAME}.app/Contents/MacOS)
else()
set(APPLICATION_REAL_PATH ${APPLICATION_OUTPUT_DIRECTORY})
endif()
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Quick)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Quick)
find_program(QT_LUPDATE NAMES lupdate)
find_program(QT_LRELEASE NAMES lrelease)
if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_en_US.qm)
execute_process(COMMAND ${QT_LUPDATE} ${CMAKE_CURRENT_LIST_DIR} -ts ${PROJECT_NAME}_en_US.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
execute_process(COMMAND ${QT_LRELEASE} ${PROJECT_NAME}_en_US.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
endif ()
if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_zh_CN.qm)
execute_process(COMMAND ${QT_LUPDATE} ${CMAKE_CURRENT_LIST_DIR} -ts ${PROJECT_NAME}_zh_CN.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
execute_process(COMMAND ${QT_LRELEASE} ${PROJECT_NAME}_zh_CN.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
endif ()
file(GLOB QM_FILE_PATHS ${CMAKE_CURRENT_LIST_DIR}/ *.qm)
file(COPY ${QM_FILE_PATHS} DESTINATION ${APPLICATION_REAL_PATH}/i18n)
set(PROJECT_SOURCES
main.cpp
qml.qrc
)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(${PROJECT_NAME}
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)
else()
add_executable(${PROJECT_NAME}
${PROJECT_SOURCES}
)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${APPLICATION_OUTPUT_DIRECTORY}"
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${APPLICATION_OUTPUT_DIRECTORY}"
)
target_link_libraries(${PROJECT_NAME} PRIVATE
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Quick
fluentuiplugin
)
if(${QT_VERSION} VERSION_LESS 6.1.0)
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.${PROJECT_NAME})
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
${BUNDLE_ID_OPTION}
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
include(GNUInstallDirs)
install(TARGETS ${PROJECT_NAME}
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
if(QT_VERSION_MAJOR EQUAL 6)
qt_import_qml_plugins(${PROJECT_NAME})
qt_finalize_executable(${PROJECT_NAME})
endif()

View File

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View File

@ -50,6 +50,10 @@ void InitalizrHelper::templateToFile(const QString& source,const QString& dest,A
QTextStream in(&file);
QString content = in.readAll().arg(std::forward<Args>(args)...);
file.close();
QDir outputDir = QFileInfo(dest).absoluteDir();
if(!outputDir.exists()){
outputDir.mkpath(outputDir.absolutePath());
}
QFile outputFile(dest);
if (outputFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream out(&outputFile);
@ -92,12 +96,13 @@ void InitalizrHelper::generate(const QString& name,const QString& path){
QDir fluentDir(projectDir.filePath("FluentUI"));
copyDir(QDir(QGuiApplication::applicationDirPath()+"/source"),fluentDir);
templateToFile(":/example/res/template/CMakeLists.txt.in",projectDir.filePath("CMakeLists.txt"),name);
templateToFile(":/example/res/template/main.cpp.in",projectDir.filePath("main.cpp"),name);
templateToFile(":/example/res/template/main.qml.in",projectDir.filePath("main.qml"),name);
templateToFile(":/example/res/template/en_US.ts.in",projectDir.filePath(name+"_en_US.ts"),name);
templateToFile(":/example/res/template/zh_CN.ts.in",projectDir.filePath(name+"_zh_CN.ts"),name);
copyFile(":/example/res/template/App.qml.in",projectDir.filePath("App.qml"));
copyFile(":/example/res/template/qml.qrc.in",projectDir.filePath("qml.qrc"));
copyFile(":/example/res/template/logo.ico.in",projectDir.filePath("logo.ico"));
templateToFile(":/example/res/template/src/CMakeLists.txt.in",projectDir.filePath("src/CMakeLists.txt"),name);
templateToFile(":/example/res/template/src/main.cpp.in",projectDir.filePath("src/main.cpp"),name);
templateToFile(":/example/res/template/src/main.qml.in",projectDir.filePath("src/main.qml"),name);
templateToFile(":/example/res/template/src/en_US.ts.in",projectDir.filePath("src/"+name+"_en_US.ts"),name);
templateToFile(":/example/res/template/src/zh_CN.ts.in",projectDir.filePath("src/"+name+"_zh_CN.ts"),name);
copyFile(":/example/res/template/src/App.qml.in",projectDir.filePath("src/App.qml"));
copyFile(":/example/res/template/src/qml.qrc.in",projectDir.filePath("src/qml.qrc"));
copyFile(":/example/res/template/src/logo.ico.in",projectDir.filePath("src/logo.ico"));
return this->success(projectPath);
}

View File

@ -13,7 +13,7 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#设置版本号
add_definitions(-DFLUENTUI_VERSION=1,7,0,0)
add_definitions(-DFLUENTUI_VERSION=1,7,1,0)
if (FLUENTUI_BUILD_STATIC_LIB)
add_definitions(-DFLUENTUI_BUILD_STATIC_LIB)
@ -43,6 +43,21 @@ else()
set(CMAKE_AUTOUIC ON)
endif()
#国际化
find_program(QT_LUPDATE NAMES lupdate)
find_program(QT_LRELEASE NAMES lrelease)
if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_en_US.qm)
execute_process(COMMAND ${QT_LUPDATE} ${CMAKE_CURRENT_LIST_DIR} -ts ${PROJECT_NAME}_en_US.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
execute_process(COMMAND ${QT_LRELEASE} ${PROJECT_NAME}_en_US.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
endif ()
if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}_zh_CN.qm)
execute_process(COMMAND ${QT_LUPDATE} ${CMAKE_CURRENT_LIST_DIR} -ts ${PROJECT_NAME}_zh_CN.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
execute_process(COMMAND ${QT_LRELEASE} ${PROJECT_NAME}_zh_CN.ts WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
endif ()
file(GLOB QM_FILE_PATHS ${CMAKE_CURRENT_LIST_DIR}/ *.qm)
file(COPY ${QM_FILE_PATHS} DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/Qt${QT_VERSION_MAJOR}/imports/FluentUI/i18n")
#遍历所有Cpp文件
file(GLOB_RECURSE CPP_FILES *.cpp *.h)
foreach(filepath ${CPP_FILES})
@ -67,7 +82,7 @@ if(QT_VERSION VERSION_GREATER_EQUAL "6.2")
endforeach(filepath)
#遍历所有资源文件
file(GLOB_RECURSE RES_PATHS *.png *.jpg *.svg *.ico *.ttf *.webp *.js)
file(GLOB_RECURSE RES_PATHS *.png *.jpg *.svg *.ico *.ttf *.webp *.js *.qm)
foreach(filepath ${RES_PATHS})
if(${filepath} MATCHES "Qt${QT_VERSION_MAJOR}/")
string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" filename ${filepath})

View File

@ -8,6 +8,7 @@
#include <QUuid>
#include <QFontDatabase>
#include <QClipboard>
#include <QTranslator>
FluApp::FluApp(QObject *parent):QObject{parent}{
useSystemAppBar(false);
@ -16,8 +17,18 @@ FluApp::FluApp(QObject *parent):QObject{parent}{
FluApp::~FluApp(){
}
void FluApp::init(QObject *target){
void FluApp::init(QObject *target,QLocale locale){
_engine = qmlEngine(target);
_translator = new QTranslator(this);
qApp->installTranslator(_translator);
const QStringList uiLanguages = locale.uiLanguages();
for (const QString &name : uiLanguages) {
const QString baseName = "fluentuiplugin_" + QLocale(name).name();
if (_translator->load(":/qt/qml/FluentUI/i18n/"+ baseName)) {
_engine->retranslate();
break;
}
}
}
void FluApp::run(){

View File

@ -8,6 +8,7 @@
#include <QQmlContext>
#include <QJsonObject>
#include <QQmlEngine>
#include <QTranslator>
#include "FluWindowRegister.h"
#include "stdafx.h"
#include "singleton.h"
@ -32,7 +33,7 @@ public:
static FluApp *create(QQmlEngine *qmlEngine, QJSEngine *jsEngine){return getInstance();}
Q_INVOKABLE void run();
Q_INVOKABLE void navigate(const QString& route,const QJsonObject& argument = {},FluWindowRegister* windowRegister = nullptr);
Q_INVOKABLE void init(QObject *target);
Q_INVOKABLE void init(QObject *target,QLocale locale = QLocale::system());
Q_INVOKABLE void exit(int retCode = 0);
Q_INVOKABLE QVariant createWindowRegister(QQuickWindow* window,const QString& path);
void addWindow(QQuickWindow* window);
@ -40,6 +41,7 @@ public:
private:
QMap<quint64, QQuickWindow*> _windows;
QQmlEngine *_engine;
QTranslator* _translator = nullptr;
};
#endif // FLUAPP_H

View File

@ -167,10 +167,21 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *
return true;
}else if(uMsg == WM_GETMINMAXINFO){
MINMAXINFO* minmaxInfo = reinterpret_cast<MINMAXINFO *>(lParam);
#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
minmaxInfo->ptMaxPosition.x = 0;
minmaxInfo->ptMaxPosition.y = 0;
minmaxInfo->ptMaxSize.x = 0;
minmaxInfo->ptMaxSize.y = 0;
#else
auto pixelRatio = _helper->window->devicePixelRatio();
auto geometry = _helper->window->screen()->availableGeometry();
RECT rect;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
minmaxInfo->ptMaxPosition.x = rect.left - offsetXY.x();
minmaxInfo->ptMaxPosition.y = rect.top - offsetXY.x();
minmaxInfo->ptMaxSize.x = geometry.width()*pixelRatio + offsetXY.x() * 2;
minmaxInfo->ptMaxSize.y = geometry.height()*pixelRatio + offsetXY.y() * 2;
#endif
return false;
}else if(uMsg == WM_NCRBUTTONDOWN){
if (wParam == HTCAPTION) {

View File

@ -37,9 +37,9 @@ void FluTheme::refreshColors(){
fontSecondaryColor(isDark ? QColor(222,222,222,255) : QColor(102,102,102,255));
fontTertiaryColor(isDark ? QColor(200,200,200,255) : QColor(153,153,153,255));
itemNormalColor(isDark ? QColor(255,255,255,0) : QColor(0,0,0,0));
itemHoverColor(isDark ? QColor(255,255,255,255*0.03) : QColor(0,0,0,255*0.03));
itemPressColor(isDark ? QColor(255,255,255,255*0.06) : QColor(0,0,0,255*0.06));
itemCheckColor(isDark ? QColor(255,255,255,255*0.09) : QColor(0,0,0,255*0.09));
itemHoverColor(isDark ? QColor(255,255,255,255*0.06) : QColor(0,0,0,255*0.03));
itemPressColor(isDark ? QColor(255,255,255,255*0.09) : QColor(0,0,0,255*0.06));
itemCheckColor(isDark ? QColor(255,255,255,255*0.12) : QColor(0,0,0,255*0.09));
}
bool FluTheme::eventFilter(QObject *obj, QEvent *event){

View File

@ -241,6 +241,6 @@ bool FluTools::isWindows10OrGreater(){
}
}
int FluTools::getTaskBarHeight(QQuickWindow* window){
return window->screen()->geometry().height() - window->screen()->availableGeometry().height();
QRect FluTools::desktopAvailableGeometry(QQuickWindow* window){
return window->screen()->availableGeometry();
}

View File

@ -55,7 +55,7 @@ public:
Q_INVOKABLE int windowBuildNumber();
Q_INVOKABLE bool isWindows11OrGreater();
Q_INVOKABLE bool isWindows10OrGreater();
Q_INVOKABLE int getTaskBarHeight(QQuickWindow* window);
Q_INVOKABLE QRect desktopAvailableGeometry(QQuickWindow* window);
};
#endif // FLUTOOLS_H

View File

@ -6,13 +6,14 @@ import FluentUI 1.0
Rectangle{
property string title: ""
property string darkText : "夜间模式"
property string minimizeText : "最小化"
property string restoreText : "向下还原"
property string maximizeText : "最大化"
property string closeText : "关闭"
property string stayTopText : "置顶"
property string stayTopCancelText : "取消置顶"
property string darkText : qsTr("Dark")
property string lightText : qsTr("Light")
property string minimizeText : qsTr("Minimize")
property string restoreText : qsTr("Restore")
property string maximizeText : qsTr("Maximize")
property string closeText : qsTr("Close")
property string stayTopText : qsTr("Sticky on Top")
property string stayTopCancelText : qsTr("Sticky on Top cancelled")
property color textColor: FluTheme.dark ? "#FFFFFF" : "#000000"
property color minimizeNormalColor: FluTheme.itemNormalColor
property color minimizeHoverColor: FluTheme.itemHoverColor
@ -199,24 +200,33 @@ Rectangle{
Component.onCompleted: {
setHitTestVisible(layout_row)
}
FluToggleSwitch{
FluIconButton{
id:btn_dark
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
rightPadding: 2
iconSource: FluTheme.dark ? FluentIcons.Brightness : FluentIcons.QuietHours
Layout.alignment: Qt.AlignVCenter
Layout.rightMargin: 5
iconSize: 15
visible: showDark
text:darkText
textColor:control.textColor
checked: FluTheme.dark
textRight: false
clickListener:()=> darkClickListener(btn_dark)
text: FluTheme.dark ? control.lightText : control.darkText
radius: 0
iconColor:control.textColor
onClicked:()=> darkClickListener(btn_dark)
}
FluIconButton{
id:btn_stay_top
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
iconSource : FluentIcons.Pinned
Layout.alignment: Qt.AlignVCenter
iconSize: 13
iconSize: 14
visible: {
if(!(d.win instanceof FluWindow)){
return false
@ -232,6 +242,9 @@ Rectangle{
id:btn_minimize
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
iconSource : FluentIcons.ChromeMinimize
Layout.alignment: Qt.AlignVCenter
iconSize: 11
@ -251,6 +264,9 @@ Rectangle{
id:btn_maximize
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
iconSource : d.isRestore ? FluentIcons.ChromeRestore : FluentIcons.ChromeMaximize
color: {
if(down){
@ -271,11 +287,14 @@ Rectangle{
}
FluIconButton{
id:btn_close
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
iconSource : FluentIcons.ChromeClose
Layout.alignment: Qt.AlignVCenter
text:closeText
Layout.preferredWidth: 40
Layout.preferredHeight: 30
visible: !isMac && showClose
radius: 0
iconSize: 10

View File

@ -5,18 +5,46 @@ import FluentUI 1.0
FluTextBox{
property var items:[]
property string emptyText: "没有找到结果"
property string emptyText: qsTr("No results found")
property int autoSuggestBoxReplacement: FluentIcons.Search
property var filter: function(item){
if(item.title.indexOf(control.text)!==-1){
return true
}
return false
}
signal itemClicked(var data)
signal handleClicked
id:control
Component.onCompleted: {
loadData()
d.loadData()
}
Item{
id:d
property bool flagVisible: true
property var window : Window.window
function handleClick(modelData){
control_popup.visible = false
control.itemClicked(modelData)
d.updateText(modelData.title)
}
function updateText(text){
d.flagVisible = false
control.text = text
d.flagVisible = true
}
function loadData(){
var result = []
if(items==null){
list_view.model = result
return
}
items.map(function(item){
if(control.filter(item)){
result.push(item)
}
})
list_view.model = result
}
}
onActiveFocusChanged: {
if(!activeFocus){
@ -66,7 +94,7 @@ FluTextBox{
height: 38
width: control.width
onClicked:{
handleClick(modelData)
d.handleClick(modelData)
}
background: Rectangle{
FluFocusRectangle{
@ -96,40 +124,17 @@ FluTextBox{
}
}
onTextChanged: {
loadData()
d.loadData()
if(d.flagVisible){
var pos = control.mapToItem(null, 0, 0)
if(window.height>pos.y+control.height+container.implicitHeight){
if(d.window.height>pos.y+control.height+container.implicitHeight){
control_popup.y = control.height
} else if(pos.y>container.implicitHeight){
control_popup.y = -container.implicitHeight
} else {
control_popup.y = window.height-(pos.y+container.implicitHeight)
control_popup.y = d.window.height-(pos.y+container.implicitHeight)
}
control_popup.visible = true
}
}
function handleClick(modelData){
control_popup.visible = false
control.itemClicked(modelData)
updateText(modelData.title)
}
function updateText(text){
d.flagVisible = false
control.text = text
d.flagVisible = true
}
function loadData(){
var result = []
if(items==null){
list_view.model = result
return
}
items.map(function(item){
if(item.title.indexOf(control.text)!==-1){
result.push(item)
}
})
list_view.model = result
}
}

View File

@ -8,7 +8,7 @@ Rectangle {
property color dividerColor: FluTheme.dark ? Qt.rgba(77/255,77/255,77/255,1) : Qt.rgba(239/255,239/255,239/255,1)
property color hoverColor: FluTheme.dark ? Qt.rgba(68/255,68/255,68/255,1) : Qt.rgba(251/255,251/255,251/255,1)
property color normalColor: FluTheme.dark ? Qt.rgba(61/255,61/255,61/255,1) : Qt.rgba(254/255,254/255,254/255,1)
property string text: "请选择日期"
property string text: qsTr("Please select a date")
property var current
signal accepted()
id:control

View File

@ -8,9 +8,9 @@ FluPopup {
id: control
property string title: ""
property string message: ""
property string neutralText: "Close"
property string negativeText: "Cancel"
property string positiveText: "OK"
property string neutralText: qsTr("Close")
property string negativeText: qsTr("Cancel")
property string positiveText: qsTr("OK")
property int messageTextFormart: Text.AutoText
property int delayTime: 100
property int buttonFlags: FluContentDialogType.NegativeButton | FluContentDialogType.PositiveButton

View File

@ -10,11 +10,11 @@ Rectangle {
property color normalColor: FluTheme.dark ? Qt.rgba(61/255,61/255,61/255,1) : Qt.rgba(254/255,254/255,254/255,1)
property bool showYear: true
property var current
property string yearText: "年"
property string monthText: "月"
property string dayText: "日"
property string cancelText: "取消"
property string okText: "确定"
property string yearText: qsTr("Year")
property string monthText: qsTr("Month")
property string dayText: qsTr("Day")
property string cancelText: qsTr("Cancel")
property string okText: qsTr("OK")
signal accepted()
id:control
color: {

View File

@ -3,7 +3,7 @@ import QtQuick.Controls 2.15
import FluentUI 1.0
Image {
property string errorButtonText: "重新加载"
property string errorButtonText: qsTr("Reload")
property var clickErrorListener : function(){
image.source = ""
image.source = control.source

View File

@ -5,8 +5,8 @@ import FluentUI 1.0
Item {
signal requestPage(int page,int count)
property string previousText: "<上一页"
property string nextText: "下一页>"
property string previousText: qsTr("<Previous")
property string nextText: qsTr("Next>")
property int pageCurrent: 0
property int itemCount: 0
property int pageButtonCount: 5

View File

@ -5,11 +5,11 @@ import FluentUI 1.0
FluIconButton {
id:control
property var current : ["Ctrl","Shift","A"]
property string title: "激活快捷键"
property string message: "按下组合键以更改此快捷键"
property string positiveText: "保存"
property string neutralText: "取消"
property string negativeText: "重置"
property string title: qsTr("Activate the Shortcut")
property string message: qsTr("Press the key combination to change the shortcut")
property string positiveText: qsTr("Save")
property string neutralText: qsTr("Cancel")
property string negativeText: qsTr("Reset")
signal accepted()
QtObject{
id: d

View File

@ -3,10 +3,10 @@ import QtQuick.Controls 2.15
import FluentUI 1.0
FluMenu{
property string cutText : "剪切"
property string copyText : "复制"
property string pasteText : "粘贴"
property string selectAllText : "全选"
property string cutText : qsTr("Cut")
property string copyText : qsTr("Copy")
property string pasteText : qsTr("Paste")
property string selectAllText : qsTr("Select All")
property var inputItem
id:menu
enableAnimation: false

View File

@ -10,9 +10,9 @@ Popup{
property Component nextButton: com_next_button
property Component prevButton: com_prev_button
property int index : 0
property string finishText: "结束导览"
property string nextText: "下一步"
property string previousText: "上一步"
property string finishText: qsTr("Finish")
property string nextText: qsTr("Next")
property string previousText: qsTr("Previous")
id:control
padding: 0
parent: Overlay.overlay

View File

@ -237,13 +237,13 @@ Window {
clip: true
}
FluLoader{
property string loadingText: "加载中..."
property string loadingText
property bool cancel: false
id:loader_loading
anchors.fill: parent
}
FluInfoBar{
id:infoBar
id:info_bar
root: window
}
FluWindowLifecycle{
@ -268,7 +268,7 @@ Window {
function destoryOnClose(){
lifecycle.onDestoryOnClose()
}
function showLoading(text = "加载中...",cancel = true){
function showLoading(text = qsTr("Loading..."),cancel = true){
loader_loading.loadingText = text
loader_loading.cancel = cancel
loader_loading.sourceComponent = com_loading
@ -277,21 +277,21 @@ Window {
loader_loading.sourceComponent = undefined
}
function showSuccess(text,duration,moremsg){
infoBar.showSuccess(text,duration,moremsg)
info_bar.showSuccess(text,duration,moremsg)
}
function showInfo(text,duration,moremsg){
infoBar.showInfo(text,duration,moremsg)
info_bar.showInfo(text,duration,moremsg)
}
function showWarning(text,duration,moremsg){
infoBar.showWarning(text,duration,moremsg)
info_bar.showWarning(text,duration,moremsg)
}
function showError(text,duration,moremsg){
infoBar.showError(text,duration,moremsg)
info_bar.showError(text,duration,moremsg)
}
function moveWindowToDesktopCenter(){
screen = Qt.application.screens[FluTools.cursorScreenIndex()]
var taskBarHeight = FluTools.getTaskBarHeight(window)
window.setGeometry((Screen.width-window.width)/2+Screen.virtualX,(Screen.height-window.height-taskBarHeight)/2+Screen.virtualY,window.width,window.height)
var availableGeometry = FluTools.desktopAvailableGeometry(window)
window.setGeometry((availableGeometry.width-window.width)/2+Screen.virtualX,(availableGeometry.height-window.height)/2+Screen.virtualY,window.width,window.height)
}
function fixWindowSize(){
if(fixSize){

View File

@ -2322,6 +2322,7 @@ Module {
defaultProperty: "data"
Property { name: "title"; type: "string" }
Property { name: "darkText"; type: "string" }
Property { name: "lightText"; type: "string" }
Property { name: "minimizeText"; type: "string" }
Property { name: "restoreText"; type: "string" }
Property { name: "maximizeText"; type: "string" }
@ -2381,7 +2382,7 @@ Module {
}
Property {
name: "buttonDark"
type: "FluToggleSwitch_QMLTYPE_22"
type: "FluIconButton_QMLTYPE_17"
isReadonly: true
isPointer: true
}
@ -3052,15 +3053,15 @@ Module {
defaultProperty: "data"
Property { name: "logo"; type: "QUrl" }
Property { name: "title"; type: "string" }
Property { name: "items"; type: "FluObject_QMLTYPE_157"; isPointer: true }
Property { name: "footerItems"; type: "FluObject_QMLTYPE_157"; isPointer: true }
Property { name: "items"; type: "FluObject_QMLTYPE_129"; isPointer: true }
Property { name: "footerItems"; type: "FluObject_QMLTYPE_129"; isPointer: true }
Property { name: "displayMode"; type: "int" }
Property { name: "autoSuggestBox"; type: "QQmlComponent"; isPointer: true }
Property { name: "actionItem"; type: "QQmlComponent"; isPointer: true }
Property { name: "topPadding"; type: "int" }
Property { name: "pageMode"; type: "int" }
Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_47"; isPointer: true }
Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_47"; isPointer: true }
Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_31"; isPointer: true }
Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_31"; isPointer: true }
Property { name: "navCompactWidth"; type: "int" }
Property { name: "navTopMargin"; type: "int" }
Property { name: "cellHeight"; type: "int" }

View File

@ -3,12 +3,6 @@ classname FluentUIPlugin
designersupported
typeinfo plugins.qmltypes
ColorPicker 1.0 Controls/ColorPicker/ColorPicker.qml
Checkerboard 1.0 Controls/ColorPicker/Content/Checkerboard.qml
ColorSlider 1.0 Controls/ColorPicker/Content/ColorSlider.qml
NumberBox 1.0 Controls/ColorPicker/Content/NumberBox.qml
PanelBorder 1.0 Controls/ColorPicker/Content/PanelBorder.qml
SBPicker 1.0 Controls/ColorPicker/Content/SBPicker.qml
FluAcrylic 1.0 Controls/FluAcrylic.qml
FluAppBar 1.0 Controls/FluAppBar.qml
FluArea 1.0 Controls/FluArea.qml
@ -21,8 +15,8 @@ FluCalendarView 1.0 Controls/FluCalendarView.qml
FluCarousel 1.0 Controls/FluCarousel.qml
FluChart 1.0 Controls/FluChart.qml
FluCheckBox 1.0 Controls/FluCheckBox.qml
FluClip 1.0 Controls/FluClip.qml
FluColorPicker 1.0 Controls/FluColorPicker.qml
FluColorView 1.0 Controls/FluColorView.qml
FluComboBox 1.0 Controls/FluComboBox.qml
FluContentDialog 1.0 Controls/FluContentDialog.qml
FluContentPage 1.0 Controls/FluContentPage.qml
@ -38,8 +32,11 @@ FluFocusRectangle 1.0 Controls/FluFocusRectangle.qml
FluIcon 1.0 Controls/FluIcon.qml
FluIconButton 1.0 Controls/FluIconButton.qml
FluImage 1.0 Controls/FluImage.qml
FluImageButton 1.0 Controls/FluImageButton.qml
FluInfoBar 1.0 Controls/FluInfoBar.qml
FluItemDelegate 1.0 Controls/FluItemDelegate.qml
FluLoader 1.0 Controls/FluLoader.qml
FluLoadingButton 1.0 Controls/FluLoadingButton.qml
FluMenu 1.0 Controls/FluMenu.qml
FluMenuBar 1.0 Controls/FluMenuBar.qml
FluMenuBarItem 1.0 Controls/FluMenuBarItem.qml
@ -60,20 +57,24 @@ FluPivot 1.0 Controls/FluPivot.qml
FluPivotItem 1.0 Controls/FluPivotItem.qml
FluPopup 1.0 Controls/FluPopup.qml
FluProgressBar 1.0 Controls/FluProgressBar.qml
FluProgressButton 1.0 Controls/FluProgressButton.qml
FluProgressRing 1.0 Controls/FluProgressRing.qml
FluQRCode 1.0 Controls/FluQRCode.qml
FluRadioButton 1.0 Controls/FluRadioButton.qml
FluRadioButtons 1.0 Controls/FluRadioButtons.qml
FluRangeSlider 1.0 Controls/FluRangeSlider.qml
FluRatingControl 1.0 Controls/FluRatingControl.qml
FluRemoteLoader 1.0 Controls/FluRemoteLoader.qml
FluScreenshot 1.0 Controls/FluScreenshot.qml
FluScrollBar 1.0 Controls/FluScrollBar.qml
FluScrollIndicator 1.0 Controls/FluScrollIndicator.qml
FluScrollablePage 1.0 Controls/FluScrollablePage.qml
FluShadow 1.0 Controls/FluShadow.qml
FluShortcutPicker 1.0 Controls/FluShortcutPicker.qml
FluSlider 1.0 Controls/FluSlider.qml
FluSpinBox 1.0 Controls/FluSpinBox.qml
FluStatusView 1.0 Controls/FluStatusView.qml
FluSplitLayout 1.0 Controls/FluSplitLayout.qml
FluStaggeredLayout 1.0 Controls/FluStaggeredLayout.qml
FluStatusLayout 1.0 Controls/FluStatusLayout.qml
FluTabView 1.0 Controls/FluTabView.qml
FluTableView 1.0 Controls/FluTableView.qml
FluText 1.0 Controls/FluText.qml
@ -89,13 +90,5 @@ FluTooltip 1.0 Controls/FluTooltip.qml
FluTour 1.0 Controls/FluTour.qml
FluTreeView 1.0 Controls/FluTreeView.qml
FluWindow 1.0 Controls/FluWindow.qml
FluRangeSlider 1.0 Controls/FluRangeSlider.qml
FluStaggeredView 1.0 Controls/FluStaggeredView.qml
FluProgressButton 1.0 Controls/FluProgressButton.qml
FluLoadingButton 1.0 Controls/FluLoadingButton.qml
FluClip 1.0 Controls/FluClip.qml
FluLoader 1.0 Controls/FluLoader.qml
FluShortcutPicker 1.0 Controls/FluShortcutPicker.qml
FluSplitLayout 1.0 Controls/FluSplitLayout.qml
FluStaggeredLayout 1.0 Controls/FluStaggeredLayout.qml
plugin fluentuiplugin

View File

@ -99,5 +99,7 @@
<file>FluentUI/Image/btn_min_pushed.png</file>
<file>FluentUI/Controls/FluImageButton.qml</file>
<file>FluentUI/Controls/FluSplitLayout.qml</file>
<file>FluentUI/i18n/fluentuiplugin_en_US.qm</file>
<file>FluentUI/i18n/fluentuiplugin_zh_CN.qm</file>
</qresource>
</RCC>

View File

@ -6,13 +6,14 @@ import FluentUI
Rectangle{
property string title: ""
property string darkText : "夜间模式"
property string minimizeText : "最小化"
property string restoreText : "向下还原"
property string maximizeText : "最大化"
property string closeText : "关闭"
property string stayTopText : "置顶"
property string stayTopCancelText : "取消置顶"
property string darkText : qsTr("Dark")
property string lightText : qsTr("Light")
property string minimizeText : qsTr("Minimize")
property string restoreText : qsTr("Restore")
property string maximizeText : qsTr("Maximize")
property string closeText : qsTr("Close")
property string stayTopText : qsTr("Sticky on Top")
property string stayTopCancelText : qsTr("Sticky on Top cancelled")
property color textColor: FluTheme.dark ? "#FFFFFF" : "#000000"
property color minimizeNormalColor: FluTheme.itemNormalColor
property color minimizeHoverColor: FluTheme.itemHoverColor
@ -199,24 +200,33 @@ Rectangle{
Component.onCompleted: {
setHitTestVisible(layout_row)
}
FluToggleSwitch{
FluIconButton{
id:btn_dark
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
rightPadding: 2
iconSource: FluTheme.dark ? FluentIcons.Brightness : FluentIcons.QuietHours
Layout.alignment: Qt.AlignVCenter
Layout.rightMargin: 5
iconSize: 15
visible: showDark
text:darkText
textColor:control.textColor
checked: FluTheme.dark
textRight: false
clickListener:()=> darkClickListener(btn_dark)
text: FluTheme.dark ? control.lightText : control.darkText
radius: 0
iconColor:control.textColor
onClicked:()=> darkClickListener(btn_dark)
}
FluIconButton{
id:btn_stay_top
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
iconSource : FluentIcons.Pinned
Layout.alignment: Qt.AlignVCenter
iconSize: 13
iconSize: 14
visible: {
if(!(d.win instanceof FluWindow)){
return false
@ -232,6 +242,9 @@ Rectangle{
id:btn_minimize
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
iconSource : FluentIcons.ChromeMinimize
Layout.alignment: Qt.AlignVCenter
iconSize: 11
@ -251,6 +264,9 @@ Rectangle{
id:btn_maximize
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
iconSource : d.isRestore ? FluentIcons.ChromeRestore : FluentIcons.ChromeMaximize
color: {
if(down){
@ -271,11 +287,14 @@ Rectangle{
}
FluIconButton{
id:btn_close
Layout.preferredWidth: 40
Layout.preferredHeight: 30
padding: 0
verticalPadding: 0
horizontalPadding: 0
iconSource : FluentIcons.ChromeClose
Layout.alignment: Qt.AlignVCenter
text:closeText
Layout.preferredWidth: 40
Layout.preferredHeight: 30
visible: !isMac && showClose
radius: 0
iconSize: 10

View File

@ -4,18 +4,46 @@ import FluentUI
FluTextBox{
property var items:[]
property string emptyText: "没有找到结果"
property string emptyText: qsTr("No results found")
property int autoSuggestBoxReplacement: FluentIcons.Search
property var window : Window.window
property var filter: function(item){
if(item.title.indexOf(control.text)!==-1){
return true
}
return false
}
signal itemClicked(var data)
signal handleClicked
id:control
Component.onCompleted: {
loadData()
d.loadData()
}
QtObject{
Item{
id:d
property bool flagVisible: true
property var window : Window.window
function handleClick(modelData){
control_popup.visible = false
control.itemClicked(modelData)
d.updateText(modelData.title)
}
function updateText(text){
d.flagVisible = false
control.text = text
d.flagVisible = true
}
function loadData(){
var result = []
if(items==null){
list_view.model = result
return
}
items.map(function(item){
if(control.filter(item)){
result.push(item)
}
})
list_view.model = result
}
}
onActiveFocusChanged: {
if(!activeFocus){
@ -65,7 +93,7 @@ FluTextBox{
height: 38
width: control.width
onClicked:{
handleClick(modelData)
d.handleClick(modelData)
}
background: Rectangle{
FluFocusRectangle{
@ -95,40 +123,17 @@ FluTextBox{
}
}
onTextChanged: {
loadData()
d.loadData()
if(d.flagVisible){
var pos = control.mapToItem(null, 0, 0)
if(window.height>pos.y+control.height+container.implicitHeight){
if(d.window.height>pos.y+control.height+container.implicitHeight){
control_popup.y = control.height
} else if(pos.y>container.implicitHeight){
control_popup.y = -container.implicitHeight
} else {
control_popup.y = window.height-(pos.y+container.implicitHeight)
control_popup.y = d.window.height-(pos.y+container.implicitHeight)
}
control_popup.visible = true
}
}
function handleClick(modelData){
control_popup.visible = false
control.itemClicked(modelData)
updateText(modelData.title)
}
function updateText(text){
d.flagVisible = false
control.text = text
d.flagVisible = true
}
function loadData(){
var result = []
if(items==null){
list_view.model = result
return
}
items.map(function(item){
if(item.title.indexOf(control.text)!==-1){
result.push(item)
}
})
list_view.model = result
}
}

View File

@ -8,7 +8,7 @@ Rectangle {
property color dividerColor: FluTheme.dark ? Qt.rgba(77/255,77/255,77/255,1) : Qt.rgba(239/255,239/255,239/255,1)
property color hoverColor: FluTheme.dark ? Qt.rgba(68/255,68/255,68/255,1) : Qt.rgba(251/255,251/255,251/255,1)
property color normalColor: FluTheme.dark ? Qt.rgba(61/255,61/255,61/255,1) : Qt.rgba(254/255,254/255,254/255,1)
property string text: "请选择日期"
property string text: qsTr("Please select a date")
property var current
signal accepted()
id:control

View File

@ -8,9 +8,9 @@ FluPopup {
id: control
property string title: ""
property string message: ""
property string neutralText: "Close"
property string negativeText: "Cancel"
property string positiveText: "OK"
property string neutralText: qsTr("Close")
property string negativeText: qsTr("Cancel")
property string positiveText: qsTr("OK")
property int messageTextFormart: Text.AutoText
property int delayTime: 100
property int buttonFlags: FluContentDialogType.NegativeButton | FluContentDialogType.PositiveButton

View File

@ -10,11 +10,11 @@ Rectangle {
property color normalColor: FluTheme.dark ? Qt.rgba(61/255,61/255,61/255,1) : Qt.rgba(254/255,254/255,254/255,1)
property bool showYear: true
property var current
property string yearText: "年"
property string monthText: "月"
property string dayText: "日"
property string cancelText: "取消"
property string okText: "确定"
property string yearText: qsTr("Year")
property string monthText: qsTr("Month")
property string dayText: qsTr("Day")
property string cancelText: qsTr("Cancel")
property string okText: qsTr("OK")
signal accepted()
id:control
color: {

View File

@ -3,7 +3,7 @@ import QtQuick.Controls
import FluentUI
Image {
property string errorButtonText: "重新加载"
property string errorButtonText: qsTr("Reload")
property var clickErrorListener : function(){
image.source = ""
image.source = control.source

View File

@ -5,8 +5,8 @@ import FluentUI
Item {
signal requestPage(int page,int count)
property string previousText: "<上一页"
property string nextText: "下一页>"
property string previousText: qsTr("<Previous")
property string nextText: qsTr("Next>")
property int pageCurrent: 0
property int itemCount: 0
property int pageButtonCount: 5

View File

@ -5,11 +5,11 @@ import FluentUI
FluIconButton {
id:control
property var current : ["Ctrl","Shift","A"]
property string title: "激活快捷键"
property string message: "按下组合键以更改此快捷键"
property string positiveText: "保存"
property string neutralText: "取消"
property string negativeText: "重置"
property string title: qsTr("Activate the Shortcut")
property string message: qsTr("Press the key combination to change the shortcut")
property string positiveText: qsTr("Save")
property string neutralText: qsTr("Cancel")
property string negativeText: qsTr("Reset")
signal accepted()
QtObject{
id: d

View File

@ -3,10 +3,10 @@ import QtQuick.Controls
import FluentUI
FluMenu{
property string cutText : "剪切"
property string copyText : "复制"
property string pasteText : "粘贴"
property string selectAllText : "全选"
property string cutText : qsTr("Cut")
property string copyText : qsTr("Copy")
property string pasteText : qsTr("Paste")
property string selectAllText : qsTr("Select All")
property var inputItem
id:menu
enableAnimation: false

View File

@ -10,9 +10,9 @@ Popup{
property Component nextButton: com_next_button
property Component prevButton: com_prev_button
property int index : 0
property string finishText: "结束导览"
property string nextText: "下一步"
property string previousText: "上一步"
property string finishText: qsTr("Finish")
property string nextText: qsTr("Next")
property string previousText: qsTr("Previous")
id:control
padding: 0
parent: Overlay.overlay

View File

@ -236,13 +236,13 @@ Window {
clip: true
}
FluLoader{
property string loadingText: "加载中..."
property string loadingText
property bool cancel: false
id:loader_loading
anchors.fill: parent
}
FluInfoBar{
id:infoBar
id:info_bar
root: window
}
FluWindowLifecycle{
@ -267,7 +267,7 @@ Window {
function destoryOnClose(){
lifecycle.onDestoryOnClose()
}
function showLoading(text = "加载中...",cancel = true){
function showLoading(text = qsTr("Loading..."),cancel = true){
loader_loading.loadingText = text
loader_loading.cancel = cancel
loader_loading.sourceComponent = com_loading
@ -276,21 +276,21 @@ Window {
loader_loading.sourceComponent = undefined
}
function showSuccess(text,duration,moremsg){
infoBar.showSuccess(text,duration,moremsg)
info_bar.showSuccess(text,duration,moremsg)
}
function showInfo(text,duration,moremsg){
infoBar.showInfo(text,duration,moremsg)
info_bar.showInfo(text,duration,moremsg)
}
function showWarning(text,duration,moremsg){
infoBar.showWarning(text,duration,moremsg)
info_bar.showWarning(text,duration,moremsg)
}
function showError(text,duration,moremsg){
infoBar.showError(text,duration,moremsg)
info_bar.showError(text,duration,moremsg)
}
function moveWindowToDesktopCenter(){
screen = Qt.application.screens[FluTools.cursorScreenIndex()]
var taskBarHeight = FluTools.getTaskBarHeight(window)
window.setGeometry((Screen.width-window.width)/2+Screen.virtualX,(Screen.height-window.height-taskBarHeight)/2+Screen.virtualY,window.width,window.height)
var availableGeometry = FluTools.desktopAvailableGeometry(window)
window.setGeometry((availableGeometry.width-window.width)/2+Screen.virtualX,(availableGeometry.height-window.height)/2+Screen.virtualY,window.width,window.height)
}
function fixWindowSize(){
if(fixSize){

241
src/fluentuiplugin_en_US.ts Normal file
View File

@ -0,0 +1,241 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>FluAppBar</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="9"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="9"/>
<source>Dark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="10"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="10"/>
<source>Light</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="11"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="11"/>
<source>Minimize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="12"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="12"/>
<source>Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="13"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="13"/>
<source>Maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="14"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="14"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="15"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="15"/>
<source>Sticky on Top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="16"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="16"/>
<source>Sticky on Top cancelled</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluAutoSuggestBox</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAutoSuggestBox.qml" line="8"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAutoSuggestBox.qml" line="7"/>
<source>No results found</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluCalendarPicker</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluCalendarPicker.qml" line="11"/>
<location filename="Qt6/imports/FluentUI/Controls/FluCalendarPicker.qml" line="11"/>
<source>Please select a date</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluContentDialog</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluContentDialog.qml" line="11"/>
<location filename="Qt6/imports/FluentUI/Controls/FluContentDialog.qml" line="11"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluContentDialog.qml" line="12"/>
<location filename="Qt6/imports/FluentUI/Controls/FluContentDialog.qml" line="12"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluContentDialog.qml" line="13"/>
<location filename="Qt6/imports/FluentUI/Controls/FluContentDialog.qml" line="13"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluDatePicker</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="13"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="13"/>
<source>Year</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="14"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="14"/>
<source>Month</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="15"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="15"/>
<source>Day</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="16"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="16"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="17"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="17"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluImage</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluImage.qml" line="6"/>
<location filename="Qt6/imports/FluentUI/Controls/FluImage.qml" line="6"/>
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluPagination</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluPagination.qml" line="8"/>
<location filename="Qt6/imports/FluentUI/Controls/FluPagination.qml" line="8"/>
<source>&lt;Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluPagination.qml" line="9"/>
<location filename="Qt6/imports/FluentUI/Controls/FluPagination.qml" line="9"/>
<source>Next&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluShortcutPicker</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="8"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="8"/>
<source>Activate the Shortcut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="9"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="9"/>
<source>Press the key combination to change the shortcut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="10"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="10"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="11"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="11"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="12"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="12"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluTextBoxMenu</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="6"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="6"/>
<source>Cut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="7"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="7"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="8"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="8"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="9"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="9"/>
<source>Select All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluTour</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTour.qml" line="13"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTour.qml" line="13"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTour.qml" line="14"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTour.qml" line="14"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTour.qml" line="15"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTour.qml" line="15"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluWindow</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluWindow.qml" line="271"/>
<location filename="Qt6/imports/FluentUI/Controls/FluWindow.qml" line="270"/>
<source>Loading...</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

241
src/fluentuiplugin_zh_CN.ts Normal file
View File

@ -0,0 +1,241 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>FluAppBar</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="9"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="9"/>
<source>Dark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="10"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="10"/>
<source>Light</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="11"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="11"/>
<source>Minimize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="12"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="12"/>
<source>Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="13"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="13"/>
<source>Maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="14"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="14"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="15"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="15"/>
<source>Sticky on Top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAppBar.qml" line="16"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAppBar.qml" line="16"/>
<source>Sticky on Top cancelled</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluAutoSuggestBox</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluAutoSuggestBox.qml" line="8"/>
<location filename="Qt6/imports/FluentUI/Controls/FluAutoSuggestBox.qml" line="7"/>
<source>No results found</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluCalendarPicker</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluCalendarPicker.qml" line="11"/>
<location filename="Qt6/imports/FluentUI/Controls/FluCalendarPicker.qml" line="11"/>
<source>Please select a date</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluContentDialog</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluContentDialog.qml" line="11"/>
<location filename="Qt6/imports/FluentUI/Controls/FluContentDialog.qml" line="11"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluContentDialog.qml" line="12"/>
<location filename="Qt6/imports/FluentUI/Controls/FluContentDialog.qml" line="12"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluContentDialog.qml" line="13"/>
<location filename="Qt6/imports/FluentUI/Controls/FluContentDialog.qml" line="13"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluDatePicker</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="13"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="13"/>
<source>Year</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="14"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="14"/>
<source>Month</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="15"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="15"/>
<source>Day</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="16"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="16"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluDatePicker.qml" line="17"/>
<location filename="Qt6/imports/FluentUI/Controls/FluDatePicker.qml" line="17"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluImage</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluImage.qml" line="6"/>
<location filename="Qt6/imports/FluentUI/Controls/FluImage.qml" line="6"/>
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluPagination</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluPagination.qml" line="8"/>
<location filename="Qt6/imports/FluentUI/Controls/FluPagination.qml" line="8"/>
<source>&lt;Previous</source>
<translation type="unfinished">&lt;</translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluPagination.qml" line="9"/>
<location filename="Qt6/imports/FluentUI/Controls/FluPagination.qml" line="9"/>
<source>Next&gt;</source>
<translation type="unfinished">&gt;</translation>
</message>
</context>
<context>
<name>FluShortcutPicker</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="8"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="8"/>
<source>Activate the Shortcut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="9"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="9"/>
<source>Press the key combination to change the shortcut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="10"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="10"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="11"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="11"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluShortcutPicker.qml" line="12"/>
<location filename="Qt6/imports/FluentUI/Controls/FluShortcutPicker.qml" line="12"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluTextBoxMenu</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="6"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="6"/>
<source>Cut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="7"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="7"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="8"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="8"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="9"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTextBoxMenu.qml" line="9"/>
<source>Select All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluTour</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTour.qml" line="13"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTour.qml" line="13"/>
<source>Finish</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTour.qml" line="14"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTour.qml" line="14"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluTour.qml" line="15"/>
<location filename="Qt6/imports/FluentUI/Controls/FluTour.qml" line="15"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FluWindow</name>
<message>
<location filename="Qt5/imports/FluentUI/Controls/FluWindow.qml" line="271"/>
<location filename="Qt6/imports/FluentUI/Controls/FluWindow.qml" line="270"/>
<source>Loading...</source>
<translation type="unfinished">...</translation>
</message>
</context>
</TS>