mirror of
https://github.com/zhuzichu520/FluentUI.git
synced 2024-11-22 19:00:07 +08:00
update
This commit is contained in:
parent
b6c3f0eda9
commit
f616a2da6a
@ -535,104 +535,104 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="318"/>
|
<location filename="qml/window/MainWindow.qml" line="315"/>
|
||||||
<source>Dark Mode</source>
|
<source>Dark Mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="94"/>
|
<location filename="qml/window/MainWindow.qml" line="91"/>
|
||||||
<location filename="qml/window/MainWindow.qml" line="102"/>
|
<location filename="qml/window/MainWindow.qml" line="99"/>
|
||||||
<source>Quit</source>
|
<source>Quit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="95"/>
|
<location filename="qml/window/MainWindow.qml" line="92"/>
|
||||||
<source>Are you sure you want to exit the program?</source>
|
<source>Are you sure you want to exit the program?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="96"/>
|
<location filename="qml/window/MainWindow.qml" line="93"/>
|
||||||
<source>Minimize</source>
|
<source>Minimize</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="99"/>
|
<location filename="qml/window/MainWindow.qml" line="96"/>
|
||||||
<source>Friendly Reminder</source>
|
<source>Friendly Reminder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="99"/>
|
<location filename="qml/window/MainWindow.qml" line="96"/>
|
||||||
<source>FluentUI is hidden from the tray, click on the tray to activate the window again</source>
|
<source>FluentUI is hidden from the tray, click on the tray to activate the window again</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="103"/>
|
<location filename="qml/window/MainWindow.qml" line="100"/>
|
||||||
<location filename="qml/window/MainWindow.qml" line="347"/>
|
<location filename="qml/window/MainWindow.qml" line="344"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="114"/>
|
<location filename="qml/window/MainWindow.qml" line="111"/>
|
||||||
<source>Open in Separate Window</source>
|
<source>Open in Separate Window</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="211"/>
|
<location filename="qml/window/MainWindow.qml" line="208"/>
|
||||||
<source>Click Time</source>
|
<source>Click Time</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="221"/>
|
<location filename="qml/window/MainWindow.qml" line="218"/>
|
||||||
<source>Search</source>
|
<source>Search</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="312"/>
|
<location filename="qml/window/MainWindow.qml" line="309"/>
|
||||||
<source>Finish</source>
|
<source>Finish</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="313"/>
|
<location filename="qml/window/MainWindow.qml" line="310"/>
|
||||||
<source>Next</source>
|
<source>Next</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="314"/>
|
<location filename="qml/window/MainWindow.qml" line="311"/>
|
||||||
<source>Previous</source>
|
<source>Previous</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="318"/>
|
<location filename="qml/window/MainWindow.qml" line="315"/>
|
||||||
<source>Here you can switch to night mode.</source>
|
<source>Here you can switch to night mode.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="320"/>
|
<location filename="qml/window/MainWindow.qml" line="317"/>
|
||||||
<source>Hide Easter eggs</source>
|
<source>Hide Easter eggs</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="320"/>
|
<location filename="qml/window/MainWindow.qml" line="317"/>
|
||||||
<source>Try a few more clicks!!</source>
|
<source>Try a few more clicks!!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="344"/>
|
<location filename="qml/window/MainWindow.qml" line="341"/>
|
||||||
<source>Upgrade Tips</source>
|
<source>Upgrade Tips</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="345"/>
|
<location filename="qml/window/MainWindow.qml" line="342"/>
|
||||||
<source>FluentUI is currently up to date </source>
|
<source>FluentUI is currently up to date </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="345"/>
|
<location filename="qml/window/MainWindow.qml" line="342"/>
|
||||||
<source> -- The current app version</source>
|
<source> -- The current app version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="345"/>
|
<location filename="qml/window/MainWindow.qml" line="342"/>
|
||||||
<source>
|
<source>
|
||||||
Now go and download the new version?
|
Now go and download the new version?
|
||||||
|
|
||||||
@ -641,17 +641,17 @@ Updated content:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="348"/>
|
<location filename="qml/window/MainWindow.qml" line="345"/>
|
||||||
<source>OK</source>
|
<source>OK</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="375"/>
|
<location filename="qml/window/MainWindow.qml" line="372"/>
|
||||||
<source>The current version is already the latest</source>
|
<source>The current version is already the latest</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="382"/>
|
<location filename="qml/window/MainWindow.qml" line="379"/>
|
||||||
<source>The network is abnormal</source>
|
<source>The network is abnormal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1741,92 +1741,92 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="38"/>
|
<location filename="qml/page/T_Settings.qml" line="29"/>
|
||||||
<source>Current Version</source>
|
<source>Current Version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="44"/>
|
<location filename="qml/page/T_Settings.qml" line="35"/>
|
||||||
<source>Check for Updates</source>
|
<source>Check for Updates</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="60"/>
|
<location filename="qml/page/T_Settings.qml" line="51"/>
|
||||||
<source>Use System AppBar</source>
|
<source>Use System AppBar</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="76"/>
|
<location filename="qml/page/T_Settings.qml" line="67"/>
|
||||||
<source>Fits AppBar Windows</source>
|
<source>Fits AppBar Windows</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="87"/>
|
<location filename="qml/page/T_Settings.qml" line="78"/>
|
||||||
<source>Friendly Reminder</source>
|
<source>Friendly Reminder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="88"/>
|
<location filename="qml/page/T_Settings.qml" line="79"/>
|
||||||
<source>This action requires a restart of the program to take effect, is it restarted?</source>
|
<source>This action requires a restart of the program to take effect, is it restarted?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="90"/>
|
<location filename="qml/page/T_Settings.qml" line="81"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="91"/>
|
<location filename="qml/page/T_Settings.qml" line="82"/>
|
||||||
<source>OK</source>
|
<source>OK</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="110"/>
|
<location filename="qml/page/T_Settings.qml" line="101"/>
|
||||||
<source>Dark Mode</source>
|
<source>Dark Mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="115"/>
|
<location filename="qml/page/T_Settings.qml" line="106"/>
|
||||||
<source>System</source>
|
<source>System</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="115"/>
|
<location filename="qml/page/T_Settings.qml" line="106"/>
|
||||||
<source>Light</source>
|
<source>Light</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="115"/>
|
<location filename="qml/page/T_Settings.qml" line="106"/>
|
||||||
<source>Dark</source>
|
<source>Dark</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="140"/>
|
<location filename="qml/page/T_Settings.qml" line="131"/>
|
||||||
<source>Navigation View Display Mode</source>
|
<source>Navigation View Display Mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="145"/>
|
<location filename="qml/page/T_Settings.qml" line="136"/>
|
||||||
<source>Open</source>
|
<source>Open</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="145"/>
|
<location filename="qml/page/T_Settings.qml" line="136"/>
|
||||||
<source>Compact</source>
|
<source>Compact</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="145"/>
|
<location filename="qml/page/T_Settings.qml" line="136"/>
|
||||||
<source>Minimal</source>
|
<source>Minimal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="145"/>
|
<location filename="qml/page/T_Settings.qml" line="136"/>
|
||||||
<source>Auto</source>
|
<source>Auto</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="180"/>
|
<location filename="qml/page/T_Settings.qml" line="171"/>
|
||||||
<source>Language</source>
|
<source>Language</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -535,104 +535,104 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="318"/>
|
<location filename="qml/window/MainWindow.qml" line="315"/>
|
||||||
<source>Dark Mode</source>
|
<source>Dark Mode</source>
|
||||||
<translation type="unfinished">夜间模式</translation>
|
<translation type="unfinished">夜间模式</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="94"/>
|
<location filename="qml/window/MainWindow.qml" line="91"/>
|
||||||
<location filename="qml/window/MainWindow.qml" line="102"/>
|
<location filename="qml/window/MainWindow.qml" line="99"/>
|
||||||
<source>Quit</source>
|
<source>Quit</source>
|
||||||
<translation type="unfinished">退出</translation>
|
<translation type="unfinished">退出</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="95"/>
|
<location filename="qml/window/MainWindow.qml" line="92"/>
|
||||||
<source>Are you sure you want to exit the program?</source>
|
<source>Are you sure you want to exit the program?</source>
|
||||||
<translation type="unfinished">您确定要退出程序吗</translation>
|
<translation type="unfinished">您确定要退出程序吗</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="96"/>
|
<location filename="qml/window/MainWindow.qml" line="93"/>
|
||||||
<source>Minimize</source>
|
<source>Minimize</source>
|
||||||
<translation type="unfinished">最小化</translation>
|
<translation type="unfinished">最小化</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="99"/>
|
<location filename="qml/window/MainWindow.qml" line="96"/>
|
||||||
<source>Friendly Reminder</source>
|
<source>Friendly Reminder</source>
|
||||||
<translation type="unfinished">友情提示</translation>
|
<translation type="unfinished">友情提示</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="99"/>
|
<location filename="qml/window/MainWindow.qml" line="96"/>
|
||||||
<source>FluentUI is hidden from the tray, click on the tray to activate the window again</source>
|
<source>FluentUI is hidden from the tray, click on the tray to activate the window again</source>
|
||||||
<translation type="unfinished">FluentUI 在托盘中处于隐藏状态,单击托盘以再次激活窗口</translation>
|
<translation type="unfinished">FluentUI 在托盘中处于隐藏状态,单击托盘以再次激活窗口</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="103"/>
|
<location filename="qml/window/MainWindow.qml" line="100"/>
|
||||||
<location filename="qml/window/MainWindow.qml" line="347"/>
|
<location filename="qml/window/MainWindow.qml" line="344"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation type="unfinished">取消</translation>
|
<translation type="unfinished">取消</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="114"/>
|
<location filename="qml/window/MainWindow.qml" line="111"/>
|
||||||
<source>Open in Separate Window</source>
|
<source>Open in Separate Window</source>
|
||||||
<translation type="unfinished">在独立窗口中打开</translation>
|
<translation type="unfinished">在独立窗口中打开</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="211"/>
|
<location filename="qml/window/MainWindow.qml" line="208"/>
|
||||||
<source>Click Time</source>
|
<source>Click Time</source>
|
||||||
<translation type="unfinished">点击次数</translation>
|
<translation type="unfinished">点击次数</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="221"/>
|
<location filename="qml/window/MainWindow.qml" line="218"/>
|
||||||
<source>Search</source>
|
<source>Search</source>
|
||||||
<translation type="unfinished">搜索</translation>
|
<translation type="unfinished">搜索</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="312"/>
|
<location filename="qml/window/MainWindow.qml" line="309"/>
|
||||||
<source>Finish</source>
|
<source>Finish</source>
|
||||||
<translation type="unfinished">完成</translation>
|
<translation type="unfinished">完成</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="313"/>
|
<location filename="qml/window/MainWindow.qml" line="310"/>
|
||||||
<source>Next</source>
|
<source>Next</source>
|
||||||
<translation type="unfinished">下一步</translation>
|
<translation type="unfinished">下一步</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="314"/>
|
<location filename="qml/window/MainWindow.qml" line="311"/>
|
||||||
<source>Previous</source>
|
<source>Previous</source>
|
||||||
<translation type="unfinished">上一步</translation>
|
<translation type="unfinished">上一步</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="318"/>
|
<location filename="qml/window/MainWindow.qml" line="315"/>
|
||||||
<source>Here you can switch to night mode.</source>
|
<source>Here you can switch to night mode.</source>
|
||||||
<translation type="unfinished">在这里,您可以切换到夜间模式。</translation>
|
<translation type="unfinished">在这里,您可以切换到夜间模式。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="320"/>
|
<location filename="qml/window/MainWindow.qml" line="317"/>
|
||||||
<source>Hide Easter eggs</source>
|
<source>Hide Easter eggs</source>
|
||||||
<translation type="unfinished">隐藏彩蛋</translation>
|
<translation type="unfinished">隐藏彩蛋</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="320"/>
|
<location filename="qml/window/MainWindow.qml" line="317"/>
|
||||||
<source>Try a few more clicks!!</source>
|
<source>Try a few more clicks!!</source>
|
||||||
<translation type="unfinished">再试几下!!</translation>
|
<translation type="unfinished">再试几下!!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="344"/>
|
<location filename="qml/window/MainWindow.qml" line="341"/>
|
||||||
<source>Upgrade Tips</source>
|
<source>Upgrade Tips</source>
|
||||||
<translation type="unfinished">升级提示</translation>
|
<translation type="unfinished">升级提示</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="345"/>
|
<location filename="qml/window/MainWindow.qml" line="342"/>
|
||||||
<source>FluentUI is currently up to date </source>
|
<source>FluentUI is currently up to date </source>
|
||||||
<translation type="unfinished">FluentUI 目前最新版本 </translation>
|
<translation type="unfinished">FluentUI 目前最新版本 </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="345"/>
|
<location filename="qml/window/MainWindow.qml" line="342"/>
|
||||||
<source> -- The current app version</source>
|
<source> -- The current app version</source>
|
||||||
<translation type="unfinished"> -- 当前应用版本</translation>
|
<translation type="unfinished"> -- 当前应用版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="345"/>
|
<location filename="qml/window/MainWindow.qml" line="342"/>
|
||||||
<source>
|
<source>
|
||||||
Now go and download the new version?
|
Now go and download the new version?
|
||||||
|
|
||||||
@ -645,17 +645,17 @@ Updated content:
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="348"/>
|
<location filename="qml/window/MainWindow.qml" line="345"/>
|
||||||
<source>OK</source>
|
<source>OK</source>
|
||||||
<translation type="unfinished">确定</translation>
|
<translation type="unfinished">确定</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="375"/>
|
<location filename="qml/window/MainWindow.qml" line="372"/>
|
||||||
<source>The current version is already the latest</source>
|
<source>The current version is already the latest</source>
|
||||||
<translation type="unfinished">当前版本已经是最新版本</translation>
|
<translation type="unfinished">当前版本已经是最新版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/window/MainWindow.qml" line="382"/>
|
<location filename="qml/window/MainWindow.qml" line="379"/>
|
||||||
<source>The network is abnormal</source>
|
<source>The network is abnormal</source>
|
||||||
<translation type="unfinished">网络异常</translation>
|
<translation type="unfinished">网络异常</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1790,92 +1790,92 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
|
|||||||
<translation type="unfinished">设置</translation>
|
<translation type="unfinished">设置</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="38"/>
|
<location filename="qml/page/T_Settings.qml" line="29"/>
|
||||||
<source>Current Version</source>
|
<source>Current Version</source>
|
||||||
<translation type="unfinished">当前版本</translation>
|
<translation type="unfinished">当前版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="44"/>
|
<location filename="qml/page/T_Settings.qml" line="35"/>
|
||||||
<source>Check for Updates</source>
|
<source>Check for Updates</source>
|
||||||
<translation type="unfinished">检查更新</translation>
|
<translation type="unfinished">检查更新</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="60"/>
|
<location filename="qml/page/T_Settings.qml" line="51"/>
|
||||||
<source>Use System AppBar</source>
|
<source>Use System AppBar</source>
|
||||||
<translation type="unfinished">使用系统应用栏</translation>
|
<translation type="unfinished">使用系统应用栏</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="76"/>
|
<location filename="qml/page/T_Settings.qml" line="67"/>
|
||||||
<source>Fits AppBar Windows</source>
|
<source>Fits AppBar Windows</source>
|
||||||
<translation type="unfinished">沉浸式应用栏</translation>
|
<translation type="unfinished">沉浸式应用栏</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="87"/>
|
<location filename="qml/page/T_Settings.qml" line="78"/>
|
||||||
<source>Friendly Reminder</source>
|
<source>Friendly Reminder</source>
|
||||||
<translation type="unfinished">友情提示</translation>
|
<translation type="unfinished">友情提示</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="88"/>
|
<location filename="qml/page/T_Settings.qml" line="79"/>
|
||||||
<source>This action requires a restart of the program to take effect, is it restarted?</source>
|
<source>This action requires a restart of the program to take effect, is it restarted?</source>
|
||||||
<translation type="unfinished">此操作需要重启程序才能生效,是否重新启动?</translation>
|
<translation type="unfinished">此操作需要重启程序才能生效,是否重新启动?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="90"/>
|
<location filename="qml/page/T_Settings.qml" line="81"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation type="unfinished">取消</translation>
|
<translation type="unfinished">取消</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="91"/>
|
<location filename="qml/page/T_Settings.qml" line="82"/>
|
||||||
<source>OK</source>
|
<source>OK</source>
|
||||||
<translation type="unfinished">确定</translation>
|
<translation type="unfinished">确定</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="110"/>
|
<location filename="qml/page/T_Settings.qml" line="101"/>
|
||||||
<source>Dark Mode</source>
|
<source>Dark Mode</source>
|
||||||
<translation type="unfinished">夜间模式</translation>
|
<translation type="unfinished">夜间模式</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="115"/>
|
<location filename="qml/page/T_Settings.qml" line="106"/>
|
||||||
<source>System</source>
|
<source>System</source>
|
||||||
<translation type="unfinished">跟随系统</translation>
|
<translation type="unfinished">跟随系统</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="115"/>
|
<location filename="qml/page/T_Settings.qml" line="106"/>
|
||||||
<source>Light</source>
|
<source>Light</source>
|
||||||
<translation type="unfinished">浅色</translation>
|
<translation type="unfinished">浅色</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="115"/>
|
<location filename="qml/page/T_Settings.qml" line="106"/>
|
||||||
<source>Dark</source>
|
<source>Dark</source>
|
||||||
<translation type="unfinished">深色</translation>
|
<translation type="unfinished">深色</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="140"/>
|
<location filename="qml/page/T_Settings.qml" line="131"/>
|
||||||
<source>Navigation View Display Mode</source>
|
<source>Navigation View Display Mode</source>
|
||||||
<translation type="unfinished">导航视图</translation>
|
<translation type="unfinished">导航视图</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="145"/>
|
<location filename="qml/page/T_Settings.qml" line="136"/>
|
||||||
<source>Open</source>
|
<source>Open</source>
|
||||||
<translation type="unfinished">开放</translation>
|
<translation type="unfinished">开放</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="145"/>
|
<location filename="qml/page/T_Settings.qml" line="136"/>
|
||||||
<source>Compact</source>
|
<source>Compact</source>
|
||||||
<translation type="unfinished">紧凑</translation>
|
<translation type="unfinished">紧凑</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="145"/>
|
<location filename="qml/page/T_Settings.qml" line="136"/>
|
||||||
<source>Minimal</source>
|
<source>Minimal</source>
|
||||||
<translation type="unfinished">极简</translation>
|
<translation type="unfinished">极简</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="145"/>
|
<location filename="qml/page/T_Settings.qml" line="136"/>
|
||||||
<source>Auto</source>
|
<source>Auto</source>
|
||||||
<translation type="unfinished">自动</translation>
|
<translation type="unfinished">自动</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/page/T_Settings.qml" line="180"/>
|
<location filename="qml/page/T_Settings.qml" line="171"/>
|
||||||
<source>Language</source>
|
<source>Language</source>
|
||||||
<translation type="unfinished">语言</translation>
|
<translation type="unfinished">语言</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -11,21 +11,12 @@ FluScrollablePage{
|
|||||||
title: qsTr("Settings")
|
title: qsTr("Settings")
|
||||||
|
|
||||||
FluEvent{
|
FluEvent{
|
||||||
id:event_checkupdate_finish
|
|
||||||
name: "checkUpdateFinish"
|
name: "checkUpdateFinish"
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
btn_checkupdate.loading = false
|
btn_checkupdate.loading = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
FluEventBus.registerEvent(event_checkupdate_finish)
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onDestruction: {
|
|
||||||
FluEventBus.unRegisterEvent(event_checkupdate_finish)
|
|
||||||
}
|
|
||||||
|
|
||||||
FluArea{
|
FluArea{
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.topMargin: 20
|
Layout.topMargin: 20
|
||||||
|
@ -29,7 +29,6 @@ FluWindow {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FluEvent{
|
FluEvent{
|
||||||
id:event_checkupdate
|
|
||||||
name: "checkUpdate"
|
name: "checkUpdate"
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
checkUpdate(false)
|
checkUpdate(false)
|
||||||
@ -50,11 +49,9 @@ FluWindow {
|
|||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
checkUpdate(true)
|
checkUpdate(true)
|
||||||
FluEventBus.registerEvent(event_checkupdate)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.onDestruction: {
|
Component.onDestruction: {
|
||||||
FluEventBus.unRegisterEvent(event_checkupdate)
|
|
||||||
FluRouter.exit()
|
FluRouter.exit()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,12 +4,12 @@ import QtQuick.Controls 2.15
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
import FluentUI 1.0
|
import FluentUI 1.0
|
||||||
|
|
||||||
Item {
|
FluLauncher {
|
||||||
id: app
|
id: app
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
FluApp.init(app)
|
FluApp.init(app)
|
||||||
FluApp.windowIcon = "qrc:/logo.ico"
|
FluApp.windowIcon = "qrc:/logo.ico"
|
||||||
FluApp.routes = {
|
FluRouter.routes = {
|
||||||
"/":"qrc:/main.qml",
|
"/":"qrc:/main.qml",
|
||||||
}
|
}
|
||||||
FluRouter.navigate("/")
|
FluRouter.navigate("/")
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
#include "FluEventBus.h"
|
|
||||||
|
|
||||||
FluEvent::FluEvent(QObject *parent):QObject{parent}{
|
|
||||||
}
|
|
||||||
|
|
||||||
FluEventBus::FluEventBus(QObject *parent):QObject{parent}{
|
|
||||||
}
|
|
||||||
|
|
||||||
void FluEventBus::registerEvent(FluEvent* event){
|
|
||||||
_eventData.append(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
void FluEventBus::unRegisterEvent(FluEvent* event){
|
|
||||||
_eventData.removeOne(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
void FluEventBus::post(const QString& name,const QMap<QString, QVariant>& data){
|
|
||||||
foreach (auto event, _eventData) {
|
|
||||||
if(event->name()==name){
|
|
||||||
Q_EMIT event->triggered(data);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
#ifndef FLUEVENTBUS_H
|
|
||||||
#define FLUEVENTBUS_H
|
|
||||||
|
|
||||||
#include <QObject>
|
|
||||||
#include <QtQml/qqml.h>
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include "singleton.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief The FluEvent class
|
|
||||||
*/
|
|
||||||
class FluEvent : public QObject{
|
|
||||||
Q_OBJECT
|
|
||||||
Q_PROPERTY_AUTO(QString,name);
|
|
||||||
QML_NAMED_ELEMENT(FluEvent)
|
|
||||||
public:
|
|
||||||
explicit FluEvent(QObject *parent = nullptr);
|
|
||||||
Q_SIGNAL void triggered(QMap<QString, QVariant> data);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief The FluEventBus class
|
|
||||||
*/
|
|
||||||
class FluEventBus : public QObject
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
QML_NAMED_ELEMENT(FluEventBus)
|
|
||||||
QML_SINGLETON
|
|
||||||
private:
|
|
||||||
explicit FluEventBus(QObject *parent = nullptr);
|
|
||||||
public:
|
|
||||||
SINGLETON(FluEventBus)
|
|
||||||
static FluEventBus *create(QQmlEngine *qmlEngine, QJSEngine *jsEngine){return getInstance();}
|
|
||||||
Q_INVOKABLE void registerEvent(FluEvent* event);
|
|
||||||
Q_INVOKABLE void unRegisterEvent(FluEvent* event);
|
|
||||||
Q_INVOKABLE void post(const QString& name,const QMap<QString, QVariant>& params = {});
|
|
||||||
private:
|
|
||||||
QList<FluEvent*> _eventData;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // FLUEVENTBUS_H
|
|
@ -39,12 +39,12 @@ static inline bool isCompositionEnabled(){
|
|||||||
|
|
||||||
FramelessEventFilter::FramelessEventFilter(FluFramelessHelper* helper){
|
FramelessEventFilter::FramelessEventFilter(FluFramelessHelper* helper){
|
||||||
_helper = helper;
|
_helper = helper;
|
||||||
_current = _helper->window->winId();
|
_current = _helper->window_->winId();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *message, QT_NATIVE_EVENT_RESULT_TYPE *result){
|
bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *message, QT_NATIVE_EVENT_RESULT_TYPE *result){
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
if ((eventType != qtNativeEventType()) || !message || _helper.isNull() || _helper->window.isNull()) {
|
if ((eventType != qtNativeEventType()) || !message || _helper.isNull() || _helper->window_.isNull()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const auto msg = static_cast<const MSG *>(message);
|
const auto msg = static_cast<const MSG *>(message);
|
||||||
@ -174,8 +174,8 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *
|
|||||||
minmaxInfo->ptMaxSize.x = 0;
|
minmaxInfo->ptMaxSize.x = 0;
|
||||||
minmaxInfo->ptMaxSize.y = 0;
|
minmaxInfo->ptMaxSize.y = 0;
|
||||||
#else
|
#else
|
||||||
auto pixelRatio = _helper->window->devicePixelRatio();
|
auto pixelRatio = _helper->window_->devicePixelRatio();
|
||||||
auto geometry = _helper->window->screen()->availableGeometry();
|
auto geometry = _helper->window_->screen()->availableGeometry();
|
||||||
RECT rect;
|
RECT rect;
|
||||||
SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
|
SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
|
||||||
minmaxInfo->ptMaxPosition.x = rect.left - offsetXY.x();
|
minmaxInfo->ptMaxPosition.x = rect.left - offsetXY.x();
|
||||||
@ -192,15 +192,15 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *
|
|||||||
const bool altPressed = ((wParam == VK_MENU) || (::GetKeyState(VK_MENU) < 0));
|
const bool altPressed = ((wParam == VK_MENU) || (::GetKeyState(VK_MENU) < 0));
|
||||||
const bool spacePressed = ((wParam == VK_SPACE) || (::GetKeyState(VK_SPACE) < 0));
|
const bool spacePressed = ((wParam == VK_SPACE) || (::GetKeyState(VK_SPACE) < 0));
|
||||||
if (altPressed && spacePressed) {
|
if (altPressed && spacePressed) {
|
||||||
auto pos = _helper->window->position();
|
auto pos = _helper->window_->position();
|
||||||
_helper->showSystemMenu(QPoint(pos.x(),pos.y()+_helper->getAppBarHeight()));
|
_helper->showSystemMenu(QPoint(pos.x(),pos.y()+_helper->getAppBarHeight()));
|
||||||
}
|
}
|
||||||
}else if(uMsg == WM_SYSCOMMAND){
|
}else if(uMsg == WM_SYSCOMMAND){
|
||||||
if(wParam == SC_MINIMIZE){
|
if(wParam == SC_MINIMIZE){
|
||||||
if(_helper->window->transientParent()){
|
if(_helper->window_->transientParent()){
|
||||||
_helper->window->transientParent()->showMinimized();
|
_helper->window_->transientParent()->showMinimized();
|
||||||
}else{
|
}else{
|
||||||
_helper->window->showMinimized();
|
_helper->window_->showMinimized();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -211,8 +211,8 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
FluFramelessHelper::FluFramelessHelper(QObject *parent)
|
FluFramelessHelper::FluFramelessHelper(QQuickItem *parent)
|
||||||
: QObject{parent}
|
: QQuickItem{parent}
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,36 +222,36 @@ void FluFramelessHelper::classBegin(){
|
|||||||
void FluFramelessHelper::_updateCursor(int edges){
|
void FluFramelessHelper::_updateCursor(int edges){
|
||||||
switch (edges) {
|
switch (edges) {
|
||||||
case 0:
|
case 0:
|
||||||
window->setCursor(Qt::ArrowCursor);
|
window_->setCursor(Qt::ArrowCursor);
|
||||||
break;
|
break;
|
||||||
case Qt::LeftEdge:
|
case Qt::LeftEdge:
|
||||||
case Qt::RightEdge:
|
case Qt::RightEdge:
|
||||||
window->setCursor(Qt::SizeHorCursor);
|
window_->setCursor(Qt::SizeHorCursor);
|
||||||
break;
|
break;
|
||||||
case Qt::TopEdge:
|
case Qt::TopEdge:
|
||||||
case Qt::BottomEdge:
|
case Qt::BottomEdge:
|
||||||
window->setCursor(Qt::SizeVerCursor);
|
window_->setCursor(Qt::SizeVerCursor);
|
||||||
break;
|
break;
|
||||||
case Qt::LeftEdge | Qt::TopEdge:
|
case Qt::LeftEdge | Qt::TopEdge:
|
||||||
case Qt::RightEdge | Qt::BottomEdge:
|
case Qt::RightEdge | Qt::BottomEdge:
|
||||||
window->setCursor(Qt::SizeFDiagCursor);
|
window_->setCursor(Qt::SizeFDiagCursor);
|
||||||
break;
|
break;
|
||||||
case Qt::RightEdge | Qt::TopEdge:
|
case Qt::RightEdge | Qt::TopEdge:
|
||||||
case Qt::LeftEdge | Qt::BottomEdge:
|
case Qt::LeftEdge | Qt::BottomEdge:
|
||||||
window->setCursor(Qt::SizeBDiagCursor);
|
window_->setCursor(Qt::SizeBDiagCursor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){
|
bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){
|
||||||
if (!window.isNull() && window->flags()) {
|
if (!window_.isNull() && window_->flags()) {
|
||||||
switch (ev->type()) {
|
switch (ev->type()) {
|
||||||
case QEvent::MouseButtonPress:
|
case QEvent::MouseButtonPress:
|
||||||
if(_edges!=0){
|
if(_edges!=0){
|
||||||
QMouseEvent *event = static_cast<QMouseEvent*>(ev);
|
QMouseEvent *event = static_cast<QMouseEvent*>(ev);
|
||||||
if(event->button() == Qt::LeftButton){
|
if(event->button() == Qt::LeftButton){
|
||||||
_updateCursor(_edges);
|
_updateCursor(_edges);
|
||||||
window->startSystemResize(Qt::Edges(_edges));
|
window_->startSystemResize(Qt::Edges(_edges));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -272,7 +272,7 @@ bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){
|
|||||||
#else
|
#else
|
||||||
event->position().toPoint();
|
event->position().toPoint();
|
||||||
#endif
|
#endif
|
||||||
if(p.x() >= _margins && p.x() <= (window->width() - _margins) && p.y() >= _margins && p.y() <= (window->height() - _margins)){
|
if(p.x() >= _margins && p.x() <= (window_->width() - _margins) && p.y() >= _margins && p.y() <= (window_->height() - _margins)){
|
||||||
if(_edges != 0){
|
if(_edges != 0){
|
||||||
_edges = 0;
|
_edges = 0;
|
||||||
_updateCursor(_edges);
|
_updateCursor(_edges);
|
||||||
@ -283,13 +283,13 @@ bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){
|
|||||||
if ( p.x() < _margins ) {
|
if ( p.x() < _margins ) {
|
||||||
_edges |= Qt::LeftEdge;
|
_edges |= Qt::LeftEdge;
|
||||||
}
|
}
|
||||||
if ( p.x() > (window->width() - _margins) ) {
|
if ( p.x() > (window_->width() - _margins) ) {
|
||||||
_edges |= Qt::RightEdge;
|
_edges |= Qt::RightEdge;
|
||||||
}
|
}
|
||||||
if ( p.y() < _margins ) {
|
if ( p.y() < _margins ) {
|
||||||
_edges |= Qt::TopEdge;
|
_edges |= Qt::TopEdge;
|
||||||
}
|
}
|
||||||
if ( p.y() > (window->height() - _margins) ) {
|
if ( p.y() > (window_->height() - _margins) ) {
|
||||||
_edges |= Qt::BottomEdge;
|
_edges |= Qt::BottomEdge;
|
||||||
}
|
}
|
||||||
_updateCursor(_edges);
|
_updateCursor(_edges);
|
||||||
@ -303,38 +303,31 @@ bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FluFramelessHelper::componentComplete(){
|
void FluFramelessHelper::componentComplete(){
|
||||||
auto o = parent();
|
this->window_ = window();
|
||||||
do {
|
if(!window_.isNull()){
|
||||||
window = qobject_cast<QQuickWindow *>(o);
|
_stayTop = QQmlProperty(window_,"stayTop");
|
||||||
if (window) {
|
_screen = QQmlProperty(window_,"screen");
|
||||||
break;
|
_fixSize = QQmlProperty(window_,"fixSize");
|
||||||
}
|
_realHeight = QQmlProperty(window_,"_realHeight");
|
||||||
o = o->parent();
|
_realWidth = QQmlProperty(window_,"_realWidth");
|
||||||
} while (nullptr != o);
|
_appBarHeight = QQmlProperty(window_,"_appBarHeight");
|
||||||
if(!window.isNull()){
|
_appBar = window_->property("appBar");
|
||||||
_stayTop = QQmlProperty(window,"stayTop");
|
|
||||||
_screen = QQmlProperty(window,"screen");
|
|
||||||
_fixSize = QQmlProperty(window,"fixSize");
|
|
||||||
_realHeight = QQmlProperty(window,"_realHeight");
|
|
||||||
_realWidth = QQmlProperty(window,"_realWidth");
|
|
||||||
_appBarHeight = QQmlProperty(window,"_appBarHeight");
|
|
||||||
_appBar = window->property("appBar");
|
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
if(!_appBar.isNull()){
|
if(!_appBar.isNull()){
|
||||||
_appBar.value<QObject*>()->setProperty("systemMoveEnable",false);
|
_appBar.value<QObject*>()->setProperty("systemMoveEnable",false);
|
||||||
}
|
}
|
||||||
window->setFlags((window->flags()) | Qt::CustomizeWindowHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint | Qt::FramelessWindowHint);
|
window_->setFlags((window_->flags()) | Qt::CustomizeWindowHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint | Qt::FramelessWindowHint);
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
|
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
|
||||||
if(FluTools::getInstance()->isSoftware()){
|
if(FluTools::getInstance()->isSoftware()){
|
||||||
window->setFlag(Qt::FramelessWindowHint,false);
|
window_->setFlag(Qt::FramelessWindowHint,false);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if(resizeable()){
|
if(resizeable()){
|
||||||
window->setFlag(Qt::WindowMaximizeButtonHint);
|
window_->setFlag(Qt::WindowMaximizeButtonHint);
|
||||||
}
|
}
|
||||||
_nativeEvent =new FramelessEventFilter(this);
|
_nativeEvent =new FramelessEventFilter(this);
|
||||||
qApp->installNativeEventFilter(_nativeEvent);
|
qApp->installNativeEventFilter(_nativeEvent);
|
||||||
HWND hwnd = reinterpret_cast<HWND>(window->winId());
|
HWND hwnd = reinterpret_cast<HWND>(window_->winId());
|
||||||
DWORD style = ::GetWindowLongPtr(hwnd, GWL_STYLE);
|
DWORD style = ::GetWindowLongPtr(hwnd, GWL_STYLE);
|
||||||
if(resizeable()){
|
if(resizeable()){
|
||||||
::SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_MAXIMIZEBOX | WS_THICKFRAME);
|
::SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_MAXIMIZEBOX | WS_THICKFRAME);
|
||||||
@ -348,16 +341,16 @@ void FluFramelessHelper::componentComplete(){
|
|||||||
}
|
}
|
||||||
SetWindowPos(hwnd,nullptr,0,0,0,0,SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
|
SetWindowPos(hwnd,nullptr,0,0,0,0,SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
|
||||||
#else
|
#else
|
||||||
window->setFlags((window->flags() & (~Qt::WindowMinMaxButtonsHint) & (~Qt::Dialog)) | Qt::FramelessWindowHint | Qt::Window);
|
window_->setFlags((window_->flags() & (~Qt::WindowMinMaxButtonsHint) & (~Qt::Dialog)) | Qt::FramelessWindowHint | Qt::Window);
|
||||||
window->installEventFilter(this);
|
window_->installEventFilter(this);
|
||||||
#endif
|
#endif
|
||||||
int w = _realWidth.read().toInt();
|
int w = _realWidth.read().toInt();
|
||||||
int h = _realHeight.read().toInt()+_appBarHeight.read().toInt();
|
int h = _realHeight.read().toInt()+_appBarHeight.read().toInt();
|
||||||
if(!resizeable()){
|
if(!resizeable()){
|
||||||
window->setMaximumSize(QSize(w,h));
|
window_->setMaximumSize(QSize(w,h));
|
||||||
window->setMinimumSize(QSize(w,h));
|
window_->setMinimumSize(QSize(w,h));
|
||||||
}
|
}
|
||||||
window->resize(QSize(w,h));
|
window_->resize(QSize(w,h));
|
||||||
_onStayTopChange();
|
_onStayTopChange();
|
||||||
_stayTop.connectNotifySignal(this,SLOT(_onStayTopChange()));
|
_stayTop.connectNotifySignal(this,SLOT(_onStayTopChange()));
|
||||||
_screen.connectNotifySignal(this,SLOT(_onScreenChanged()));
|
_screen.connectNotifySignal(this,SLOT(_onScreenChanged()));
|
||||||
@ -367,7 +360,7 @@ void FluFramelessHelper::componentComplete(){
|
|||||||
|
|
||||||
void FluFramelessHelper::_onScreenChanged(){
|
void FluFramelessHelper::_onScreenChanged(){
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
HWND hwnd = reinterpret_cast<HWND>(window->winId());
|
HWND hwnd = reinterpret_cast<HWND>(window_->winId());
|
||||||
::SetWindowPos(hwnd,0,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED | SWP_NOOWNERZORDER);
|
::SetWindowPos(hwnd,0,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED | SWP_NOOWNERZORDER);
|
||||||
::RedrawWindow(hwnd, NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW);
|
::RedrawWindow(hwnd, NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW);
|
||||||
#endif
|
#endif
|
||||||
@ -375,7 +368,7 @@ void FluFramelessHelper::_onScreenChanged(){
|
|||||||
|
|
||||||
void FluFramelessHelper::showSystemMenu(QPoint point){
|
void FluFramelessHelper::showSystemMenu(QPoint point){
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
HWND hwnd = reinterpret_cast<HWND>(window->winId());
|
HWND hwnd = reinterpret_cast<HWND>(window_->winId());
|
||||||
DWORD style = ::GetWindowLongPtr(hwnd,GWL_STYLE);
|
DWORD style = ::GetWindowLongPtr(hwnd,GWL_STYLE);
|
||||||
::SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_SYSMENU);
|
::SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_SYSMENU);
|
||||||
const HMENU hMenu = ::GetSystemMenu(hwnd, FALSE);
|
const HMENU hMenu = ::GetSystemMenu(hwnd, FALSE);
|
||||||
@ -393,7 +386,7 @@ void FluFramelessHelper::showSystemMenu(QPoint point){
|
|||||||
::EnableMenuItem(hMenu,SC_SIZE,MFS_DISABLED);
|
::EnableMenuItem(hMenu,SC_SIZE,MFS_DISABLED);
|
||||||
::EnableMenuItem(hMenu,SC_MAXIMIZE,MFS_DISABLED);
|
::EnableMenuItem(hMenu,SC_MAXIMIZE,MFS_DISABLED);
|
||||||
}
|
}
|
||||||
const int result = ::TrackPopupMenu(hMenu, (TPM_RETURNCMD | (QGuiApplication::isRightToLeft() ? TPM_RIGHTALIGN : TPM_LEFTALIGN)), point.x()*window->devicePixelRatio(), point.y()*window->devicePixelRatio(), 0, hwnd, nullptr);
|
const int result = ::TrackPopupMenu(hMenu, (TPM_RETURNCMD | (QGuiApplication::isRightToLeft() ? TPM_RIGHTALIGN : TPM_LEFTALIGN)), point.x()*window_->devicePixelRatio(), point.y()*window_->devicePixelRatio(), 0, hwnd, nullptr);
|
||||||
if (result != FALSE) {
|
if (result != FALSE) {
|
||||||
::PostMessageW(hwnd, WM_SYSCOMMAND, result, 0);
|
::PostMessageW(hwnd, WM_SYSCOMMAND, result, 0);
|
||||||
}
|
}
|
||||||
@ -403,7 +396,7 @@ void FluFramelessHelper::showSystemMenu(QPoint point){
|
|||||||
|
|
||||||
void FluFramelessHelper::showMaximized(){
|
void FluFramelessHelper::showMaximized(){
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
HWND hwnd = reinterpret_cast<HWND>(window->winId());
|
HWND hwnd = reinterpret_cast<HWND>(window_->winId());
|
||||||
::ShowWindow(hwnd,3);
|
::ShowWindow(hwnd,3);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -411,25 +404,25 @@ void FluFramelessHelper::showMaximized(){
|
|||||||
void FluFramelessHelper::_onStayTopChange(){
|
void FluFramelessHelper::_onStayTopChange(){
|
||||||
bool isStayTop = _stayTop.read().toBool();
|
bool isStayTop = _stayTop.read().toBool();
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
HWND hwnd = reinterpret_cast<HWND>(window->winId());
|
HWND hwnd = reinterpret_cast<HWND>(window_->winId());
|
||||||
if(isStayTop){
|
if(isStayTop){
|
||||||
::SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
::SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
||||||
}else{
|
}else{
|
||||||
::SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
::SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
window->setFlag(Qt::WindowStaysOnTopHint,isStayTop);
|
window_->setFlag(Qt::WindowStaysOnTopHint,isStayTop);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
FluFramelessHelper::~FluFramelessHelper(){
|
FluFramelessHelper::~FluFramelessHelper(){
|
||||||
if (!window.isNull()) {
|
if (!window_.isNull()) {
|
||||||
window->setFlags(Qt::Window);
|
window_->setFlags(Qt::Window);
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
qApp->removeNativeEventFilter(_nativeEvent);
|
qApp->removeNativeEventFilter(_nativeEvent);
|
||||||
delete _nativeEvent;
|
delete _nativeEvent;
|
||||||
#endif
|
#endif
|
||||||
window->removeEventFilter(this);
|
window_->removeEventFilter(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -488,11 +481,11 @@ bool FluFramelessHelper::resizeable(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool FluFramelessHelper::maximized(){
|
bool FluFramelessHelper::maximized(){
|
||||||
return window->visibility() == QWindow::Maximized;
|
return window_->visibility() == QWindow::Maximized;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FluFramelessHelper::fullScreen(){
|
bool FluFramelessHelper::fullScreen(){
|
||||||
return window->visibility() == QWindow::FullScreen;
|
return window_->visibility() == QWindow::FullScreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
int FluFramelessHelper::getMargins(){
|
int FluFramelessHelper::getMargins(){
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#include <QtQml/qqml.h>
|
#include <QtQml/qqml.h>
|
||||||
#include <QAbstractNativeEventFilter>
|
#include <QAbstractNativeEventFilter>
|
||||||
#include <QQmlProperty>
|
#include <QQmlProperty>
|
||||||
|
#include <QQuickItem>
|
||||||
|
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
|
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
|
||||||
using QT_NATIVE_EVENT_RESULT_TYPE = qintptr;
|
using QT_NATIVE_EVENT_RESULT_TYPE = qintptr;
|
||||||
@ -33,13 +34,12 @@ public:
|
|||||||
/**
|
/**
|
||||||
* @brief The FluFramelessHelper class
|
* @brief The FluFramelessHelper class
|
||||||
*/
|
*/
|
||||||
class FluFramelessHelper : public QObject, public QQmlParserStatus
|
class FluFramelessHelper : public QQuickItem
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_INTERFACES(QQmlParserStatus)
|
|
||||||
QML_NAMED_ELEMENT(FluFramelessHelper)
|
QML_NAMED_ELEMENT(FluFramelessHelper)
|
||||||
public:
|
public:
|
||||||
explicit FluFramelessHelper(QObject *parent = nullptr);
|
explicit FluFramelessHelper(QQuickItem *parent = nullptr);
|
||||||
~FluFramelessHelper();
|
~FluFramelessHelper();
|
||||||
void classBegin() override;
|
void classBegin() override;
|
||||||
void componentComplete() override;
|
void componentComplete() override;
|
||||||
@ -62,7 +62,7 @@ private:
|
|||||||
Q_SLOT void _onStayTopChange();
|
Q_SLOT void _onStayTopChange();
|
||||||
Q_SLOT void _onScreenChanged();
|
Q_SLOT void _onScreenChanged();
|
||||||
public:
|
public:
|
||||||
QPointer<QQuickWindow> window = nullptr;
|
QPointer<QQuickWindow> window_ = nullptr;
|
||||||
private:
|
private:
|
||||||
FramelessEventFilter* _nativeEvent = nullptr;
|
FramelessEventFilter* _nativeEvent = nullptr;
|
||||||
QQmlProperty _stayTop;
|
QQmlProperty _stayTop;
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
#include "FluTextStyle.h"
|
#include "FluTextStyle.h"
|
||||||
#include "FluWatermark.h"
|
#include "FluWatermark.h"
|
||||||
#include "FluCaptcha.h"
|
#include "FluCaptcha.h"
|
||||||
#include "FluEventBus.h"
|
|
||||||
#include "FluTreeModel.h"
|
#include "FluTreeModel.h"
|
||||||
#include "FluRectangle.h"
|
#include "FluRectangle.h"
|
||||||
#include "FluFramelessHelper.h"
|
#include "FluFramelessHelper.h"
|
||||||
@ -24,11 +23,12 @@ void FluentUI::registerTypes(QQmlEngine *engine){
|
|||||||
void FluentUI::registerTypes(const char *uri){
|
void FluentUI::registerTypes(const char *uri){
|
||||||
#if (QT_VERSION < QT_VERSION_CHECK(6, 2, 0))
|
#if (QT_VERSION < QT_VERSION_CHECK(6, 2, 0))
|
||||||
Q_INIT_RESOURCE(fluentui);
|
Q_INIT_RESOURCE(fluentui);
|
||||||
|
|
||||||
|
//@uri FluentUI
|
||||||
qmlRegisterType<FluQrCodeItem>(uri,major,minor,"FluQrCodeItem");
|
qmlRegisterType<FluQrCodeItem>(uri,major,minor,"FluQrCodeItem");
|
||||||
qmlRegisterType<FluCaptcha>(uri,major,minor,"FluCaptcha");
|
qmlRegisterType<FluCaptcha>(uri,major,minor,"FluCaptcha");
|
||||||
qmlRegisterType<FluWatermark>(uri,major,minor,"FluWatermark");
|
qmlRegisterType<FluWatermark>(uri,major,minor,"FluWatermark");
|
||||||
qmlRegisterType<FluAccentColor>(uri,major,minor,"FluAccentColor");
|
qmlRegisterType<FluAccentColor>(uri,major,minor,"FluAccentColor");
|
||||||
qmlRegisterType<FluEvent>(uri,major,minor,"FluEvent");
|
|
||||||
qmlRegisterType<FluTreeModel>(uri,major,minor,"FluTreeModel");
|
qmlRegisterType<FluTreeModel>(uri,major,minor,"FluTreeModel");
|
||||||
qmlRegisterType<FluRectangle>(uri,major,minor,"FluRectangle");
|
qmlRegisterType<FluRectangle>(uri,major,minor,"FluRectangle");
|
||||||
qmlRegisterType<FluFramelessHelper>(uri,major,minor,"FluFramelessHelper");
|
qmlRegisterType<FluFramelessHelper>(uri,major,minor,"FluFramelessHelper");
|
||||||
@ -123,7 +123,9 @@ void FluentUI::registerTypes(const char *uri){
|
|||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluSplitLayout.qml"),uri,major,minor,"FluSplitLayout");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluSplitLayout.qml"),uri,major,minor,"FluSplitLayout");
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluWindowResultLauncher.qml"),uri,major,minor,"FluWindowResultLauncher");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluWindowResultLauncher.qml"),uri,major,minor,"FluWindowResultLauncher");
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluLauncher.qml"),uri,major,minor,"FluLauncher");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluLauncher.qml"),uri,major,minor,"FluLauncher");
|
||||||
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluEvent.qml"),uri,major,minor,"FluEvent");
|
||||||
qmlRegisterSingletonType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluRouter.qml"),uri,major,minor,"FluRouter");
|
qmlRegisterSingletonType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluRouter.qml"),uri,major,minor,"FluRouter");
|
||||||
|
qmlRegisterSingletonType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluEventBus.qml"),uri,major,minor,"FluEventBus");
|
||||||
|
|
||||||
qmlRegisterUncreatableMetaObject(Fluent_Awesome::staticMetaObject, uri,major,minor,"FluentIcons", "Access to enums & flags only");
|
qmlRegisterUncreatableMetaObject(Fluent_Awesome::staticMetaObject, uri,major,minor,"FluentIcons", "Access to enums & flags only");
|
||||||
qmlRegisterUncreatableMetaObject(FluThemeType::staticMetaObject, uri,major,minor,"FluThemeType", "Access to enums & flags only");
|
qmlRegisterUncreatableMetaObject(FluThemeType::staticMetaObject, uri,major,minor,"FluThemeType", "Access to enums & flags only");
|
||||||
@ -153,5 +155,4 @@ void FluentUI::initializeEngine(QQmlEngine *engine, const char *uri){
|
|||||||
engine->rootContext()->setContextProperty("FluTheme",FluTheme::getInstance());
|
engine->rootContext()->setContextProperty("FluTheme",FluTheme::getInstance());
|
||||||
engine->rootContext()->setContextProperty("FluTools",FluTools::getInstance());
|
engine->rootContext()->setContextProperty("FluTools",FluTools::getInstance());
|
||||||
engine->rootContext()->setContextProperty("FluTextStyle",FluTextStyle::getInstance());
|
engine->rootContext()->setContextProperty("FluTextStyle",FluTextStyle::getInstance());
|
||||||
engine->rootContext()->setContextProperty("FluEventBus",FluEventBus::getInstance());
|
|
||||||
}
|
}
|
||||||
|
15
src/Qt5/imports/FluentUI/Controls/FluEvent.qml
Normal file
15
src/Qt5/imports/FluentUI/Controls/FluEvent.qml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
import FluentUI 1.0
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
id:control
|
||||||
|
property string name
|
||||||
|
signal triggered(var data)
|
||||||
|
Component.onCompleted: {
|
||||||
|
FluEventBus.register(control)
|
||||||
|
}
|
||||||
|
Component.onDestruction: {
|
||||||
|
FluEventBus.unregister(control)
|
||||||
|
}
|
||||||
|
}
|
24
src/Qt5/imports/FluentUI/Controls/FluEventBus.qml
Normal file
24
src/Qt5/imports/FluentUI/Controls/FluEventBus.qml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
pragma Singleton
|
||||||
|
|
||||||
|
import QtQuick 2.15
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
property var events: []
|
||||||
|
function register(event){
|
||||||
|
events.push(event)
|
||||||
|
}
|
||||||
|
function unregister(event){
|
||||||
|
var index = events.indexOf(event)
|
||||||
|
if (index !== -1) {
|
||||||
|
events.splice(index, 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function post(name,data = {}){
|
||||||
|
for(var i =0 ;i< events.length; i++){
|
||||||
|
var item = events[i]
|
||||||
|
if(item.name === name){
|
||||||
|
item.triggered(data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1 +1,2 @@
|
|||||||
singleton FluRouter 1.0 FluRouter.qml
|
singleton FluRouter 1.0 FluRouter.qml
|
||||||
|
singleton FluEventBus 1.0 FluEventBus.qml
|
||||||
|
@ -64,20 +64,10 @@ Module {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Component {
|
|
||||||
name: "FluEvent"
|
|
||||||
prototype: "QObject"
|
|
||||||
exports: ["FluentUI/FluEvent 1.0"]
|
|
||||||
exportMetaObjectRevisions: [0]
|
|
||||||
Property { name: "name"; type: "string" }
|
|
||||||
Signal {
|
|
||||||
name: "triggered"
|
|
||||||
Parameter { name: "data"; type: "QVariantMap" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Component {
|
Component {
|
||||||
name: "FluFramelessHelper"
|
name: "FluFramelessHelper"
|
||||||
prototype: "QObject"
|
defaultProperty: "data"
|
||||||
|
prototype: "QQuickItem"
|
||||||
exports: ["FluentUI/FluFramelessHelper 1.0"]
|
exports: ["FluentUI/FluFramelessHelper 1.0"]
|
||||||
exportMetaObjectRevisions: [0]
|
exportMetaObjectRevisions: [0]
|
||||||
Signal { name: "loadCompleted" }
|
Signal { name: "loadCompleted" }
|
||||||
@ -2329,23 +2319,27 @@ Module {
|
|||||||
Property { name: "normalColor"; type: "QColor" }
|
Property { name: "normalColor"; type: "QColor" }
|
||||||
Property { name: "hoverColor"; type: "QColor" }
|
Property { name: "hoverColor"; type: "QColor" }
|
||||||
Property { name: "disableColor"; type: "QColor" }
|
Property { name: "disableColor"; type: "QColor" }
|
||||||
|
Property { name: "dividerColor"; type: "QColor" }
|
||||||
Property { name: "textColor"; type: "QColor" }
|
Property { name: "textColor"; type: "QColor" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
prototype: "QQuickRectangle"
|
prototype: "QQuickButton"
|
||||||
name: "FluentUI/FluCalendarPicker 1.0"
|
name: "FluentUI/FluCalendarPicker 1.0"
|
||||||
exports: ["FluentUI/FluCalendarPicker 1.0"]
|
exports: ["FluentUI/FluCalendarPicker 1.0"]
|
||||||
exportMetaObjectRevisions: [0]
|
exportMetaObjectRevisions: [0]
|
||||||
isComposite: true
|
isComposite: true
|
||||||
defaultProperty: "data"
|
defaultProperty: "data"
|
||||||
Property { name: "dividerColor"; type: "QColor" }
|
|
||||||
Property { name: "hoverColor"; type: "QColor" }
|
|
||||||
Property { name: "normalColor"; type: "QColor" }
|
|
||||||
Property { name: "text"; type: "string" }
|
|
||||||
Property { name: "from"; type: "QDateTime" }
|
Property { name: "from"; type: "QDateTime" }
|
||||||
Property { name: "to"; type: "QDateTime" }
|
Property { name: "to"; type: "QDateTime" }
|
||||||
Property { name: "current"; type: "QVariant" }
|
Property { name: "current"; type: "QVariant" }
|
||||||
Signal { name: "accepted" }
|
Signal { name: "accepted" }
|
||||||
|
Property { name: "disabled"; type: "bool" }
|
||||||
|
Property { name: "contentDescription"; type: "string" }
|
||||||
|
Property { name: "normalColor"; type: "QColor" }
|
||||||
|
Property { name: "hoverColor"; type: "QColor" }
|
||||||
|
Property { name: "disableColor"; type: "QColor" }
|
||||||
|
Property { name: "dividerColor"; type: "QColor" }
|
||||||
|
Property { name: "textColor"; type: "QColor" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
prototype: "QQuickItem"
|
prototype: "QQuickItem"
|
||||||
@ -2531,15 +2525,12 @@ Module {
|
|||||||
Property { name: "textColor"; type: "QColor" }
|
Property { name: "textColor"; type: "QColor" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
prototype: "QQuickRectangle"
|
prototype: "QQuickButton"
|
||||||
name: "FluentUI/FluDatePicker 1.0"
|
name: "FluentUI/FluDatePicker 1.0"
|
||||||
exports: ["FluentUI/FluDatePicker 1.0"]
|
exports: ["FluentUI/FluDatePicker 1.0"]
|
||||||
exportMetaObjectRevisions: [0]
|
exportMetaObjectRevisions: [0]
|
||||||
isComposite: true
|
isComposite: true
|
||||||
defaultProperty: "data"
|
defaultProperty: "data"
|
||||||
Property { name: "dividerColor"; type: "QColor" }
|
|
||||||
Property { name: "hoverColor"; type: "QColor" }
|
|
||||||
Property { name: "normalColor"; type: "QColor" }
|
|
||||||
Property { name: "showYear"; type: "bool" }
|
Property { name: "showYear"; type: "bool" }
|
||||||
Property { name: "current"; type: "QVariant" }
|
Property { name: "current"; type: "QVariant" }
|
||||||
Property { name: "yearText"; type: "string" }
|
Property { name: "yearText"; type: "string" }
|
||||||
@ -2566,6 +2557,13 @@ Module {
|
|||||||
Parameter { name: "year"; type: "QVariant" }
|
Parameter { name: "year"; type: "QVariant" }
|
||||||
Parameter { name: "month"; type: "QVariant" }
|
Parameter { name: "month"; type: "QVariant" }
|
||||||
}
|
}
|
||||||
|
Property { name: "disabled"; type: "bool" }
|
||||||
|
Property { name: "contentDescription"; type: "string" }
|
||||||
|
Property { name: "normalColor"; type: "QColor" }
|
||||||
|
Property { name: "hoverColor"; type: "QColor" }
|
||||||
|
Property { name: "disableColor"; type: "QColor" }
|
||||||
|
Property { name: "dividerColor"; type: "QColor" }
|
||||||
|
Property { name: "textColor"; type: "QColor" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
prototype: "QQuickItem"
|
prototype: "QQuickItem"
|
||||||
@ -2594,6 +2592,44 @@ Module {
|
|||||||
Property { name: "window"; type: "QVariant" }
|
Property { name: "window"; type: "QVariant" }
|
||||||
Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
|
Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
|
||||||
}
|
}
|
||||||
|
Component {
|
||||||
|
prototype: "QObject"
|
||||||
|
name: "FluentUI/FluEvent 1.0"
|
||||||
|
exports: ["FluentUI/FluEvent 1.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
isComposite: true
|
||||||
|
Property { name: "name"; type: "string" }
|
||||||
|
Signal {
|
||||||
|
name: "triggered"
|
||||||
|
Parameter { name: "data"; type: "QVariant" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
prototype: "QObject"
|
||||||
|
name: "FluentUI/FluEventBus 1.0"
|
||||||
|
exports: ["FluentUI/FluEventBus 1.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
isComposite: true
|
||||||
|
isCreatable: false
|
||||||
|
isSingleton: true
|
||||||
|
Property { name: "events"; type: "QVariant" }
|
||||||
|
Method {
|
||||||
|
name: "register"
|
||||||
|
type: "QVariant"
|
||||||
|
Parameter { name: "event"; type: "QVariant" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "unregister"
|
||||||
|
type: "QVariant"
|
||||||
|
Parameter { name: "event"; type: "QVariant" }
|
||||||
|
}
|
||||||
|
Method {
|
||||||
|
name: "post"
|
||||||
|
type: "QVariant"
|
||||||
|
Parameter { name: "name"; type: "QVariant" }
|
||||||
|
Parameter { name: "data"; type: "QVariant" }
|
||||||
|
}
|
||||||
|
}
|
||||||
Component {
|
Component {
|
||||||
prototype: "QQuickItem"
|
prototype: "QQuickItem"
|
||||||
name: "FluentUI/FluExpander 1.0"
|
name: "FluentUI/FluExpander 1.0"
|
||||||
@ -2779,6 +2815,7 @@ Module {
|
|||||||
Property { name: "normalColor"; type: "QColor" }
|
Property { name: "normalColor"; type: "QColor" }
|
||||||
Property { name: "hoverColor"; type: "QColor" }
|
Property { name: "hoverColor"; type: "QColor" }
|
||||||
Property { name: "disableColor"; type: "QColor" }
|
Property { name: "disableColor"; type: "QColor" }
|
||||||
|
Property { name: "dividerColor"; type: "QColor" }
|
||||||
Property { name: "textColor"; type: "QColor" }
|
Property { name: "textColor"; type: "QColor" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
@ -2857,15 +2894,15 @@ Module {
|
|||||||
defaultProperty: "data"
|
defaultProperty: "data"
|
||||||
Property { name: "logo"; type: "QUrl" }
|
Property { name: "logo"; type: "QUrl" }
|
||||||
Property { name: "title"; type: "string" }
|
Property { name: "title"; type: "string" }
|
||||||
Property { name: "items"; type: "FluObject_QMLTYPE_126"; isPointer: true }
|
Property { name: "items"; type: "FluObject_QMLTYPE_128"; isPointer: true }
|
||||||
Property { name: "footerItems"; type: "FluObject_QMLTYPE_126"; isPointer: true }
|
Property { name: "footerItems"; type: "FluObject_QMLTYPE_128"; isPointer: true }
|
||||||
Property { name: "displayMode"; type: "int" }
|
Property { name: "displayMode"; type: "int" }
|
||||||
Property { name: "autoSuggestBox"; type: "QQmlComponent"; isPointer: true }
|
Property { name: "autoSuggestBox"; type: "QQmlComponent"; isPointer: true }
|
||||||
Property { name: "actionItem"; type: "QQmlComponent"; isPointer: true }
|
Property { name: "actionItem"; type: "QQmlComponent"; isPointer: true }
|
||||||
Property { name: "topPadding"; type: "int" }
|
Property { name: "topPadding"; type: "int" }
|
||||||
Property { name: "pageMode"; type: "int" }
|
Property { name: "pageMode"; type: "int" }
|
||||||
Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_39"; isPointer: true }
|
Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_34"; isPointer: true }
|
||||||
Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_39"; isPointer: true }
|
Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_34"; isPointer: true }
|
||||||
Property { name: "navCompactWidth"; type: "int" }
|
Property { name: "navCompactWidth"; type: "int" }
|
||||||
Property { name: "navTopMargin"; type: "int" }
|
Property { name: "navTopMargin"; type: "int" }
|
||||||
Property { name: "cellHeight"; type: "int" }
|
Property { name: "cellHeight"; type: "int" }
|
||||||
@ -3575,15 +3612,12 @@ Module {
|
|||||||
Property { name: "textColor"; type: "QColor" }
|
Property { name: "textColor"; type: "QColor" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
prototype: "QQuickRectangle"
|
prototype: "QQuickButton"
|
||||||
name: "FluentUI/FluTimePicker 1.0"
|
name: "FluentUI/FluTimePicker 1.0"
|
||||||
exports: ["FluentUI/FluTimePicker 1.0"]
|
exports: ["FluentUI/FluTimePicker 1.0"]
|
||||||
exportMetaObjectRevisions: [0]
|
exportMetaObjectRevisions: [0]
|
||||||
isComposite: true
|
isComposite: true
|
||||||
defaultProperty: "data"
|
defaultProperty: "data"
|
||||||
Property { name: "dividerColor"; type: "QColor" }
|
|
||||||
Property { name: "hoverColor"; type: "QColor" }
|
|
||||||
Property { name: "normalColor"; type: "QColor" }
|
|
||||||
Property { name: "hourFormat"; type: "int" }
|
Property { name: "hourFormat"; type: "int" }
|
||||||
Property { name: "isH"; type: "int" }
|
Property { name: "isH"; type: "int" }
|
||||||
Property { name: "current"; type: "QVariant" }
|
Property { name: "current"; type: "QVariant" }
|
||||||
@ -3600,6 +3634,13 @@ Module {
|
|||||||
Parameter { name: "start"; type: "QVariant" }
|
Parameter { name: "start"; type: "QVariant" }
|
||||||
Parameter { name: "n"; type: "QVariant" }
|
Parameter { name: "n"; type: "QVariant" }
|
||||||
}
|
}
|
||||||
|
Property { name: "disabled"; type: "bool" }
|
||||||
|
Property { name: "contentDescription"; type: "string" }
|
||||||
|
Property { name: "normalColor"; type: "QColor" }
|
||||||
|
Property { name: "hoverColor"; type: "QColor" }
|
||||||
|
Property { name: "disableColor"; type: "QColor" }
|
||||||
|
Property { name: "dividerColor"; type: "QColor" }
|
||||||
|
Property { name: "textColor"; type: "QColor" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
prototype: "QQuickItem"
|
prototype: "QQuickItem"
|
||||||
|
@ -24,6 +24,8 @@ FluCopyableText 1.0 Controls/FluCopyableText.qml
|
|||||||
FluDatePicker 1.0 Controls/FluDatePicker.qml
|
FluDatePicker 1.0 Controls/FluDatePicker.qml
|
||||||
FluDivider 1.0 Controls/FluDivider.qml
|
FluDivider 1.0 Controls/FluDivider.qml
|
||||||
FluDropDownButton 1.0 Controls/FluDropDownButton.qml
|
FluDropDownButton 1.0 Controls/FluDropDownButton.qml
|
||||||
|
FluEvent 1.0 Controls/FluEvent.qml
|
||||||
|
FluEventBus 1.0 Controls/FluEventBus.qml
|
||||||
FluExpander 1.0 Controls/FluExpander.qml
|
FluExpander 1.0 Controls/FluExpander.qml
|
||||||
FluFilledButton 1.0 Controls/FluFilledButton.qml
|
FluFilledButton 1.0 Controls/FluFilledButton.qml
|
||||||
FluFlipView 1.0 Controls/FluFlipView.qml
|
FluFlipView 1.0 Controls/FluFlipView.qml
|
||||||
|
@ -105,5 +105,7 @@
|
|||||||
<file>FluentUI/Controls/FluRouter.qml</file>
|
<file>FluentUI/Controls/FluRouter.qml</file>
|
||||||
<file>FluentUI/Controls/FluWindowResultLauncher.qml</file>
|
<file>FluentUI/Controls/FluWindowResultLauncher.qml</file>
|
||||||
<file>FluentUI/Controls/qmldir</file>
|
<file>FluentUI/Controls/qmldir</file>
|
||||||
|
<file>FluentUI/Controls/FluEvent.qml</file>
|
||||||
|
<file>FluentUI/Controls/FluEventBus.qml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
15
src/Qt6/imports/FluentUI/Controls/FluEvent.qml
Normal file
15
src/Qt6/imports/FluentUI/Controls/FluEvent.qml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import QtQuick
|
||||||
|
import QtQuick.Controls
|
||||||
|
import FluentUI
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
id:control
|
||||||
|
property string name
|
||||||
|
signal triggered(var data)
|
||||||
|
Component.onCompleted: {
|
||||||
|
FluEventBus.register(control)
|
||||||
|
}
|
||||||
|
Component.onDestruction: {
|
||||||
|
FluEventBus.unregister(control)
|
||||||
|
}
|
||||||
|
}
|
24
src/Qt6/imports/FluentUI/Controls/FluEventBus.qml
Normal file
24
src/Qt6/imports/FluentUI/Controls/FluEventBus.qml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
pragma Singleton
|
||||||
|
|
||||||
|
import QtQuick
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
property var events: []
|
||||||
|
function register(event){
|
||||||
|
events.push(event)
|
||||||
|
}
|
||||||
|
function unregister(event){
|
||||||
|
var index = events.indexOf(event)
|
||||||
|
if (index !== -1) {
|
||||||
|
events.splice(index, 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function post(name,data = {}){
|
||||||
|
for(var i =0 ;i< events.length; i++){
|
||||||
|
var item = events[i]
|
||||||
|
if(item.name === name){
|
||||||
|
item.triggered(data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1 +1,2 @@
|
|||||||
singleton FluRouter FluRouter.qml
|
singleton FluRouter FluRouter.qml
|
||||||
|
singleton FluEventBus FluEventBus.qml
|
||||||
|
Loading…
Reference in New Issue
Block a user