From b8e957ff9ad8843bdaafd8aa4cfeb30f6d4e843a Mon Sep 17 00:00:00 2001 From: Barbara Kudiess Date: Fri, 27 Mar 2020 15:04:34 -0700 Subject: [PATCH] adding support for xaml islands --- PowerToys.sln | 268 +++++++++++++++++ .../launcher/PowerLauncher.UI/App.xaml | 7 + .../launcher/PowerLauncher.UI/App.xaml.cs | 10 + .../Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1430 bytes .../Assets/SplashScreen.scale-200.png | Bin 0 -> 7700 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 0 -> 2937 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 0 -> 1647 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 1255 bytes .../PowerLauncher.UI/Assets/StoreLogo.png | Bin 0 -> 1451 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 0 -> 3204 bytes .../PowerLauncher.UI/LauncherControl.xaml | 18 ++ .../PowerLauncher.UI/LauncherControl.xaml.cs | 31 ++ .../launcher/PowerLauncher.UI/MainPage.xaml | 0 .../PowerLauncher.UI/Package.appxmanifest | 49 ++++ .../PowerLauncher.UI/PowerLauncher.UI.csproj | 187 ++++++++++++ .../Properties/AssemblyInfo.cs | 29 ++ .../Properties/Default.rd.xml | 31 ++ .../PowerLauncher/ActionKeywords.xaml | 45 +++ .../PowerLauncher/ActionKeywords.xaml.cs | 58 ++++ src/modules/launcher/PowerLauncher/App.xaml | 14 + .../launcher/PowerLauncher/App.xaml.cs | 163 +++++++++++ .../launcher/PowerLauncher/FodyWeavers.xml | 4 + .../launcher/PowerLauncher/FodyWeavers.xsd | 54 ++++ .../launcher/PowerLauncher/HotkeyControl.xaml | 19 ++ .../PowerLauncher/HotkeyControl.xaml.cs | 117 ++++++++ .../launcher/PowerLauncher/Images/Browser.png | Bin 0 -> 873 bytes .../launcher/PowerLauncher/Images/EXE.png | Bin 0 -> 774 bytes .../launcher/PowerLauncher/Images/Link.png | Bin 0 -> 796 bytes .../PowerLauncher/Images/New Message.png | Bin 0 -> 1362 bytes .../launcher/PowerLauncher/Images/app.png | Bin 0 -> 11524 bytes .../PowerLauncher/Images/app_error.png | Bin 0 -> 10360 bytes .../PowerLauncher/Images/calculator.png | Bin 0 -> 597 bytes .../launcher/PowerLauncher/Images/cancel.png | Bin 0 -> 1061 bytes .../launcher/PowerLauncher/Images/close.png | Bin 0 -> 530 bytes .../launcher/PowerLauncher/Images/cmd.png | Bin 0 -> 752 bytes .../launcher/PowerLauncher/Images/color.png | Bin 0 -> 1856 bytes .../launcher/PowerLauncher/Images/copy.png | Bin 0 -> 501 bytes .../launcher/PowerLauncher/Images/down.png | Bin 0 -> 506 bytes .../launcher/PowerLauncher/Images/file.png | Bin 0 -> 290 bytes .../launcher/PowerLauncher/Images/find.png | Bin 0 -> 1387 bytes .../launcher/PowerLauncher/Images/folder.png | Bin 0 -> 468 bytes .../launcher/PowerLauncher/Images/history.png | Bin 0 -> 1364 bytes .../launcher/PowerLauncher/Images/image.png | Bin 0 -> 634 bytes .../launcher/PowerLauncher/Images/lock.png | Bin 0 -> 759 bytes .../launcher/PowerLauncher/Images/logoff.png | Bin 0 -> 674 bytes .../launcher/PowerLauncher/Images/ok.png | Bin 0 -> 1071 bytes .../launcher/PowerLauncher/Images/open.png | Bin 0 -> 792 bytes .../launcher/PowerLauncher/Images/plugin.png | Bin 0 -> 269 bytes .../PowerLauncher/Images/recyclebin.png | Bin 0 -> 436 bytes .../launcher/PowerLauncher/Images/restart.png | Bin 0 -> 1465 bytes .../launcher/PowerLauncher/Images/search.png | Bin 0 -> 1387 bytes .../PowerLauncher/Images/settings.png | Bin 0 -> 1692 bytes .../PowerLauncher/Images/shutdown.png | Bin 0 -> 1400 bytes .../launcher/PowerLauncher/Images/sleep.png | Bin 0 -> 760 bytes .../launcher/PowerLauncher/Images/up.png | Bin 0 -> 470 bytes .../launcher/PowerLauncher/Images/update.png | Bin 0 -> 794 bytes .../launcher/PowerLauncher/Images/warning.png | Bin 0 -> 738 bytes .../launcher/PowerLauncher/Languages/da.xaml | 130 +++++++++ .../launcher/PowerLauncher/Languages/de.xaml | 130 +++++++++ .../launcher/PowerLauncher/Languages/en.xaml | 144 ++++++++++ .../launcher/PowerLauncher/Languages/fr.xaml | 136 +++++++++ .../launcher/PowerLauncher/Languages/it.xaml | 139 +++++++++ .../launcher/PowerLauncher/Languages/ja.xaml | 142 +++++++++ .../launcher/PowerLauncher/Languages/ko.xaml | 134 +++++++++ .../PowerLauncher/Languages/nb-NO.xaml | 139 +++++++++ .../launcher/PowerLauncher/Languages/nl.xaml | 130 +++++++++ .../launcher/PowerLauncher/Languages/pl.xaml | 130 +++++++++ .../PowerLauncher/Languages/pt-br.xaml | 139 +++++++++ .../launcher/PowerLauncher/Languages/ru.xaml | 130 +++++++++ .../launcher/PowerLauncher/Languages/sk.xaml | 140 +++++++++ .../launcher/PowerLauncher/Languages/sr.xaml | 139 +++++++++ .../launcher/PowerLauncher/Languages/tr.xaml | 143 +++++++++ .../PowerLauncher/Languages/uk-UA.xaml | 130 +++++++++ .../PowerLauncher/Languages/zh-cn.xaml | 137 +++++++++ .../PowerLauncher/Languages/zh-tw.xaml | 130 +++++++++ .../launcher/PowerLauncher/MainWindow.xaml | 31 ++ .../launcher/PowerLauncher/MainWindow.xaml.cs | 271 ++++++++++++++++++ src/modules/launcher/PowerLauncher/Msg.xaml | 41 +++ .../launcher/PowerLauncher/Msg.xaml.cs | 87 ++++++ .../PowerLauncher/PowerLauncher.csproj | 199 +++++++++++++ .../PowerLauncher/Properties/AssemblyInfo.cs | 7 + .../Properties/Resources.Designer.cs | 73 +++++ .../PowerLauncher/Properties/Resources.resx | 124 ++++++++ .../Properties/Settings.Designer.cs | 35 +++ .../Properties/Settings.settings | 9 + .../launcher/PowerLauncher/ReportWindow.xaml | 23 ++ .../PowerLauncher/ReportWindow.xaml.cs | 64 +++++ .../launcher/PowerLauncher/Resources/app.ico | Bin 0 -> 32988 bytes .../launcher/PowerLauncher/ResultListBox.xaml | 119 ++++++++ .../PowerLauncher/ResultListBox.xaml.cs | 58 ++++ .../launcher/PowerLauncher/Themes/Base.xaml | 141 +++++++++ .../PowerLauncher/Themes/BlackAndWhite.xaml | 1 + .../PowerLauncher/Themes/BlurBlack.xaml | 58 ++++ .../PowerLauncher/Themes/BlurWhite.xaml | 58 ++++ .../launcher/PowerLauncher/Themes/Dark.xaml | 40 +++ .../launcher/PowerLauncher/Themes/Gray.xaml | 49 ++++ .../launcher/PowerLauncher/Themes/Light.xaml | 50 ++++ .../PowerLauncher/Themes/Metro Server.xaml | 33 +++ .../launcher/PowerLauncher/Themes/Pink.xaml | 30 ++ .../Themes/ThemeBuilder/Template.xaml | 52 ++++ .../Themes/ThemeBuilder/ThemeConvertor.py | 26 ++ .../launcher/PowerLauncher/app.manifest | 74 +++++ src/modules/launcher/PowerLauncher/app.png | Bin 0 -> 11524 bytes .../Properties/AssemblyInfo.cs | 1 + 104 files changed, 5300 insertions(+) create mode 100644 src/modules/launcher/PowerLauncher.UI/App.xaml create mode 100644 src/modules/launcher/PowerLauncher.UI/App.xaml.cs create mode 100644 src/modules/launcher/PowerLauncher.UI/Assets/LockScreenLogo.scale-200.png create mode 100644 src/modules/launcher/PowerLauncher.UI/Assets/SplashScreen.scale-200.png create mode 100644 src/modules/launcher/PowerLauncher.UI/Assets/Square150x150Logo.scale-200.png create mode 100644 src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.scale-200.png create mode 100644 src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 src/modules/launcher/PowerLauncher.UI/Assets/StoreLogo.png create mode 100644 src/modules/launcher/PowerLauncher.UI/Assets/Wide310x150Logo.scale-200.png create mode 100644 src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml create mode 100644 src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml.cs create mode 100644 src/modules/launcher/PowerLauncher.UI/MainPage.xaml create mode 100644 src/modules/launcher/PowerLauncher.UI/Package.appxmanifest create mode 100644 src/modules/launcher/PowerLauncher.UI/PowerLauncher.UI.csproj create mode 100644 src/modules/launcher/PowerLauncher.UI/Properties/AssemblyInfo.cs create mode 100644 src/modules/launcher/PowerLauncher.UI/Properties/Default.rd.xml create mode 100644 src/modules/launcher/PowerLauncher/ActionKeywords.xaml create mode 100644 src/modules/launcher/PowerLauncher/ActionKeywords.xaml.cs create mode 100644 src/modules/launcher/PowerLauncher/App.xaml create mode 100644 src/modules/launcher/PowerLauncher/App.xaml.cs create mode 100644 src/modules/launcher/PowerLauncher/FodyWeavers.xml create mode 100644 src/modules/launcher/PowerLauncher/FodyWeavers.xsd create mode 100644 src/modules/launcher/PowerLauncher/HotkeyControl.xaml create mode 100644 src/modules/launcher/PowerLauncher/HotkeyControl.xaml.cs create mode 100644 src/modules/launcher/PowerLauncher/Images/Browser.png create mode 100644 src/modules/launcher/PowerLauncher/Images/EXE.png create mode 100644 src/modules/launcher/PowerLauncher/Images/Link.png create mode 100644 src/modules/launcher/PowerLauncher/Images/New Message.png create mode 100644 src/modules/launcher/PowerLauncher/Images/app.png create mode 100644 src/modules/launcher/PowerLauncher/Images/app_error.png create mode 100644 src/modules/launcher/PowerLauncher/Images/calculator.png create mode 100644 src/modules/launcher/PowerLauncher/Images/cancel.png create mode 100644 src/modules/launcher/PowerLauncher/Images/close.png create mode 100644 src/modules/launcher/PowerLauncher/Images/cmd.png create mode 100644 src/modules/launcher/PowerLauncher/Images/color.png create mode 100644 src/modules/launcher/PowerLauncher/Images/copy.png create mode 100644 src/modules/launcher/PowerLauncher/Images/down.png create mode 100644 src/modules/launcher/PowerLauncher/Images/file.png create mode 100644 src/modules/launcher/PowerLauncher/Images/find.png create mode 100644 src/modules/launcher/PowerLauncher/Images/folder.png create mode 100644 src/modules/launcher/PowerLauncher/Images/history.png create mode 100644 src/modules/launcher/PowerLauncher/Images/image.png create mode 100644 src/modules/launcher/PowerLauncher/Images/lock.png create mode 100644 src/modules/launcher/PowerLauncher/Images/logoff.png create mode 100644 src/modules/launcher/PowerLauncher/Images/ok.png create mode 100644 src/modules/launcher/PowerLauncher/Images/open.png create mode 100644 src/modules/launcher/PowerLauncher/Images/plugin.png create mode 100644 src/modules/launcher/PowerLauncher/Images/recyclebin.png create mode 100644 src/modules/launcher/PowerLauncher/Images/restart.png create mode 100644 src/modules/launcher/PowerLauncher/Images/search.png create mode 100644 src/modules/launcher/PowerLauncher/Images/settings.png create mode 100644 src/modules/launcher/PowerLauncher/Images/shutdown.png create mode 100644 src/modules/launcher/PowerLauncher/Images/sleep.png create mode 100644 src/modules/launcher/PowerLauncher/Images/up.png create mode 100644 src/modules/launcher/PowerLauncher/Images/update.png create mode 100644 src/modules/launcher/PowerLauncher/Images/warning.png create mode 100644 src/modules/launcher/PowerLauncher/Languages/da.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/de.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/en.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/fr.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/it.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/ja.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/ko.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/nb-NO.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/nl.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/pl.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/pt-br.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/ru.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/sk.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/sr.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/tr.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/uk-UA.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/zh-cn.xaml create mode 100644 src/modules/launcher/PowerLauncher/Languages/zh-tw.xaml create mode 100644 src/modules/launcher/PowerLauncher/MainWindow.xaml create mode 100644 src/modules/launcher/PowerLauncher/MainWindow.xaml.cs create mode 100644 src/modules/launcher/PowerLauncher/Msg.xaml create mode 100644 src/modules/launcher/PowerLauncher/Msg.xaml.cs create mode 100644 src/modules/launcher/PowerLauncher/PowerLauncher.csproj create mode 100644 src/modules/launcher/PowerLauncher/Properties/AssemblyInfo.cs create mode 100644 src/modules/launcher/PowerLauncher/Properties/Resources.Designer.cs create mode 100644 src/modules/launcher/PowerLauncher/Properties/Resources.resx create mode 100644 src/modules/launcher/PowerLauncher/Properties/Settings.Designer.cs create mode 100644 src/modules/launcher/PowerLauncher/Properties/Settings.settings create mode 100644 src/modules/launcher/PowerLauncher/ReportWindow.xaml create mode 100644 src/modules/launcher/PowerLauncher/ReportWindow.xaml.cs create mode 100644 src/modules/launcher/PowerLauncher/Resources/app.ico create mode 100644 src/modules/launcher/PowerLauncher/ResultListBox.xaml create mode 100644 src/modules/launcher/PowerLauncher/ResultListBox.xaml.cs create mode 100644 src/modules/launcher/PowerLauncher/Themes/Base.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/BlackAndWhite.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/BlurBlack.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/BlurWhite.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/Dark.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/Gray.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/Light.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/Metro Server.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/Pink.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/Template.xaml create mode 100644 src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/ThemeConvertor.py create mode 100644 src/modules/launcher/PowerLauncher/app.manifest create mode 100644 src/modules/launcher/PowerLauncher/app.png diff --git a/PowerToys.sln b/PowerToys.sln index a3c610b38b..d5304fefe2 100644 --- a/PowerToys.sln +++ b/PowerToys.sln @@ -167,148 +167,414 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Wox.Launcher", "src\modules EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wox.Plugin.Indexer", "src\modules\launcher\Plugins\Wox.Plugin.Indexer\Wox.Plugin.Indexer.csproj", "{8DD27FDE-7B2F-45D8-A148-3340205A7BEF}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PowerLauncher", "src\modules\launcher\PowerLauncher\PowerLauncher.csproj", "{F97E5003-F263-4D4A-A964-0F1F3C82DEF2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PowerLauncher.UI", "src\modules\launcher\PowerLauncher.UI\PowerLauncher.UI.csproj", "{4A3DE70C-684C-410D-B851-C23B6DAEDF16}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|ARM.ActiveCfg = Debug|x64 + {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|ARM64.ActiveCfg = Debug|x64 {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|x64.ActiveCfg = Debug|x64 {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|x64.Build.0 = Debug|x64 + {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|x86.ActiveCfg = Debug|x64 + {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|ARM.ActiveCfg = Release|x64 + {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|ARM64.ActiveCfg = Release|x64 {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|x64.ActiveCfg = Release|x64 {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|x64.Build.0 = Release|x64 + {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|x86.ActiveCfg = Release|x64 + {74485049-C722-400F-ABE5-86AC52D929B3}.Debug|ARM.ActiveCfg = Debug|x64 + {74485049-C722-400F-ABE5-86AC52D929B3}.Debug|ARM64.ActiveCfg = Debug|x64 {74485049-C722-400F-ABE5-86AC52D929B3}.Debug|x64.ActiveCfg = Debug|x64 {74485049-C722-400F-ABE5-86AC52D929B3}.Debug|x64.Build.0 = Debug|x64 + {74485049-C722-400F-ABE5-86AC52D929B3}.Debug|x86.ActiveCfg = Debug|x64 + {74485049-C722-400F-ABE5-86AC52D929B3}.Release|ARM.ActiveCfg = Release|x64 + {74485049-C722-400F-ABE5-86AC52D929B3}.Release|ARM64.ActiveCfg = Release|x64 {74485049-C722-400F-ABE5-86AC52D929B3}.Release|x64.ActiveCfg = Release|x64 {74485049-C722-400F-ABE5-86AC52D929B3}.Release|x64.Build.0 = Release|x64 + {74485049-C722-400F-ABE5-86AC52D929B3}.Release|x86.ActiveCfg = Release|x64 + {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|ARM.ActiveCfg = Debug|x64 + {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|ARM64.ActiveCfg = Debug|x64 {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|x64.ActiveCfg = Debug|x64 {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|x64.Build.0 = Debug|x64 + {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|x86.ActiveCfg = Debug|x64 + {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|ARM.ActiveCfg = Release|x64 + {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|ARM64.ActiveCfg = Release|x64 {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|x64.ActiveCfg = Release|x64 {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|x64.Build.0 = Release|x64 + {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|x86.ActiveCfg = Release|x64 + {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|ARM.ActiveCfg = Debug|x64 + {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|ARM64.ActiveCfg = Debug|x64 {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|x64.ActiveCfg = Debug|x64 {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|x64.Build.0 = Debug|x64 + {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Debug|x86.ActiveCfg = Debug|x64 + {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|ARM.ActiveCfg = Release|x64 + {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|ARM64.ActiveCfg = Release|x64 {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|x64.ActiveCfg = Release|x64 {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|x64.Build.0 = Release|x64 + {44CC9375-3E6E-4D99-8913-7FB748807EBD}.Release|x86.ActiveCfg = Release|x64 + {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|ARM.ActiveCfg = Debug|x64 + {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|ARM64.ActiveCfg = Debug|x64 {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|x64.ActiveCfg = Debug|x64 {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|x64.Build.0 = Debug|x64 + {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|x86.ActiveCfg = Debug|x64 + {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|ARM.ActiveCfg = Release|x64 + {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|ARM64.ActiveCfg = Release|x64 {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|x64.ActiveCfg = Release|x64 {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|x64.Build.0 = Release|x64 + {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|x86.ActiveCfg = Release|x64 + {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|ARM.ActiveCfg = Debug|x64 + {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|ARM64.ActiveCfg = Debug|x64 {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|x64.ActiveCfg = Debug|x64 {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|x64.Build.0 = Debug|x64 + {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|x86.ActiveCfg = Debug|x64 + {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|ARM.ActiveCfg = Release|x64 + {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|ARM64.ActiveCfg = Release|x64 {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|x64.ActiveCfg = Release|x64 {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|x64.Build.0 = Release|x64 + {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|x86.ActiveCfg = Release|x64 + {48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|ARM.ActiveCfg = Debug|x64 + {48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|ARM64.ActiveCfg = Debug|x64 {48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|x64.ActiveCfg = Debug|x64 {48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|x64.Build.0 = Debug|x64 + {48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|x86.ActiveCfg = Debug|x64 + {48804216-2A0E-4168-A6D8-9CD068D14227}.Release|ARM.ActiveCfg = Release|x64 + {48804216-2A0E-4168-A6D8-9CD068D14227}.Release|ARM64.ActiveCfg = Release|x64 {48804216-2A0E-4168-A6D8-9CD068D14227}.Release|x64.ActiveCfg = Release|x64 {48804216-2A0E-4168-A6D8-9CD068D14227}.Release|x64.Build.0 = Release|x64 + {48804216-2A0E-4168-A6D8-9CD068D14227}.Release|x86.ActiveCfg = Release|x64 + {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|ARM.ActiveCfg = Debug|x64 + {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|ARM64.ActiveCfg = Debug|x64 {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|x64.ActiveCfg = Debug|x64 {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|x64.Build.0 = Debug|x64 + {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|x86.ActiveCfg = Debug|x64 + {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|ARM.ActiveCfg = Release|x64 + {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|ARM64.ActiveCfg = Release|x64 {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|x64.ActiveCfg = Release|x64 {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|x64.Build.0 = Release|x64 + {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|x86.ActiveCfg = Release|x64 + {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|ARM.ActiveCfg = Debug|x64 + {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|ARM64.ActiveCfg = Debug|x64 {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|x64.ActiveCfg = Debug|x64 {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|x64.Build.0 = Debug|x64 + {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|x86.ActiveCfg = Debug|x64 + {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|ARM.ActiveCfg = Release|x64 + {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|ARM64.ActiveCfg = Release|x64 {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.ActiveCfg = Release|x64 {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.Build.0 = Release|x64 + {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x86.ActiveCfg = Release|x64 + {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|ARM.ActiveCfg = Debug|x64 + {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|ARM64.ActiveCfg = Debug|x64 {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x64.ActiveCfg = Debug|x64 {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x64.Build.0 = Debug|x64 + {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x86.ActiveCfg = Debug|x64 + {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|ARM.ActiveCfg = Release|x64 + {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|ARM64.ActiveCfg = Release|x64 {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|x64.ActiveCfg = Release|x64 {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|x64.Build.0 = Release|x64 + {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|x86.ActiveCfg = Release|x64 + {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|ARM.ActiveCfg = Debug|Win32 + {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|ARM64.ActiveCfg = Debug|Win32 {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x64.ActiveCfg = Debug|x64 {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x64.Build.0 = Debug|x64 + {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x86.ActiveCfg = Debug|Win32 + {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x86.Build.0 = Debug|Win32 + {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|ARM.ActiveCfg = Release|Win32 + {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|ARM64.ActiveCfg = Release|Win32 {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x64.ActiveCfg = Release|x64 {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x64.Build.0 = Release|x64 + {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x86.ActiveCfg = Release|Win32 + {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x86.Build.0 = Release|Win32 + {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|ARM.ActiveCfg = Debug|Win32 + {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|ARM64.ActiveCfg = Debug|Win32 {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x64.ActiveCfg = Debug|x64 {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x64.Build.0 = Debug|x64 + {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x86.ActiveCfg = Debug|Win32 + {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x86.Build.0 = Debug|Win32 + {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|ARM.ActiveCfg = Release|Win32 + {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|ARM64.ActiveCfg = Release|Win32 {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x64.ActiveCfg = Release|x64 {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x64.Build.0 = Release|x64 + {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x86.ActiveCfg = Release|Win32 + {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x86.Build.0 = Release|Win32 + {0E072714-D127-460B-AFAD-B4C40B412798}.Debug|ARM.ActiveCfg = Debug|x64 + {0E072714-D127-460B-AFAD-B4C40B412798}.Debug|ARM64.ActiveCfg = Debug|x64 {0E072714-D127-460B-AFAD-B4C40B412798}.Debug|x64.ActiveCfg = Debug|x64 {0E072714-D127-460B-AFAD-B4C40B412798}.Debug|x64.Build.0 = Debug|x64 + {0E072714-D127-460B-AFAD-B4C40B412798}.Debug|x86.ActiveCfg = Debug|x64 + {0E072714-D127-460B-AFAD-B4C40B412798}.Release|ARM.ActiveCfg = Release|x64 + {0E072714-D127-460B-AFAD-B4C40B412798}.Release|ARM64.ActiveCfg = Release|x64 {0E072714-D127-460B-AFAD-B4C40B412798}.Release|x64.ActiveCfg = Release|x64 {0E072714-D127-460B-AFAD-B4C40B412798}.Release|x64.Build.0 = Release|x64 + {0E072714-D127-460B-AFAD-B4C40B412798}.Release|x86.ActiveCfg = Release|x64 + {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|ARM.ActiveCfg = Debug|Win32 + {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|ARM64.ActiveCfg = Debug|Win32 {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x64.ActiveCfg = Debug|x64 {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x64.Build.0 = Debug|x64 + {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x86.ActiveCfg = Debug|Win32 + {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x86.Build.0 = Debug|Win32 + {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|ARM.ActiveCfg = Release|Win32 + {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|ARM64.ActiveCfg = Release|Win32 {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x64.ActiveCfg = Release|x64 {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x64.Build.0 = Release|x64 + {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x86.ActiveCfg = Release|Win32 + {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x86.Build.0 = Release|Win32 + {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|ARM.ActiveCfg = Debug|Win32 + {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|ARM64.ActiveCfg = Debug|Win32 {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x64.ActiveCfg = Debug|x64 {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x64.Build.0 = Debug|x64 + {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x86.ActiveCfg = Debug|Win32 + {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x86.Build.0 = Debug|Win32 + {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|ARM.ActiveCfg = Release|Win32 + {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|ARM64.ActiveCfg = Release|Win32 {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x64.ActiveCfg = Release|x64 {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x64.Build.0 = Release|x64 + {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x86.ActiveCfg = Release|Win32 + {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x86.Build.0 = Release|Win32 + {64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|ARM.ActiveCfg = Debug|x64 + {64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|ARM64.ActiveCfg = Debug|x64 {64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|x64.ActiveCfg = Debug|x64 {64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|x64.Build.0 = Debug|x64 + {64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|x86.ActiveCfg = Debug|x64 + {64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|ARM.ActiveCfg = Release|x64 + {64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|ARM64.ActiveCfg = Release|x64 {64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|x64.ActiveCfg = Release|x64 {64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|x64.Build.0 = Release|x64 + {64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|x86.ActiveCfg = Release|x64 + {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|ARM.ActiveCfg = Debug|x64 + {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|ARM64.ActiveCfg = Debug|x64 {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|x64.ActiveCfg = Debug|x64 {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|x64.Build.0 = Debug|x64 + {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|x86.ActiveCfg = Debug|x64 + {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|ARM.ActiveCfg = Release|x64 + {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|ARM64.ActiveCfg = Release|x64 {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|x64.ActiveCfg = Release|x64 {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|x64.Build.0 = Release|x64 + {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|x86.ActiveCfg = Release|x64 + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|ARM.ActiveCfg = Debug|ARM + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|ARM.Build.0 = Debug|ARM + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|ARM64.ActiveCfg = Debug|Win32 {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x64.ActiveCfg = Debug|x64 {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x64.Build.0 = Debug|x64 + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x86.ActiveCfg = Debug|Win32 + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x86.Build.0 = Debug|Win32 + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|ARM.ActiveCfg = Release|ARM + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|ARM.Build.0 = Release|ARM + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|ARM64.ActiveCfg = Release|Win32 {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x64.ActiveCfg = Release|x64 {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x64.Build.0 = Release|x64 + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x86.ActiveCfg = Release|Win32 + {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x86.Build.0 = Release|Win32 + {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|ARM.ActiveCfg = Debug|Win32 + {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|ARM64.ActiveCfg = Debug|Win32 {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x64.ActiveCfg = Debug|x64 {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x64.Build.0 = Debug|x64 + {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x86.ActiveCfg = Debug|Win32 + {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x86.Build.0 = Debug|Win32 + {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|ARM.ActiveCfg = Release|Win32 + {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|ARM64.ActiveCfg = Release|Win32 {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x64.ActiveCfg = Release|x64 {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x64.Build.0 = Release|x64 + {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x86.ActiveCfg = Release|Win32 + {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x86.Build.0 = Release|Win32 + {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|ARM.ActiveCfg = Debug|x64 + {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|ARM64.ActiveCfg = Debug|x64 {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|x64.ActiveCfg = Debug|x64 {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|x64.Build.0 = Debug|x64 + {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Debug|x86.ActiveCfg = Debug|x64 + {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|ARM.ActiveCfg = Release|x64 + {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|ARM64.ActiveCfg = Release|x64 {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|x64.ActiveCfg = Release|x64 {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|x64.Build.0 = Release|x64 + {B9BDF8BE-FED7-49B5-A7AE-DD4D1CA2D9EB}.Release|x86.ActiveCfg = Release|x64 + {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|ARM.ActiveCfg = Debug|x64 + {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|ARM64.ActiveCfg = Debug|x64 {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|x64.ActiveCfg = Debug|x64 {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|x64.Build.0 = Debug|x64 + {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Debug|x86.ActiveCfg = Debug|x64 + {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|ARM.ActiveCfg = Release|x64 + {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|ARM64.ActiveCfg = Release|x64 {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|x64.ActiveCfg = Release|x64 {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|x64.Build.0 = Release|x64 + {51D3BD1F-07A8-48EB-B2A0-0A249CD4E1A6}.Release|x86.ActiveCfg = Release|x64 + {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|ARM.ActiveCfg = Debug|Win32 + {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|ARM64.ActiveCfg = Debug|Win32 {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x64.ActiveCfg = Debug|x64 {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x64.Build.0 = Debug|x64 + {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x86.ActiveCfg = Debug|Win32 + {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x86.Build.0 = Debug|Win32 + {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|ARM.ActiveCfg = Release|Win32 + {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|ARM64.ActiveCfg = Release|Win32 {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x64.ActiveCfg = Release|x64 {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x64.Build.0 = Release|x64 + {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x86.ActiveCfg = Release|Win32 + {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x86.Build.0 = Release|Win32 + {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|ARM.ActiveCfg = Debug|Win32 + {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|ARM64.ActiveCfg = Debug|Win32 {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x64.ActiveCfg = Debug|x64 {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x64.Build.0 = Debug|x64 + {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x86.ActiveCfg = Debug|Win32 + {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x86.Build.0 = Debug|Win32 + {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|ARM.ActiveCfg = Release|Win32 + {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|ARM64.ActiveCfg = Release|Win32 {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x64.ActiveCfg = Release|x64 {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x64.Build.0 = Release|x64 + {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x86.ActiveCfg = Release|Win32 + {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x86.Build.0 = Release|Win32 + {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|ARM.ActiveCfg = Debug|x64 + {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|ARM64.ActiveCfg = Debug|x64 {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|x64.ActiveCfg = Debug|x64 {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|x64.Build.0 = Debug|x64 + {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Debug|x86.ActiveCfg = Debug|x64 + {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|ARM.ActiveCfg = Release|x64 + {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|ARM64.ActiveCfg = Release|x64 {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|x64.ActiveCfg = Release|x64 {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|x64.Build.0 = Release|x64 + {DB90F671-D861-46BB-93A3-F1304F5BA1C5}.Release|x86.ActiveCfg = Release|x64 + {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|ARM.ActiveCfg = Debug|x64 + {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|ARM64.ActiveCfg = Debug|x64 {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|x64.ActiveCfg = Debug|x64 {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|x64.Build.0 = Debug|x64 + {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|x86.ActiveCfg = Debug|x64 + {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|ARM.ActiveCfg = Release|x64 + {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|ARM64.ActiveCfg = Release|x64 {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|x64.ActiveCfg = Release|x64 {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|x64.Build.0 = Release|x64 + {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|x86.ActiveCfg = Release|x64 + {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|ARM.ActiveCfg = Debug|x64 + {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|ARM64.ActiveCfg = Debug|x64 {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|x64.ActiveCfg = Debug|x64 {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|x64.Build.0 = Debug|x64 + {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|x86.ActiveCfg = Debug|x64 + {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|ARM.ActiveCfg = Release|x64 + {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|ARM64.ActiveCfg = Release|x64 {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x64.ActiveCfg = Release|x64 {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x64.Build.0 = Release|x64 + {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x86.ActiveCfg = Release|x64 + {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|ARM.ActiveCfg = Debug|x64 + {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|ARM64.ActiveCfg = Debug|x64 {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|x64.ActiveCfg = Debug|x64 {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|x64.Build.0 = Debug|x64 + {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|x86.ActiveCfg = Debug|x64 + {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|ARM.ActiveCfg = Release|x64 + {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|ARM64.ActiveCfg = Release|x64 {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|x64.ActiveCfg = Release|x64 {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|x64.Build.0 = Release|x64 + {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|x86.ActiveCfg = Release|x64 + {FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|ARM.ActiveCfg = Debug|x64 + {FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|ARM64.ActiveCfg = Debug|x64 {FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.ActiveCfg = Debug|x64 {FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.Build.0 = Debug|x64 + {FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x86.ActiveCfg = Debug|x64 + {FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|ARM.ActiveCfg = Release|x64 + {FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|ARM64.ActiveCfg = Release|x64 {FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|x64.ActiveCfg = Release|x64 {FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|x64.Build.0 = Release|x64 + {FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|x86.ActiveCfg = Release|x64 + {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|ARM.ActiveCfg = Debug|x64 + {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|ARM64.ActiveCfg = Debug|x64 {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|x64.ActiveCfg = Debug|x64 {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|x64.Build.0 = Debug|x64 + {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|x86.ActiveCfg = Debug|x64 + {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|ARM.ActiveCfg = Release|x64 + {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|ARM64.ActiveCfg = Release|x64 {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|x64.ActiveCfg = Release|x64 {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|x64.Build.0 = Release|x64 + {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|x86.ActiveCfg = Release|x64 + {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|ARM.ActiveCfg = Debug|x64 + {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|ARM64.ActiveCfg = Debug|x64 {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|x64.ActiveCfg = Debug|x64 {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|x64.Build.0 = Debug|x64 + {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|x86.ActiveCfg = Debug|x64 + {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|ARM.ActiveCfg = Release|x64 + {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|ARM64.ActiveCfg = Release|x64 {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|x64.ActiveCfg = Release|x64 {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|x64.Build.0 = Release|x64 + {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|x86.ActiveCfg = Release|x64 + {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|ARM.ActiveCfg = Debug|x64 + {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|ARM64.ActiveCfg = Debug|x64 {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|x64.ActiveCfg = Debug|x64 {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|x64.Build.0 = Debug|x64 + {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|x86.ActiveCfg = Debug|x64 + {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|ARM.ActiveCfg = Release|x64 + {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|ARM64.ActiveCfg = Release|x64 {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|x64.ActiveCfg = Release|x64 {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|x64.Build.0 = Release|x64 + {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|x86.ActiveCfg = Release|x64 + {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|ARM.ActiveCfg = Debug|x64 + {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|ARM64.ActiveCfg = Debug|x64 {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|x64.ActiveCfg = Debug|x64 {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|x64.Build.0 = Debug|x64 + {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|x86.ActiveCfg = Debug|x64 + {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|ARM.ActiveCfg = Release|x64 + {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|ARM64.ActiveCfg = Release|x64 {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x64.ActiveCfg = Release|x64 {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x64.Build.0 = Release|x64 + {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x86.ActiveCfg = Release|x64 + {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|ARM.ActiveCfg = Debug|x64 + {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|ARM64.ActiveCfg = Debug|x64 {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x64.ActiveCfg = Debug|x64 {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x64.Build.0 = Debug|x64 + {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x86.ActiveCfg = Debug|x64 + {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|ARM.ActiveCfg = Release|x64 + {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|ARM64.ActiveCfg = Release|x64 {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x64.ActiveCfg = Release|x64 {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x64.Build.0 = Release|x64 + {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x86.ActiveCfg = Release|x64 + {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|ARM.ActiveCfg = Debug|x64 + {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|ARM64.ActiveCfg = Debug|x64 {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|x64.ActiveCfg = Debug|x64 {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|x64.Build.0 = Debug|x64 + {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Debug|x86.ActiveCfg = Debug|x64 + {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|ARM.ActiveCfg = Release|x64 + {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|ARM64.ActiveCfg = Release|x64 {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|x64.ActiveCfg = Release|x64 {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|x64.Build.0 = Release|x64 + {8DD27FDE-7B2F-45D8-A148-3340205A7BEF}.Release|x86.ActiveCfg = Release|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|ARM.ActiveCfg = Debug|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|ARM64.ActiveCfg = Debug|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|x64.ActiveCfg = Debug|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|x64.Build.0 = Debug|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|x86.ActiveCfg = Debug|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|ARM.ActiveCfg = Release|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|ARM64.ActiveCfg = Release|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|x64.ActiveCfg = Release|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|x64.Build.0 = Release|x64 + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|x86.ActiveCfg = Release|x64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM.ActiveCfg = Debug|ARM + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM.Build.0 = Debug|ARM + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM.Deploy.0 = Debug|ARM + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM64.Build.0 = Debug|ARM64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x64.ActiveCfg = Debug|x64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x64.Build.0 = Debug|x64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x64.Deploy.0 = Debug|x64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x86.ActiveCfg = Debug|x86 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x86.Build.0 = Debug|x86 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Debug|x86.Deploy.0 = Debug|x86 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM.ActiveCfg = Release|ARM + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM.Build.0 = Release|ARM + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM.Deploy.0 = Release|ARM + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM64.ActiveCfg = Release|ARM64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM64.Build.0 = Release|ARM64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|ARM64.Deploy.0 = Release|ARM64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x64.ActiveCfg = Release|x64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x64.Build.0 = Release|x64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x64.Deploy.0 = Release|x64 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x86.ActiveCfg = Release|x86 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x86.Build.0 = Release|x86 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16}.Release|x86.Deploy.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -351,6 +617,8 @@ Global {787B8AA6-CA93-4C84-96FE-DF31110AD1C4} = {4AFC9975-2456-4C70-94A4-84073C1CED93} {E364F67B-BB12-4E91-B639-355866EBCD8B} = {C140A3EF-6DBF-4084-9D4C-4EB5A99FEE68} {8DD27FDE-7B2F-45D8-A148-3340205A7BEF} = {4AFC9975-2456-4C70-94A4-84073C1CED93} + {F97E5003-F263-4D4A-A964-0F1F3C82DEF2} = {C140A3EF-6DBF-4084-9D4C-4EB5A99FEE68} + {4A3DE70C-684C-410D-B851-C23B6DAEDF16} = {C140A3EF-6DBF-4084-9D4C-4EB5A99FEE68} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C3A2F9D1-7930-4EF4-A6FC-7EE0A99821D0} diff --git a/src/modules/launcher/PowerLauncher.UI/App.xaml b/src/modules/launcher/PowerLauncher.UI/App.xaml new file mode 100644 index 0000000000..9123f30746 --- /dev/null +++ b/src/modules/launcher/PowerLauncher.UI/App.xaml @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher.UI/App.xaml.cs b/src/modules/launcher/PowerLauncher.UI/App.xaml.cs new file mode 100644 index 0000000000..3e96413d1d --- /dev/null +++ b/src/modules/launcher/PowerLauncher.UI/App.xaml.cs @@ -0,0 +1,10 @@ +namespace PowerLauncher.UI +{ + public sealed partial class App : Microsoft.Toolkit.Win32.UI.XamlHost.XamlApplication + { + public App() + { + this.Initialize(); + } + } +} \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/LockScreenLogo.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..735f57adb5dfc01886d137b4e493d7e97cf13af3 GIT binary patch literal 1430 zcmaJ>TTC2P7~aKltDttVHYH6u8Io4i*}3fO&d$gd*bA_<3j~&e7%8(eXJLfhS!M@! zKrliY>>6yT4+Kr95$!DoD(Qn-5TP|{V_KS`k~E6(LGS@#`v$hQo&^^BKsw3HIsZBT z_y6C2n`lK@apunKojRQ^(_P}Mgewt$(^BBKCTZ;*xa?J3wQ7~@S0lUvbcLeq1Bg4o zH-bvQi|wt~L7q$~a-gDFP!{&TQfc3fX*6=uHv* zT&1&U(-)L%Xp^djI2?~eBF2cxC@YOP$+9d?P&h?lPy-9M2UT9fg5jKm1t$m#iWE{M zIf%q9@;fyT?0UP>tcw-bLkz;s2LlKl2qeP0w zECS7Ate+Awk|KQ+DOk;fl}Xsy4o^CY=pwq%QAAKKl628_yNPsK>?A>%D8fQG6IgdJ ztnxttBz#NI_a@fk7SU`WtrpsfZsNs9^0(2a z@C3#YO3>k~w7?2hipBf{#b6`}Xw1hlG$yi?;1dDs7k~xDAw@jiI*+tc;t2Lflg&bM)0!Y;0_@=w%`LW^8DsYpS#-bLOklX9r?Ei}TScw|4DbpW%+7 zFgAI)f51s}{y-eWb|vrU-Ya!GuYKP)J7z#*V_k^Xo>4!1Yqj*m)x&0L^tg3GJbVAJ zJ-Pl$R=NAabouV=^z_t;^K*0AvFs!vYU>_<|I^#c?>>CR<(T?=%{;U=aI*SbZADLH z&(f2wz_Y0??Tf|g;?|1Znw6}6U43Q#qNRwv1vp9uFn1)V#*4p&%$mP9x&15^OaBiDS(XppT|z^>;B{PLVEbS3IFYV yGvCsSX*m literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/SplashScreen.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/SplashScreen.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..023e7f1feda78d5100569825acedfd213a0d84e9 GIT binary patch literal 7700 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 literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/Square150x150Logo.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..af49fec1a5484db1d52a7f9b5ec90a27c7030186 GIT binary patch literal 2937 zcma)84OCO-8BSud5)jwMLRVKgX(S?$n?Ld|vrsm<$CF7)&zTbyy1FE5bU`Q17MRv`9ue$;R(@8kR;#vJ*IM0>cJIAOte!d7oRgdH zd%ySjdB6L9=gX^A6)VzH7p2l@v~3zJAMw|DFy#^)F@@F*`mqUn=Il>l)8_+ab;nOW{%+iPx z+s{Eu|&pIs)Z7{La9~?xKfyl z#43?gjEL15d4WbOZo#SiP%>DB^+BcnJ=7dHEe;r#G=tuw|ka z%q@}##Uh7;tc%L_64m(kHtw74ty%BJMb)_1)#S0j`)F8_1jF7vScpsnH=0V19bO8y zR`0SjIdCUo&=>JwMQF8KHA<{ODHTiQh}0^@5QRmCA?gOH6_H3K^-_sNB^RrdNuK-R zOO*vOrKCVvDwgUck`kF(E7j{I#iiN;b*ZdCt4m@HPA`EuEqGGf4%!K<;(=I=&Vyrw z%TwcWtxa}8mCZ%Cyf&ActJ6_$ox5z6-D!0-dvnRx6t7y3d+h6QYpKWO;8OdnvERo7 zuEf>ih5`wqY)~o@OeVt-wM?Q!>QzdGRj!bz6fzYrfw$hZfAKzr2-M+D+R>}~oT574c;_3zquHcElqKIsryILt3g8n3jcMb+j?i?-L3FpZJ z2WRVBRdDPc+G5aaYg#5hpE+6nQ|(VSoxT3|biF;BUq#==-27Xi=gihDPYP$7?=9cP zYKE$jeQ|3~_L0VG-(F~2ZPyD0=k{J4Q~h(t__{-mz_w8{JDY9{`1ouzz!Vr5!ECdE z6U~O1k8c}24V7~zzXWTV-Pe4)y}wQJS&q%H5`Fo_f_JvIU489aCX$;P`u#!I-=^4ijC2{&9!O&h>mi?9oYD=GC#%)6{GzN6nQYw+Fal50!#x^asjBBR50i`+mho*ttoqV)ubM2KD9S~k7+FR4>{29?6 z{!l6kDdyTN0YJ9LgkPWeXm|gyi@zM3?0@{&pXT12w|78&W-q!RRF)&iLCEZVH<|fR zN0fr2^t8H(>L?>K#>^+jWROLral(Qy-xoBq1U7A&DV||wClb)Otd9?(gZ|8znMF}D zf<1haWz^s0qgecz;RFGt0C-B4g`jNGHsFU+;{<%t65v^sjk^h$lmWn#B0#_)9ij&d z-~lc`A)YYExi^7sBuPM^Y|wA2g*5?`K?#7tzELQYNxGo$UB$4J8RJp1k(8Jj+~hMT zlN~>M@KTTh^--8y3PK_NZ@AC!{PT=CziBzGd+wTJ^@icH!Bd}%)g8V)%K?|c&WTUk zy}qv1C%(fjRoZ4ozC3{O%@5?)XzH35zHns$pgU*Q?fj4v?fp1Qbm+j;3l;9jam9Da zXVcKjPlQ73x78QPu|Ffm6x?`~e3oD=gl=4kYK?={kD5j~QCXU)`HSdduNNENzA*2$ zOm3PzF!lN5e*06-f1Uot67wY#{o-S1!KZ7E=!~7ynnk9_iJR#kFoNbAOT#^2Gd17F zMmvU6>lndZQGd|ax9kUoXXO+$N?|j@6qpsF&_j7YXvwo_C{JpmLw5&#e6k>atv%es z5)7r*Wvv_JkUpT}M!_o!nVlEk1Zbl=a*2hQ*<|%*K1Glj^FcF`6kTzGQ3lz~2tCc@ z&x|tj;aH&1&9HwcJBcT`;{?a+pnej;M1HO(6Z{#J!cZA04hnFl;NXA+&`=7bjW_^o zfC40u3LMG?NdPtwGl>Tq6u}*QG)}-y;)lu-_>ee3kibW(69n0$0Zy!}9rQz%*v1iO zT9_H>99yIrSPYVy6^);rR}7Yo=J_T@hi+qhTZXnVWyf;JDYm5#eYLTxr*?kiNn!+Y zQ+LUkBafNJ#rH#C(?d5^;gw9o#%daEI{mA*LHPIHPU`#|H$hD zwm>0&+kahQ)E#%~k>&5@&#Vg82H?s%71=)(soi@174pi9--2{w{1$}Sz4zGn3Du&x bht0Iza^2ykEt4(epJ78uh5nDlX8(TxzDYwP literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..ce342a2ec8a61291ba76c54604aea7e9d20af11b GIT binary patch literal 1647 zcmaJ?eM}Q)7(e+G1Q(|`V9JhTI2>MkceK4;p;PR&$Pi?ejk3YQ_3o`S&|W_dsOZ8# zWPTt69g`t$ab`0cj-Y0yiBSOqmd)tG7G(}M5aP0_%&9TijB#&)I{zSE^4@#z^FF`l z`8{8`o%wlL(UI|y2!cdsuVamHH~H86F!*-15em4)NqUpCQM5?aoC_eCf@lV4wvF2a zjDQn1JBL69f&@2M3rvzJcfE!eZ8FZUBlFlC5RD)it33{mF9#B82AiyQE%w)`vlwa> zv{<1sm&kSKK$&%2jSFn7$t&P%%6Ue>R=EAnG8N7fqynWG8L3p!4801a;8{+nliO(qd(jNJ_?+9W3#hLIDLoT6~3fx9=`CC-D}-AMrpEO7HK zt3$GicGPc?GmDjy7K2P@La;eu4!$zWCZ`ym{Z$b zu-O6RM&K4JT|BIZB`E-gxqG%FzanI#+2FFmqHqXG7yxWB=w55RGOM)$xMb(>kSNR z2w=1AZi%z=AmG~yea~XaXJR!v7vLn(RUnELfiB1|6D84ICOS}^Zo2AdN}<&*h}G_u z{xZ!(%>tLT3J3<5XhWy-tg+6)0nmUUENLW8TWA{R6bgVd3X;anYFZ^IRis*_P-C-r z;i>%1^eL3UI2-{w8nuFFcs0e~7J{O2k^~Ce%+Ly4U?|=!0LH=t6()xi<^I-rs+9sF z*q{E-CxZbGPeu#a;XJwE;9S1?#R&uns>^0G3p`hEUF*v`M?@h%T%J%RChmD|EVydq zmHWh*_=S%emRC*mhxaVLzT@>Z2SX0u9v*DIJ@WC^kLVdlGV6LpK$KIrlJqc zpJ921)+3JJdTx|<`G&kXpKkjGJv=76R`yYIQ{#c-`%+`#V(7}Q;&@6U8!Td1`d;?N z_9mnI#?AA}4J!r)LN4!E-@H5eXauuB7TOawS>Y|{-P?NNx-lq+z1W-+y(;39P&&LP zL{N80?&=C*qKmdA^moMZRuPcD!B<*mq$ch=0Cnlitw#txRWhb3%TQvPqjkC`F69G4b! ze7z9MZ#+;_#l?H37UqUhDFb^l&s2{oM$3I0o^Q!yx;;V)QmCMo)Tb_ui|mit8MS?U zm##6$sZZ1$@|s%?l@>4Z<*Q}sRBSKMhb4I{e5LdEhsHIHTe8Bod5c>6QtT>$XgUBz z6MK`kO$=jmt@FqggOhJ5j~e@ygRbG;<{Vu)*+nn9aQeo0;$#j;|MS=S$&L?BeV25z xs3B`@=#`5TF{^6(A1rvdY@|-RtQ|iS5{tyX+wH?;n8E)G$kykv-D^wh{{!TZT%7;_ literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/src/modules/launcher/PowerLauncher.UI/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c02ce97e0a802b85f6021e822c89f8bf57d5cd GIT binary patch literal 1255 zcmaJ>TWs4@7*5+{G#S+&C!qC#> zf>5N3P6jO*Cz>ug*(_DmW=)kea&m$gZ^+nyiF`;j%w@}y8)>p*SH}C`m?DXeieF2U zyQHecc_L%Gh!7GMt+hG06y;+|p4>m~}PjA}rKViGiEnn7G0ZO<>G|7q;2?NwGCM3s?eued6%hd$B+ z*kQJ{#~$S=DFE(%=E+UkmlEI*%3llUf~8Ja9YU1Vui0IbGBkW_gHB%Rd&!!ioX zs40O?i9I{};kle7GMvE7(rk`la=gTI)47=>%?q@^iL-nUo3}h4S}N-KHn8t5mVP8w z&bSErwp+37 zNJJ8?a|{r5Q3R0Z5s-LB1WHOwYC@7pCHWND#cL1cZ?{kJ368_*(UDWUDyb<}0y@o# zfMF016iMWPCb6obAxT$JlB6(2DrlXDTB&!0`!m??4F(qWMhjVZo?JXQmz`1*58Z=& zcDmB|S-E@j?BoFGix0flckqdS4jsPNzhfWyWIM98GxcLs89C(~dw%$_t;JjX-SD}E zfiGV;{8Q%8r}w9x>EEigW81>`kvnU@pK)4+xk9@+bNj9L!AAZ@SZ@q|)&BmY3+HZx zul~BeG4|}-;L%cHViQGQX?^zFfO0&#cHwel=d`lH9sJ-@Sl@n*(8J2>%Ac`IxyY?Q z{=GhWvC#gu-~Ia7*n{=+;qM?Ul_wy1+u7ho;=`>EwP^g~R@{unBds`!#@}tluZQpS zm)M~nYEifJWJGx?_6DcTy>#uh%>!H9=hb^(v`=m3F1{L>db=<5_tm+_&knAQ2EU$s Mu9UqpbNZeC0BbUo^Z)<= literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/StoreLogo.png b/src/modules/launcher/PowerLauncher.UI/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..7385b56c0e4d3c6b0efe3324aa1194157d837826 GIT binary patch literal 1451 zcmaJ>eN5D57_Z|bH;{0+1#mbl)eTU3{h)Wf7EZV?;HD@XL@{B`Ui%(2aMxQ~xdXSv z5nzWi(LW)U2=Vc-cY@s7nPt{i0hc6!7xN4NNHI#EQl>YNBy8l4%x9gr_W-j zEZMQmmTIy(>;lblRfh`dIyTgc9W5d!VP$L4(kKrN1c5G~(O_#xG zAJCNTstD^5SeXFB+&$h=ToJP2H>xr$iqPs-#O*;4(!Fjw25-!gEb*)mU}=)J;Iu>w zxK(5XoD0wrPSKQ~rbL^Cw6O_03*l*}i=ydbu7adJ6y;%@tjFeXIXT+ms30pmbOP%Q zX}S;+LBh8Tea~TSkHzvX6$rYb)+n&{kSbIqh|c7hmlxmwSiq5iVhU#iEQ<>a18|O^Sln-8t&+t`*{qBWo5M?wFM(JuimAOb5!K#D}XbslM@#1ZVz_;!9U zpfEpLAOz=0g@bd6Xj_ILi-x^!M}73h^o@}hM$1jflTs|Yuj9AL@A3<-?MV4!^4q`e z)fO@A;{9K^?W?DbnesnPr6kK>$zaKo&;FhFd(GYFCIU^T+OIMb%Tqo+P%oq(IdX7S zf6+HLO?7o0m+p>~Tp5UrXWh!UH!wZ5kv!E`_w)PTpI(#Iw{AS`gH4^b(bm^ZCq^FZ zY9DD7bH}rq9mg88+KgA$Zp!iWncuU2n1AuIa@=sWvUR-s`Qb{R*kk(SPU^`$6BXz8 zn#7yaFOIK%qGxyi`dYtm#&qqox0$h=pNi#u=M8zUG@bpiZ=3sT=1}Trr}39cC)H|v zbL?W)=&s4zrh)7>L(|cc%$1#!zfL?HjpeP%T+x_a+jZ16b^iKOHxFEX$7d|8${H-* zIrOJ5w&i$>*D>AKaIoYg`;{L@jM((Kt?$N$5OnuPqVvq**Nm}(f0wwOF%iX_Pba;V z;m@wxX&NcV3?<1+u?A{y_DIj7#m3Af1rCE)o`D&Y3}0%7E;iX1yMDiS)sh0wKi!36 zL!Wmq?P^Ku&rK~HJd97KkLTRl>ScGFYZNlYytWnhmuu|)L&ND8_PmkayQb{HOY640 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher.UI/Assets/Wide310x150Logo.scale-200.png b/src/modules/launcher/PowerLauncher.UI/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..288995b397fdbef1fb7e85afd71445d5de1952c5 GIT binary patch literal 3204 zcmbVPeQXow8NYmBd90>}0NP?GhXW~VaeThm=a0tV#EwJMI!)6M3}|c4_Bl3=Kd>G0 z(GHx1wl<7(tP?FsOQkTilSo*iIvF%uArExJ73~P zSv1xEy!U(Wd4A9D`FQV@W3@F^qJ@PEF$@z`Z!*BbFsS(^?B zyiAzJ+q})bkgiQHWqEb*jJD-coHYr1^iocg)l!Qa{Xqs-l~6J}p-|##ZHYofskQ3$ zI0;xzXyhazBeXhIsg5A=%ufo@f)1yy&ScKS0;HF^!r_2UE^lpZEom(+@duma3awTv zCrCL-%D_SvYWIcdHkmI}#50(fkUi)Qgx!80ju>g1za^}ff>JI8Z@^-iCiaCgg@TgF z+vtE?Q9{VQUX&MW9SYYmGcxA14%N2@7FwBTD4N<(2{nWgV8$e3?-F=L^&FrtWn~(U_Q~~^uYiyeY6-KoTnfh9AWz@ zIKje0)u!_Lw)E}G!#kEfwKVdNt(UAf9*f>tEL_(=xco-T%jTi@7YlC3hs2ik%Le0H ztj}RTeCF(5mwvi3_56>-yB?l;J>-1%!9~=fs|QcNG3J~a@JCu`4SB460s0ZO+##4fFUSGLcj_ja^fL4&BKALfb#$6$O?>P@qx2Agl^x0i&ugt zsy5Pyu=()`7HRMG3IB7F1@`_ z+-!J%#i6e^U$e#+C%Q>_qVRzWRsG^W_n+@OcX@vzI&z;mzHNb!GQ?LWA(wtpqHqTM z1OFw_{Zn?fD)p)`c`kOgv{de=v@suGRqY{N^U7gI1VF3*F=obwaXI6ob5__Yn zVTguS!%(NI09J8x#AO_aW!9W7k*UvB;IWDFC3srwftr{kHj%g)fvnAm;&h_dnl~

MY- zf+K}sCe8qU6Ujs`3ua{U0Of$R_gVQBuUA za0v=mu#vIOqiiAZOr&h*$WyOw&k-xr$;G4Ixa!#TJNr>95(h>l%)PUy4p+^SgR(uR zta%k*?ny-+nAr8spEk1fo{J4i!b^Fia`N{_F6@zidA2ZTTrjl#^5Z-2KfB@Cu}l9s z(*|Z2jc?p~vn2f)3y9i*7zJV1L{$?|&q)4oaT;uXi6>1GkRXVTOzAz(RHEmr=eFIi z`}<>-Q?K0GN8!IYxeP1XKXO+jsJbp~o^);Bc;%b7Flpe7;1`Ny@3r7ZR;?R)aJt8C ziNlEC<@3f_lIV4TwV}&e;D!Ee5_|e#g0LUh=5vmYWYm7&2h*M>QPKvGh9-)wfMMW3 z8J9b%1k7dzPzO0_NGQy92BZ^FR6R~6;^6?lqO;-QUP4BY%cG%3vEhbm#>4vIhPBh3 z-+pZGjh$x%Hp{?=FHsMp0&wNPlj00us{&`1ZOZTqs8%4X&xH=UDr*xyBW(Zp&Em94 zf)ZSfn#yg0N)>!1kWdkqJ^S*z0FF5|fj&qcE#Na|%OY0$uO>!&hP+1ywfD_WXk@4J(?MBftK7>$Nvqh@tDuarN%PrTLQ2Uzysx>UV=V zk^RrDSvdQ?0;=hY67EgII-f4`t=+i*yS=Y~!XlqIy_4x&%+OdfbKOFPXS2X5%4R{N z$SQMX^AK6(fA + + + + This is a simple custom UWP control + + + + + diff --git a/src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml.cs b/src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml.cs new file mode 100644 index 0000000000..a962ff8821 --- /dev/null +++ b/src/modules/launcher/PowerLauncher.UI/LauncherControl.xaml.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +// The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236 + +namespace PowerLauncher.UI +{ + public sealed partial class LauncherControl : UserControl + { + public string XamlIslandMessage { get; set; } + + public LauncherControl() + { + this.InitializeComponent(); + } + + } + +} diff --git a/src/modules/launcher/PowerLauncher.UI/MainPage.xaml b/src/modules/launcher/PowerLauncher.UI/MainPage.xaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/modules/launcher/PowerLauncher.UI/Package.appxmanifest b/src/modules/launcher/PowerLauncher.UI/Package.appxmanifest new file mode 100644 index 0000000000..89ff629cd3 --- /dev/null +++ b/src/modules/launcher/PowerLauncher.UI/Package.appxmanifest @@ -0,0 +1,49 @@ + + + + + + + + + + PowerLauncher.UI + bakudies + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher.UI/PowerLauncher.UI.csproj b/src/modules/launcher/PowerLauncher.UI/PowerLauncher.UI.csproj new file mode 100644 index 0000000000..8a9264d0d3 --- /dev/null +++ b/src/modules/launcher/PowerLauncher.UI/PowerLauncher.UI.csproj @@ -0,0 +1,187 @@ + + + + + Debug + x86 + {4A3DE70C-684C-410D-B851-C23B6DAEDF16} + AppContainerExe + Properties + PowerLauncher.UI + PowerLauncher.UI + en-US + UAP + 10.0.18362.0 + 10.0.18362.0 + 14 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + true + false + + + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x86 + false + prompt + true + + + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x86 + false + prompt + true + true + + + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM + false + prompt + true + + + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM + false + prompt + true + true + + + true + bin\ARM64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM64 + false + prompt + true + true + + + bin\ARM64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM64 + false + prompt + true + true + + + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x64 + false + prompt + true + true + + + PackageReference + + + + App.xaml + + + LauncherControl.xaml + + + + + + Designer + + + + + + + + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + + 6.2.10 + + + 6.0.0 + + + 6.0.0 + + + 6.0.0 + + + 6.0.0 + + + 2.4.0-prerelease.200322001 + + + + 14.0 + + + + + false + false + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher.UI/Properties/AssemblyInfo.cs b/src/modules/launcher/PowerLauncher.UI/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..7386690a20 --- /dev/null +++ b/src/modules/launcher/PowerLauncher.UI/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("PowerLauncher.UI")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("PowerLauncher.UI")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: ComVisible(false)] \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher.UI/Properties/Default.rd.xml b/src/modules/launcher/PowerLauncher.UI/Properties/Default.rd.xml new file mode 100644 index 0000000000..af00722cdf --- /dev/null +++ b/src/modules/launcher/PowerLauncher.UI/Properties/Default.rd.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/ActionKeywords.xaml b/src/modules/launcher/PowerLauncher/ActionKeywords.xaml new file mode 100644 index 0000000000..ffe1b5400b --- /dev/null +++ b/src/modules/launcher/PowerLauncher/ActionKeywords.xaml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + Old ActionKeywords: + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/ActionKeywords.xaml.cs b/src/modules/launcher/PowerLauncher/ActionKeywords.xaml.cs new file mode 100644 index 0000000000..68024b1270 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/ActionKeywords.xaml.cs @@ -0,0 +1,58 @@ +using System.Windows; +using Wox.Core.Plugin; +using Wox.Core.Resource; +using Wox.Infrastructure.Exception; +using Wox.Infrastructure.UserSettings; +using Wox.Plugin; + +namespace Wox +{ + public partial class ActionKeywords : Window + { + private PluginPair _plugin; + private Settings _settings; + private readonly Internationalization _translater = InternationalizationManager.Instance; + + public ActionKeywords(string pluginId, Settings settings) + { + InitializeComponent(); + _plugin = PluginManager.GetPluginForId(pluginId); + _settings = settings; + if (_plugin == null) + { + MessageBox.Show(_translater.GetTranslation("cannotFindSpecifiedPlugin")); + Close(); + } + } + + private void ActionKeyword_OnLoaded(object sender, RoutedEventArgs e) + { + tbOldActionKeyword.Text = string.Join(Query.ActionKeywordSeperater, _plugin.Metadata.ActionKeywords.ToArray()); + tbAction.Focus(); + } + + private void BtnCancel_OnClick(object sender, RoutedEventArgs e) + { + Close(); + } + + private void btnDone_OnClick(object sender, RoutedEventArgs _) + { + var oldActionKeyword = _plugin.Metadata.ActionKeywords[0]; + var newActionKeyword = tbAction.Text.Trim(); + newActionKeyword = newActionKeyword.Length > 0 ? newActionKeyword : "*"; + if (!PluginManager.ActionKeywordRegistered(newActionKeyword)) + { + var id = _plugin.Metadata.ID; + PluginManager.ReplaceActionKeyword(id, oldActionKeyword, newActionKeyword); + MessageBox.Show(_translater.GetTranslation("success")); + Close(); + } + else + { + string msg = _translater.GetTranslation("newActionKeywordsHasBeenAssigned"); + MessageBox.Show(msg); + } + } + } +} diff --git a/src/modules/launcher/PowerLauncher/App.xaml b/src/modules/launcher/PowerLauncher/App.xaml new file mode 100644 index 0000000000..ec92b631a4 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/App.xaml.cs b/src/modules/launcher/PowerLauncher/App.xaml.cs new file mode 100644 index 0000000000..09c7646fcb --- /dev/null +++ b/src/modules/launcher/PowerLauncher/App.xaml.cs @@ -0,0 +1,163 @@ +using System; +using System.Diagnostics; +using System.Threading.Tasks; +using System.Timers; +using System.Windows; +using Wox; +using Wox.Core; +using Wox.Core.Plugin; +using Wox.Core.Resource; +using Wox.Helper; +using Wox.Infrastructure; +using Wox.Infrastructure.Http; +using Wox.Infrastructure.Image; +using Wox.Infrastructure.Logger; +using Wox.Infrastructure.UserSettings; +using Wox.ViewModel; +using Stopwatch = Wox.Infrastructure.Stopwatch; + +namespace PowerLauncher +{ + public partial class App : IDisposable, ISingleInstanceApp + { + public static PublicAPIInstance API { get; private set; } + private const string Unique = "Wox_Unique_Application_Mutex"; + private static bool _disposed; + private Settings _settings; + private MainViewModel _mainVM; + private SettingWindowViewModel _settingsVM; + private readonly Updater _updater = new Updater(PowerLauncher.Properties.Settings.Default.GithubRepo); + private readonly Alphabet _alphabet = new Alphabet(); + private StringMatcher _stringMatcher; + + [STAThread] + public static void Main() + { + if (SingleInstance.InitializeAsFirstInstance(Unique)) + { + using (var application = new App()) + { + application.InitializeComponent(); + application.Run(); + } + } + } + + private void OnStartup(object sender, StartupEventArgs e) + { + Stopwatch.Normal("|App.OnStartup|Startup cost", () => + { + Log.Info("|App.OnStartup|Begin Wox startup ----------------------------------------------------"); + Log.Info($"|App.OnStartup|Runtime info:{ErrorReporting.RuntimeInfo()}"); + RegisterAppDomainExceptions(); + RegisterDispatcherUnhandledException(); + + ImageLoader.Initialize(); + + _settingsVM = new SettingWindowViewModel(_updater); + _settings = _settingsVM.Settings; + + _alphabet.Initialize(_settings); + _stringMatcher = new StringMatcher(_alphabet); + StringMatcher.Instance = _stringMatcher; + _stringMatcher.UserSettingSearchPrecision = _settings.QuerySearchPrecision; + + PluginManager.LoadPlugins(_settings.PluginSettings); + _mainVM = new MainViewModel(_settings); + var window = new MainWindow(_settings, _mainVM); + API = new PublicAPIInstance(_settingsVM, _mainVM, _alphabet); + PluginManager.InitializePlugins(API); + Log.Info($"|App.OnStartup|Dependencies Info:{ErrorReporting.DependenciesInfo()}"); + + Current.MainWindow = window; + Current.MainWindow.Title = Constant.Wox; + + // happlebao todo temp fix for instance code logic + // load plugin before change language, because plugin language also needs be changed + InternationalizationManager.Instance.Settings = _settings; + InternationalizationManager.Instance.ChangeLanguage(_settings.Language); + // main windows needs initialized before theme change because of blur settigns + ThemeManager.Instance.Settings = _settings; + ThemeManager.Instance.ChangeTheme(_settings.Theme); + + Http.Proxy = _settings.Proxy; + + RegisterExitEvents(); + + AutoStartup(); + AutoUpdates(); + + _mainVM.MainWindowVisibility = _settings.HideOnStartup ? Visibility.Hidden : Visibility.Visible; + Log.Info("|App.OnStartup|End Wox startup ---------------------------------------------------- "); + }); + } + + + private void AutoStartup() + { + } + + //[Conditional("RELEASE")] + private void AutoUpdates() + { + Task.Run(async () => + { + if (_settings.AutoUpdates) + { + // check udpate every 5 hours + var timer = new Timer(1000 * 60 * 60 * 5); + timer.Elapsed += async (s, e) => + { + await _updater.UpdateApp(); + }; + timer.Start(); + + // check updates on startup + await _updater.UpdateApp(); + } + }); + } + + private void RegisterExitEvents() + { + AppDomain.CurrentDomain.ProcessExit += (s, e) => Dispose(); + Current.Exit += (s, e) => Dispose(); + Current.SessionEnding += (s, e) => Dispose(); + } + + ///

+ /// let exception throw as normal is better for Debug + /// + [Conditional("RELEASE")] + private void RegisterDispatcherUnhandledException() + { + DispatcherUnhandledException += ErrorReporting.DispatcherUnhandledException; + } + + + /// + /// let exception throw as normal is better for Debug + /// + [Conditional("RELEASE")] + private static void RegisterAppDomainExceptions() + { + AppDomain.CurrentDomain.UnhandledException += ErrorReporting.UnhandledExceptionHandle; + } + + public void Dispose() + { + // if sessionending is called, exit proverbially be called when log off / shutdown + // but if sessionending is not called, exit won't be called when log off / shutdown + if (!_disposed) + { + API.SaveAppAllSettings(); + _disposed = true; + } + } + + public void OnSecondAppStarted() + { + Current.MainWindow.Visibility = Visibility.Visible; + } + } +} \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/FodyWeavers.xml b/src/modules/launcher/PowerLauncher/FodyWeavers.xml new file mode 100644 index 0000000000..4e68ed1a8b --- /dev/null +++ b/src/modules/launcher/PowerLauncher/FodyWeavers.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/FodyWeavers.xsd b/src/modules/launcher/PowerLauncher/FodyWeavers.xsd new file mode 100644 index 0000000000..2f1b8aae7a --- /dev/null +++ b/src/modules/launcher/PowerLauncher/FodyWeavers.xsd @@ -0,0 +1,54 @@ + + + + + + + + + + + Used to control if the On_PropertyName_Changed feature is enabled. + + + + + Used to change the name of the method that fires the notify event. This is a string that accepts multiple values in a comma separated form. + + + + + Used to control if equality checks should be inserted. If false, equality checking will be disabled for the project. + + + + + Used to control if equality checks should use the Equals method resolved from the base class. + + + + + Used to control if equality checks should use the static Equals method resolved from the base class. + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/HotkeyControl.xaml b/src/modules/launcher/PowerLauncher/HotkeyControl.xaml new file mode 100644 index 0000000000..affe185567 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/HotkeyControl.xaml @@ -0,0 +1,19 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/HotkeyControl.xaml.cs b/src/modules/launcher/PowerLauncher/HotkeyControl.xaml.cs new file mode 100644 index 0000000000..f2ba82a06c --- /dev/null +++ b/src/modules/launcher/PowerLauncher/HotkeyControl.xaml.cs @@ -0,0 +1,117 @@ +using System; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; +using System.Windows.Media; +using NHotkey.Wpf; +using Wox.Core.Resource; +using Wox.Infrastructure.Hotkey; +using Wox.Plugin; + +namespace Wox +{ + public partial class HotkeyControl : UserControl + { + public HotkeyModel CurrentHotkey { get; private set; } + public bool CurrentHotkeyAvailable { get; private set; } + + public event EventHandler HotkeyChanged; + + protected virtual void OnHotkeyChanged() + { + EventHandler handler = HotkeyChanged; + if (handler != null) handler(this, EventArgs.Empty); + } + + public HotkeyControl() + { + InitializeComponent(); + } + + void TbHotkey_OnPreviewKeyDown(object sender, KeyEventArgs e) + { + e.Handled = true; + tbMsg.Visibility = Visibility.Hidden; + + //when alt is pressed, the real key should be e.SystemKey + Key key = (e.Key == Key.System ? e.SystemKey : e.Key); + + SpecialKeyState specialKeyState = GlobalHotkey.Instance.CheckModifiers(); + + var hotkeyModel = new HotkeyModel( + specialKeyState.AltPressed, + specialKeyState.ShiftPressed, + specialKeyState.WinPressed, + specialKeyState.CtrlPressed, + key); + + var hotkeyString = hotkeyModel.ToString(); + + if (hotkeyString == tbHotkey.Text) + { + return; + } + + Dispatcher.InvokeAsync(async () => + { + await Task.Delay(500); + SetHotkey(hotkeyModel); + }); + } + + public void SetHotkey(HotkeyModel keyModel, bool triggerValidate = true) + { + CurrentHotkey = keyModel; + + tbHotkey.Text = CurrentHotkey.ToString(); + tbHotkey.Select(tbHotkey.Text.Length, 0); + + if (triggerValidate) + { + CurrentHotkeyAvailable = CheckHotkeyAvailability(); + if (!CurrentHotkeyAvailable) + { + tbMsg.Foreground = new SolidColorBrush(Colors.Red); + tbMsg.Text = InternationalizationManager.Instance.GetTranslation("hotkeyUnavailable"); + } + else + { + tbMsg.Foreground = new SolidColorBrush(Colors.Green); + tbMsg.Text = InternationalizationManager.Instance.GetTranslation("success"); + } + tbMsg.Visibility = Visibility.Visible; + OnHotkeyChanged(); + } + } + + public void SetHotkey(string keyStr, bool triggerValidate = true) + { + SetHotkey(new HotkeyModel(keyStr), triggerValidate); + } + + private bool CheckHotkeyAvailability() + { + try + { + HotkeyManager.Current.AddOrReplace("HotkeyAvailabilityTest", CurrentHotkey.CharKey, CurrentHotkey.ModifierKeys, (sender, e) => { }); + + return true; + } + catch + { + } + finally + { + HotkeyManager.Current.Remove("HotkeyAvailabilityTest"); + } + + return false; + } + + public new bool IsFocused + { + get { return tbHotkey.IsFocused; } + } + } +} diff --git a/src/modules/launcher/PowerLauncher/Images/Browser.png b/src/modules/launcher/PowerLauncher/Images/Browser.png new file mode 100644 index 0000000000000000000000000000000000000000..619d1ad6ab8b5978b476ab016a934f69ab1d9cf4 GIT binary patch literal 873 zcmV-v1D5=WP)80=2rJ^ z%X^O3#r?dUbAI>ye&751-E)8U5}xN#&8XxKKq`s=xv6>qoY;cdYOQIAWiAqeO90F} z7*ipWJdgV;b*e{`Hd|WAKvY0B_#Sq#RfL%k^fbgW0Ps-AK(vIicYaq;Dwa~ufLvuG zglH_HC6uFne+ni`6ae6N>98770{{-SuEW|M1_0Ow4e$i^=C8SN_fzwxwD;JyQ<3@e*Az4%~yR1iDqDAZev$v z;Pe6R|IC0QKyDNPa>HD}+t;%gAO6a0|FX@T6lQ%(a60Ay0yG=z(Q4X9-3PM_tgof< zsxR9L@W9X$4-#>~k19zp6JUSl!_QbUKaNF`u=meU_rpYh`(p?*pTGY#@10(RcY2Yk zFX{rKkp$j67r)c?{u#ugNzwIxg{}Y|c-iYkBEBJNl8C1<)a#+Q7FRlvk}uwvWyWAjveGHa(($xYn4=E#rL8V*-)p4#?)JKjzg9-#nGr`Is? z!%n~-CrzEM+6CxqnfPHQAiA0;8dqHjc|R4uahqCnB9_u%A|M!8L1-0*+&oY|;0?b~w{9qEBxmZv&*OVA}nITQht5E~KbADnRlFjiuwM zb`P|Ts=MVnsRGAct_3VW~XO>P4Iw(44gb~Z{{5xZ2cM*=?OR*>AGR&di&c_sQEg z`?9MDAsA#uWIGU40}r5ewAk70)ibuk*5-E5MdU;vsRL}Wv%4L1DJcN%gO#p9$caEg z?;3=>B<>P~+*7Cv5b}@FfDrNlAP_`<0Dy0Z{s91A5d8%J?GPQ*xs>RE)JM;|wpRZ| z;EDBcmQ7#T7k?2D0%1EKAbKt1T@gcPcySid5LksGqV8b5KcQjSXroEA zYzpBv5Vk`k9&4GaMEw;7fl3KAIYj3Eowok?%s92964r+z*4twMjODo&8-0EXV`Vgyu_;^jzA z(QB(21M9E^G!s*aYUuORR9?QLetLmj{OZ{{WfP}tdhMab8D9WO#~&QM`#Sw^+S*k9 zHazgPPzWGfA%JX!0J0SV$W{m-Tb*m6KG(oUVBi6M01ZFZM-TF;lmGw#07*qoM6N<$ Ef~W&pCIA2c literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/Link.png b/src/modules/launcher/PowerLauncher/Images/Link.png new file mode 100644 index 0000000000000000000000000000000000000000..c0c3607bd1a5c41675ae54eb36dd4ce214bf7dcf GIT binary patch literal 796 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=B*&JzX3_ zG8*4bKkqG)C~@5W{BEwV>@2%qyY9+(!1i!ayHy3J{!L#+o05(1wAOkAh_tK-nRnWo zo%74G*d^WVR&R`yb~xQu-Lqx$1^EO8Yk&6iZFfDtyPq@SIrH7*{b#$+HT&;>pZooI z$10)J85>w*#5Oi=5R~SSMx|_@v!-TgPkbXU!@fx&Qh8RW$JJj4%R+PlxHo7WUmAON z&YChO8IkrM>o3=Gw=;Lt1f*`sHFT1@+HOBRzb;?h-h(fAy28tt!mx?Weq78ej8>g+ zvNu-|W6okTW}uANLtk~*^XWgLcYOO2tyLH$YqscnqhyA}S7FEepUZbe%N%-=rc_(|A^YzXtto~^x%#|s zw@UR~d2~^tFOOr%-WeP}KlNYA&A)i^O4xM^pH1}zcfQ+Z?QUg!vvi?tkI($fB5sYv z@A#M<%q@8)e0{opd-RS*hHJGC->{xds^_1t&$gW zo~##o_GZVw?jxC{JDz$cJ!^Dou;R))yX-@DamX6E@9P4incwZZUBbKLe%4{nS#cWs znB^*SL+9Pro;jUiWz5H!9Qv;=-Jd?)xIdcn+u^HW>|1#fett>|>UK|_D^m73y(aN> z({l$)pQk&vXglrG)3DfeQLnN5L_m2^*M#*l)64djnOiQZpW5*&b=|h!TdQZ9PO*IO z#QyZW1!r!qp1HMKXxBl(pYpTnc^r<^Yc6hk5wChktRV6T+ab3cg&ZX63GW}qh|mWW UNfV};0aG%Ar>mdKI;Vst0Ph}R1ONa4 literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/New Message.png b/src/modules/launcher/PowerLauncher/Images/New Message.png new file mode 100644 index 0000000000000000000000000000000000000000..2dd2c45f2efd5b15e2dc546844d51fb6d4cc1adb GIT binary patch literal 1362 zcmV-Y1+DstP)6@3PO@YrpSVd#|;!kC0NblVQj(#}O=p`F zf$6~PE#HK{V8TDc2PbTpb5aILH-r|$^tjyk1HnCI2a0|Js?*sgu`4@JTsko|gKu(* z>EJ9MovPbFV1Gm0sxklBRm@LFh2D!0LP9T=A5GzlhOEI#Frxx z{v7b~`mG-TYgs8x4Rz$0k`sm|0#@;C#D~lK0##MnyC!_vb$l-PEH5C95n472DS)K*bnZOuqrO36RNBMc6YAf=>eUjfaH z^%Pk4q@Aa^0Dx#z<%wsA;jvhujAacw`MJ3%?H9sJbh`%e&jbOm9jo9}T{Q+n=1xWz z0juy$`g#1+%W@<_t~rPEC+w7$mL%9rt=K5!na!L(X{YR9@kW=>R{+3bc!{2VH*co{ z0MuHK&}gp#NnDf;ujKZ;T=Qn!>n{Le``i6;l&8;MA*E#hUJC%hm2+~kt{Qt)B3piu5y^$!V5!^uI?W6}%wh}8BO5bX+z-&+O zHt?kuzJR{O0o^ZsgcN;J$Tb0pd47X+V9i(JnC@v*8q~BmYg_fDyMU;5xdVg-B1CV@ zS3GnV(0QR#5eCHxgty=(EDVaX^FpVR_#mkl(hC>cKmQRauf5k~AzJS_@BEVL(YAG? z_njSW2+_*sA`wQ2*89$mw)G6QEdr~!^y{U1shZkBCbb3e5WT{nI8$|?aaP&*PTbPf zVls}JFH1Nlq-f&*3fm{7=#vJuH)>t(NVVq^kre@2V#j|Y+ZB*)>cD#W906ds8 UO%N9O2mk;807*qoM6N<$g1KURNB{r; literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/app.png b/src/modules/launcher/PowerLauncher/Images/app.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9ca7971a62d99905b25ef3fb3e435e1d1ceaca GIT binary patch literal 11524 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 literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/app_error.png b/src/modules/launcher/PowerLauncher/Images/app_error.png new file mode 100644 index 0000000000000000000000000000000000000000..5106d6e8a9e2a152d6d5e712155ac101666b093f GIT binary patch literal 10360 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 literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/close.png b/src/modules/launcher/PowerLauncher/Images/close.png new file mode 100644 index 0000000000000000000000000000000000000000..17c4363ad3ee60eaa8675df4fcb09834e2770ffd GIT binary patch literal 530 zcmV+t0`2{YP)Cl{HFG%CdiP;>kiqxNv|v^LdAsz{#1DMEh)K)o{PTKlOfT>kkTU@(U4k2>ts{r~CVMSAX zW2O~99H-p+YJdpgeZaT>t<807*qoM6N<$f<(6BLI3~& literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/cmd.png b/src/modules/launcher/PowerLauncher/Images/cmd.png new file mode 100644 index 0000000000000000000000000000000000000000..686583653f2f7cce83679602872c0519c424e13d GIT binary patch literal 752 zcmV=Wb*^QTX0_BVY7Oaa-L05@uKpYrM-eS6wu*&jTRVyXto*P7uwGD@dU#;N zn9nzRH?;LNg;c~rS9l5cK$hgFQzQgARY)D{0KgN<2!EH5z@JPhfmWvmfX$`h8%*Q9 zSo^w}ia5~M6x;(@l$~PN4k3YG-`W6h_)Gre%OapHR~QiSv}$ z`|SPw_WIV^7ZZNx5B<*d;}3xUcLaZx2=LHTUNG+g(Z&oQa{$CW^yENaxq-_Hz{8y` zB+|nR!VA?35U15cp8n}_fs_|uXnO#l4JE}f2Wac@mfsuz4{qxQDF;jmV{I>O9q2LD zR?=um5#Y|w4k*g=V0Hs=foL4e{dD9=9}hm|1EJlND8>kFJ=QUN>K-pK?EpdaHx2MO zlh)_CKj1Uf4`8m0a%ZOtN@jMwx*aq7cvt)$ve|1)4b15oU;X3{L`HVwUbbm_JuLxg zu9%7dcXjoEXiq6|kv09Hn$25QNg+5rlbrcJJi4~Jxm14)KIqx>MYn81qySml49hy2 zUj05uQO0UEZ)q@u$chKJd33EjSWK!%W+yp-iP;x$0zf>55P9N7J5vBAqF@Ff07I`{ zi%Skb7otG?5&%X#o4)8M6@4=RJ`hQ(OFqCN2&)3&d10G;AtobG7Jyz5J#Qul3fl-f zIUin605=tWXAS^;o=vCqD_^!lc?9Nbzo{fH6q%Za-{!7E#hvx7zX+flNh}8Dt}dyK z3N0kwOI$(_HU;%v>x#A)vIsC(YM+c%OIag&;Dc^J+ri013qF2zlC)Hj6>{%ST?q`? zS0}5TZak9vEOBxEuli?hTNuV4p7nor6^U~o53Ns+qKeaRn9P|e}CKHL8G?1 z0DRzxD+U?{vfE)1g=9QZ3L+Z4;E%;FwSq9_dI$}Q9X0s?iL^TN+E>xA%G5klU+a&q zs4KEnCfW<)Ewwq(3@tYSiO)kIZW0i6?P!i)LCd`5Rz30g5c}H(i*~U^0Q0tC!(C-52vto*rY;921%%@k z_${?a+Z$^s&{$(RIgxD5h+o_2hSj<-yVnHfY;$eq3vI)UUHcy$?9KnY7{Flm^Iwuh zB6jt{$t3+RR(;>B+ws6!92ifX|F6^Oh%T>N$d5(+>DWfk^TJAnQP7FNQI^&Gj90Tc z@#9ZZmoH5xD$}Z#IX)72tiH+_zHL=qL#=D|v%Z(dap;Wg-7mkp8lIS%ZD0+V1}wlbr1=*EsPVa(@V`!kr&FQJ5xP*NQELADt5K+i8pAHE zTX}Kop64Fh5`*>hJMUIce;sxvep*e?GL=k&Ef}qGU!AR6x8fh3^9_}DmhbKW$N@}P zC?_6iRd-AL?Ofddoo!j-RHygm_bM6MmHz*rB2|qltFDD?7In-dL~vi*;QT~oAH5{@ z0{pg-jY^46soKm?EE3iT%@cP&=pS0KK0WSKXzouxS`hoX6~tp$Zf}59DVl9F5T=q? z2sbLDvY9_Nb0wq_no@R0aO|0vHXJ*9PW;dD4QraU$-^NC`v{0t4&BH}Ac|&xKIe3v z%tFSBIO8tVYngaqn{ShItwQ|S9lPAB!%=(m?72+uv5jk>X>$==?w`y+RFNOmcHM={ z03v8j$2&|fWH~0WCNOiSmY8c132Wqe(f*jGetdD=9ge9D4=(sTA0XGK7X9)h(&I7I zr5-o3X%3>ouAL!5|Gr0t3~w-`yHPR7hr368KOiTgfXHDZq){ zqrC+AfkqDi3WW|=sZh1z1C1#FpbtCSukS!(#y%o8MF0wgmi=Yp$~gdsPo17DgfIob z7{Sx+*LNm9@#3ce(%G378fpyd=9h_ z!V~~-5IfsTUT#TqU`a`AAYKo`6hJwWI8#PVMB$KaF5~%}ZH#JGE)uDGEr!R_?7Pz0 zH(ZGe2OsvHaU~tIJ;v3DM-D%6dkfiYrgoG9;+=FrocfIJoBCkUy3yq+&*g3oNZ3gO zyac$J$pv7Xi2EOV{h{6$2I8V#OE18(eT}@at)c_(ed2}2ogj9DX&Quau+l55{rM9t z%>mg0mizvND!5 literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/copy.png b/src/modules/launcher/PowerLauncher/Images/copy.png new file mode 100644 index 0000000000000000000000000000000000000000..8f1fca752f87511c2a310b66f50f5eb60c2534fb GIT binary patch literal 501 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=E7#o-U3d z8I5me7foS%_Sik8XR}IS(n#wnctn%m-p4XMCcbM7wh&i5%%SE z-8`H{e3Op;`f_jS`**E(@_mX<{{3`*_jDJ@Q*qwfn^~(i zGtXgf)oq*?#=!70V`6&Db%q3yiamB8l@6*EtePs$c}?k?;=z4fh29mBZkDQhzB1}@ zw(j)`_;p}M|2E<5p2nMhuNJz=sxK0L?a~-D;hedvo2<6egJ)|V>nJ)osGo{-YGG*D z&9d^>y=%AQxA*^cK9w1u)p`A{`je%e&u26J)6OyE3<;Plu(8KaZ_?h}%FIG49IFI z5`TSR9m|fa1%6R)y%er7Fn`^DOfX4)LyK->1oN~7oNJcd-+v*e;+|M_eEvrM2%&5R plRz+fF@NW>3qM#EIb`f(n0vqFn0I?{Bru8?JYD@<);T3K0RYUm%ozXx literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/down.png b/src/modules/launcher/PowerLauncher/Images/down.png new file mode 100644 index 0000000000000000000000000000000000000000..2349d89175dc0915444d6aa7c4be6a0af55e56e2 GIT binary patch literal 506 zcmVB!wh8d>4a5`JJ%QdpOxnahJ%UHjKa)1G-at>V^#tM#{0EZyjWT96jidqE z-Okn&wm(h7?0fU(O=$Tz#vR%lc-7LvvRV6sm7fE&7E`(Xbz0M zoZSKT4od*p1-O@3(?aJ!abT@qADH(6>tfWs1DYGK zn=v{FWCDoin#0;$PV_j5#Yh*^*nxg1Qv^KGC0tccKrhos_$FA!0=$v*x?M;C@W_Pt z?+m@o=iq0F$V_mI1^oU3A%_H@oH#HcC!h}m@F$TNo19l?Y6-|i0N|@x19V)cc@_Z* zq!-Fj2k=2h!~*DI7KudX%&OYj4&h0%sOM=ce(p9dYYy0Gws8lV5V5@ulzla9V!F#5>;79? w>wpu$Y|-vHz&t=}aNC=FA?pM#)7Nq6>`@rGF3#p%4mjka3Wys(?018&wG;f41!g`cisHSR8wdmfFA&j>0G`Sh zx_uCOhd}-wQz9H)hP*Tbq~qG+HD-QI6vaQRr(K|;0p-pA22Jwh?}5-e1h{?Hl+tm? zOEb9^DX_-OFFj04lr^CA`Cp)R8>a_C?;z;-NxNDA0A5{$yfh1BlWNfdGrwwgOq88Q zl>wXY^W~E7@DQHx5IU3}0N6@0wvvoZ<+m>G@skh$$P1!cbV|{>Y{!6M3j~9~&TKY& z7s_ly{vHUYFY4+z1mMMEP3UT?ycYhmE93Wj5)Nd2xja9q?N0knr}G&*Q>d$=FFT8q;jF1_)y&>V} zl>-=6*J^0B&0=JrJ0JXLck%72qt(!Ao2A5n@>QAp+jH1IA% zvltne%Lmtg`ql)khF04wB?i1+?@a(P06=V`rY4GZYcWOJ5+w%0;c%Lnr`2nNom6#D zHaIHGJZBrDq$$08qh1B02KLz}uged#+&&0Od_=CiX9t zGtp26fCrd(Yw(le`VD6QC~qQ}kp_$FHlzWd)P&dNjJCV!`QmyFF^yK@?D-2<4`hD* t>2}|9M*jq9cmofjVY`r79vi4P{{t|Ck6wVXMiT%4002ovPDHLkV1lH$dZz#Y literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/folder.png b/src/modules/launcher/PowerLauncher/Images/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..569fa704912c0c12e426670eea2a31d3e6407074 GIT binary patch literal 468 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=E8co-U3d z8I5me*m@mtkZ_2f6nK;6kLH<03QBPa#m%|8dmGy~l)trY&e*zi=~{MyEqCH>uzqLg z-ee)R(a_j+)5M=XYzIoGgL`n3r5+$TV?~ zLSY^gH{i|-ls|r!cY{r+O=Pm>F}@8wk^OH?4jUc2 v!FV(!YHrE@-m;$hpQ5isz&^hGvmt+Oh5d!HHwsq37+~;p^>bP0l+XkKMAE;S literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/history.png b/src/modules/launcher/PowerLauncher/Images/history.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3b72dc46334afaa8a402de67c5d0e2ade6ae1a GIT binary patch literal 1364 zcmV-a1*`grP)MoH8rAs{N0GPp2MH$u@VUCg2j zhv-BG!u$g|D;uOR&T0$;j_z7_Ll=V^(-L&i#o)rJn2IF}T?nmG6=_KP8Pb>p6|;&_n!C8C6rQBGPs*2a8-O2aMLiAYa$X_xC@T-0;Cfl zZh*Q0xP`|tfW!bA185XHouj^on`QBPl}$`S3odZn&j7pt+6@k02M`9&Kcl{f@sc@| zB7n>-)gi|R0Qv+#ZK=)$oB(7J)!YQ_eel^Z7o!5m%YS?z|0Qu|hTGZT{2JpT7nbT~-NShNrmkrh`eTP~)&m$C1Vtgxs#MwEk z%Pcade)`jQCq=mx6CnKaVL5pVM-XUrV6eFfw{;Si<4c~$)b0T$w)a>oGK>BmZ?Tmq zF5uOhG04KkVK!m9qXnJyHJW1^8X5oqM@L7R{i3N1{A)YdQ?5pk_VX2FKlM7Btuvg&X_24qYI?W~wHaC@xWHAgjH^C_lrCNcL z0%{@T6*orOoFyNXrQmiIhmkg?CZ_@vtVn3#E<`V87LLH@vXzyf9{5}~`Ce!jxJjV= zTRGAzZg$(Px-)D!VXflOZMRB|GHw7fgh;2j^|-0Nyvz(h>08PTU<+`ITlZ=$WhG?< zO5aj$08;>!baKiQi%u*rFEf7|fzmfs2w<_3baIuLxJE}ufzdwz0K>z>h(scW=V18O zvjXME#>NI#S68oPZkB+UxDn6hN}70VYz*JL{1a8bKSe&Dhu7;hEP~-XCO5D)v80pA z2S-tKb#);UiC}(y9yXf|$z;;72&HeLM*x*{`f!rf?T`hJ$AfSmc`RNQ)f zkkZdq1*M8m`j&D7SOR!DCvGktr;*O{1}Q5c7tz<(hr`1|)&A)`kHzD(CO3c~K&Y6l z7us2#A{0+vh5IE6BJ6fM0)YS;8yi*ohT=*2ck()`nx~ef!VtaCjc+CJqsvy7H&Tzs zgO!yPP4ZvzJjS;YEKUlr8S(rx0GB0=#MwEfb`K1bRf86J0GQf6ke@&&0w)ES0xoKm zWKwLK*xo}ll`%-wIHIWxCbsuvRx+tpKUI&3YHk9+exaG=Dg0|Yh?SVw^dOea!N0a6 zkNtgt3lpjWXzzp1pma!V+dDhQ!0Pt3h$xg*6ty8rhqQ{mn!8e{#{|W;_4Fwoz1u8n zI7L$#JbJgOtO)_ZV#VHyFD(}JOaY3_sUN_s*q-Gnf*%vO|Mopzd^$3e?9zE2FFqaN z{@eEmeoU~*XHNZkD%Agv^15U|rCxAI237JElVotEUh**~s>Ey7{{kxhrv9sdo5sJL WolXX;TQkJ~0000~}U&3=E9lJzX3_ zG8*5`JnePZL8R?}=Bk9ZPO-a+7kZbk)t>Kp-=UT{_J_nG(H12S*Ih4syPO2qEc8;m z5^-tvTGMBboOF(61Q`dbHU2D{YkB76^~o}PoEvkc6V(p=X3F5)>u^Q;!Gab3Pvth} zzR6WjFV8&xFsShc52NCZoBA(yZ%Ho{yb&{ThG)TQ25rtfenV}}b+H|-EZ@z%v=7EI zESSvE!tfwo$$+WBzSDt|!H;u&#reP_DVcD)8FNK!@q+Pyc`0D&B&UuN|B2$gQ3F)a>0W+gn!{G+6h&FE;N`S$M6aY{{2W=BV>~ zgMFLw8$GRfIUG~$_yiu^xWvn?Zpqr_`Q7G+*o-CD-IELjJbxAcU;4T4^QX=Cy%`t; z*7M6;uClh(jP8s~|9MPcvp{|e0|GheKd|IxoqHi%;S1CJJ^i;8b6@Dy1JenEr>mdK II;Vst08G#ZY5)KL literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/lock.png b/src/modules/launcher/PowerLauncher/Images/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..4aef7007ba495a888e446cbf4c90e688e97b7e8f GIT binary patch literal 759 zcmVxh7^tkr8=FQowx^F*FD94@qAzL z0N^;zSO{^3?Oh7#1bZbSu>c`NJ2Ex6ulSH4W+2&1y^f>{nRzcM5#6Y+jmAdzibG-n z;Y%tcY*-bdvC+Nakme3N-5pORlZEQqXl!(^I28W3P$?j9)Lvwl)LK{2C*TA?V!tY~ zU|?L^poa^d%Yx+sE~)iP;0p*%T@@<9SXO-;%S1>mw6384;Kc&~p}DT0FAI|j2yBxJ zD!EmfIBU9O?zsW>^cL#j){)~SF z-y2W#=gP!F;gy%o>7ejEkcoiik=mRNGU);1aQhi;;w;ES0MWK#vuN5VWe?;{DIjki zg#hIfw+xWxmI`2CtfiC$sN|LksBO>#W2vR0I53vA4SKRLxrHuxUiERzz%?GmP74OE pRnCL}jeoP|#iMu%{nr#;z;6K-(bBTXI2r%|002ovPDHLkV1h!!PGbN7 literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/logoff.png b/src/modules/launcher/PowerLauncher/Images/logoff.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1378830efd135bfa539f14ee97af0448a38507 GIT binary patch literal 674 zcmV;T0$u%yP)AgI{z}p*F9BEx6>G%eB2k@~pY{<4Nv4 zl9mw>{EVi$0a<)65awMxHPKh0@+MyuP=(5yXl?TV&{?hP7+ZnrwrM${b$LVF%stOTsIKo%p+G=2fq-fP z0XH0FA7ELHc?(t|aC7;D-R)a^eU_zjDceG3{uMi0*LZvWkjkTU2Hu`Ou(NdyGym#3 zhw>r*`YdC2`xZBsPp;yX3jly+5stDCu7=wa0yS#GJvNu?avEd%L33h$b8p4Q`mtbp zLgXvJ{6%&)UvHtOp1>bsA>e9qF*jXrp;rX}po=VaIFZh+@fLYmz!BVEB^2|{G+H{_ zPoD4=c~#(di1(9qhuHNgBm?gRGh$IZ-oHdH4wCOqa(U_rjEwdoks3gvUw70z;1K~$ zV@RY1Ff!UJ9IITQtzAcYWe7$r>MCBTK%~0^%d5kPba%MUp-jMtMUh?^LR-5ol}Cv{ zZCEvpN#{}`Ftae&uw1@>l?Vh>69}m0Ukeml)`dh}TLB_Em+wU!(Ym$*A*N>ll%zWn zqg1Wy7+ZlU0|gD?I1%lk`P->TM0=wD5d)krGQaSzPa$9M1LqW^`ESZTYybcN07*qo IM6N<$g39n2>Hq)$ literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/ok.png b/src/modules/launcher/PowerLauncher/Images/ok.png new file mode 100644 index 0000000000000000000000000000000000000000..f2dde98efb24b6d2d398d24ae7437c0e408bb727 GIT binary patch literal 1071 zcmV+~1kn45P)3d+{9RIO0OM2JaS z@Pt}1cIqdfLzz1A3943|2(-ijz5wddj)+JdkPs4CG9sj?HurWQsMtO`XU9&P_E{pG z@6Ye?{qfyRe}i}qRE!m$ikRcpAdyKh+&ufa4Dx3MlHZ4%n%h^xQZTG{%kUQE%zLeA~D$nO9_3ScZPKt){$ z;)mT#L{7kks+A)q8~uj|fH7jS7phh+DpRNdt7;7o8O~0>hK)=FS^!do4=^TL?{C&?jR?yR3XvvKh7ZVZpxLcJZfq2f zrzU<^5Md%Ccn_oBzWccPij2;7|&;tO_Xtp9vWI1g7jNTq# zQVupnnaFa?`x(6kbhjR-t}qjs!AlrD2JEtZOu$K;`eY_OzHhxk~M znMnQ3hp+_iSmZi%FErxnZvY%-My0O9 z4vSQgvC)O9mD3F8+nopzV>T*M{ci_%0bqY=_ec;wWZ*P4v@T-cR0SSTJP+(I z?H&oom_>i)#G!DES=Dq002ovPDHLkV1gLY-hluB literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/open.png b/src/modules/launcher/PowerLauncher/Images/open.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c7a0e19cc9e03b503397a5e3d2d197ada35abf GIT binary patch literal 792 zcmV+z1LypSP)DP5+KYPDHZgjkwn|m}O5;I26QG5}D;)etYN6wykTjK@9cFjgY_iXB z=iS}smv@F?hfqpkWgKP;XvGd-HkJ<{@f5}8R+j-}4R%q4QnFrro|^47#@hkY)+^MKD@4?xK{4_ zzPtBlL|(^4r~{Ep0ZgaQ>Fpwf@D#c@?MLGBxSlRTXj%iI*jXeq=k;^l!_{eB6M@PW%e=^mXezDR#oy05U+ zegM!#wi8)O_?@@dHR>>bM&GW)ei7+->Odz{~}U&Kt)}iE{-7? zjc;#kHvTfzwzgn&H8z5?V p7Dxgm(-_V|G#}kB6xf20n;ZREG~9lkehSc444$rjF6*2UngA2gT8sby literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/recyclebin.png b/src/modules/launcher/PowerLauncher/Images/recyclebin.png new file mode 100644 index 0000000000000000000000000000000000000000..2cc3b0116ce71fe867b2d83a655e6bc7605a6863 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=E8ho-U3d z8I5me?$2U!6lkwkz8<|iq~mRASmO^d#)lmVGhbi&AynomzwzSs6OB{*6BG)jeziSd zq#4pte_?iMe`4akqR6yo$P;JPV>*Fw6#bv_v?eEpqW*J@BzpcN) z)NucKJNDHAm5mOvD}rqp3@)TE%IuiK-c<4+;Lo4OGuOR6{i*47hgZixNrjWXbDp{` zzW!}3U!2k}J{SFf?3P(_bAweDi`26FI7nYK{I&IuT>gbCvHsOmh`;PRvV+TByxPkP3}FUO LS3j3^P6Jmrxme7jlulb z$T93r4>ntacW2gy2GQm_&F;>7?|VCM-psrqlv3G|N5uYb!{Flz_;Mq5qm zF<}4{ZvzmsHOPPrf{#rWrMvg#k#(a&Svm0DjT6NpHD4ouJ12?;Kmo5z5@-86#v(@g z8+M@YtJeB8LAXhP`fV{Z01EgdMQQInGved*HRM3*&yPP0@*ALlPbP^L-birQfxgjJ zQz~p88hHR9K)p!K*ZM|VnW>)ZzI&W5NKl4=aRHsq$CsY_`c3vMiGZ zy%ftFo>ZRCAb+gFjbjzsgYwDu7jhxVrjg`vTI-{32wfa@pM=gLH8tbK)QopW*h!)p z0^vq-XNpe-bR`MJd6veh883p1clZn$kVG@u4xhuJvgf#c_4sHy&^6g4rS>+uC@}Ab z(^h4Os1`)Qgto)yP`bYwjg@W4H`~|(6rQfhCTZ(yO$U;@O7_OArKS^-Xa)ep9xNK= ztwL7TK?nf=NMatEtC{}`018vQHbEzZ6sEQkTP3RPPXPcZRp7n-X-;$ENB?zDB(q?x z<0$Nwa*jkMFU>4OKx#J>Yr$!&RNHq#lURt|$3pDB5zd=19}B`iH-$Q9qpEj47S!!e zKx((X(;NY+z{N6LTu`RAXP57)?OaA7UB0-Wl-XB{mv#sxPg1%lDkxFgORFI^Lk`mA zi#QHw@zP794wjz6e5cx8j)&PsIarR*YwFcO1}{Aan5$lK_OH0k!S0KF%}Bgu_;mruQDZvj#6s2Z(@x)_W~OC21Kc7o^Ll{}`jZ zw6hSXpQUJSWkzk+IiEpcK6A?GqPU<8HI4>Ny+(QI%mHDTr6?Q?V0I~~OB76avHmOw ze?zv}0ugcIiPs>IzS~#*Cu)*7q6KHK|m9OZ@esIngc0645JoId&% ze4$CqMekug8pKLGjQ#r@uv=YlS}Raj(x`?F0Qkedz!&?P@jr$Pkq0nzxznq8B4ZvYWtsGdB5eofOg#P9PY5hd&rJVxYTIEh)qc&=!z-xH<>^(E$lS!h50y|Sr(Lt&@-D0G$3uJjm*55G} zk*vxo5DWs4b7H6u83copRXJs}v=00qZ)mn+&)$)3#h$&T+->ani|$7b>^A-exk(H@ T41!g`cisHSR8wdmfFA&j>0G`Sh zx_uCOhd}-wQz9H)hP*Tbq~qG+HD-QI6vaQRr(K|;0p-pA22Jwh?}5-e1h{?Hl+tm? zOEb9^DX_-OFFj04lr^CA`Cp)R8>a_C?;z;-NxNDA0A5{$yfh1BlWNfdGrwwgOq88Q zl>wXY^W~E7@DQHx5IU3}0N6@0wvvoZ<+m>G@skh$$P1!cbV|{>Y{!6M3j~9~&TKY& z7s_ly{vHUYFY4+z1mMMEP3UT?ycYhmE93Wj5)Nd2xja9q?N0knr}G&*Q>d$=FFT8q;jF1_)y&>V} zl>-=6*J^0B&0=JrJ0JXLck%72qt(!Ao2A5n@>QAp+jH1IA% zvltne%Lmtg`ql)khF04wB?i1+?@a(P06=V`rY4GZYcWOJ5+w%0;c%Lnr`2nNom6#D zHaIHGJZBrDq$$08qh1B02KLz}uged#+&&0Od_=CiX9t zGtp26fCrd(Yw(le`VD6QC~qQ}kp_$FHlzWd)P&dNjJCV!`QmyFF^yK@?D-2<4`hD* t>2}|9M*jq9cmofjVY`r79vi4P{{t|Ck6wVXMiT%4002ovPDHLkV1lH$dZz#Y literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/settings.png b/src/modules/launcher/PowerLauncher/Images/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..c61729fe020c81d1a66fdc254e98be337cd03172 GIT binary patch literal 1692 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 M07*qoM6N<$f)VY^b^rhX literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/update.png b/src/modules/launcher/PowerLauncher/Images/update.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe57909173fab51f2d20c7eb8e4605122a2fe37 GIT binary patch literal 794 zcmV+#1LgdQP)0>gb zLzYl%L7;B`jwS^cTa+vvg2`sGq}>uIbjs!}4|OnPY*H%?#*fn>Sz24VSBfGjpdZ}r z9QZzT&pEn>m>IX3RMY~lOJX2u5(7b?o82`6$WLx83=mUQZ`jR34H>Vwu`qB&X{g%Y za-V)jPl>KVX~0NlHd zN(s&wcy3j+Jy%^a1|EF+b6-_Pn*bIA5+_TK8OxTTZ8-%9uMhzgk$3>e5TTi?pI4m% zga-6_cLmXimqHarT;BN*q)ep8jOAlv+VKjB4O|v%6kHau;aP~s=hR{F}kjCde^gKUqK{^Ntysg7(yoD6I!18wQ( z&D}FENisEX<1q31&vN!X`)GI4zY=jJPFKhmiGip|3`C8uHc9}^ncWXoIr}asA!EN2 zR~%O~*KLJo1BDtgx@vy`s01J|1Ag&jK>v6;Lm9ONVBv=Jct+Ylp>{D#8FdGM)MGm= zqzvRuyEsZ?2MpUFzBjIWp= zJ{)LY6yazfS3j>3p$T~3R|W=;wnZUv9%Q?gk=+mlIT|=Jrq`MA3P3MVS#st6P-n5G&jJHwIm=6P~8aOO#ZKbcw1CZJjgo$(! zAFNJwxHotLz;)3SHlDhW^>*e|8E8uY99Mmz!_1x!m}#!@d(BU7&?nhSL``BKYHq!O Yzu(eQ5vlA?GXMYp07*qoM6N<$f@11SGXMYp literal 0 HcmV?d00001 diff --git a/src/modules/launcher/PowerLauncher/Images/warning.png b/src/modules/launcher/PowerLauncher/Images/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..8d29625ee731a16a1c29ecc6cd5f505a449f0069 GIT binary patch literal 738 zcmV<80v-K{P)kh?ZJ9v_+5#4%NNw-R79O38FZ;HlsS!NjIyLIO)*2?WT0erCr?W zAm}1V5NRF6h=V;_^CTCMc)5G;_x^+?a5uhtclZ7Le(yf_IKq%0H01e_0UUJ)vkqh( zu&h9~gwhHqD#vF*x%KG0Xf2X|@Yb@}iI?}K1EPW=C|?6nu>&BQ5Wl9$N7FS#e*mia zmjK=RKWytMEgUQjJV3N`a=D$vpsldog}O@!=N%A1p#p-J7*Zf0FZ2f%Ky2kp5Y%~b z(~jJ4pXLq&R}fA+Ac8^-gehq_fjW8N^uPg#YW@L0%dB98GR=oiSaTJVoOGZ^o2q0E zwdw{SQJX3XH(Ip@NYm!c<=KA(XNn6 zfCH^s0m!uZ@Wpw2sGpJpw9i^<)eb(3?9)N*X^#C}#Ot+D}B+KjIc;|^$Ql?A}jrh0*E%+Sy( z4}hUfjd;wdJgq7LxY~@TYV3|+y?QPhUR>D2$X{^4U zh=y-m{fxQG-^>6MT1^Ge)uvfG=2ep2YC3>L^_j8w(L6f8Tt + + Kunne ikke registrere genvejstast: {0} + Kunne ikke starte {0} + Ugyldigt Wox plugin filformat + Sæt øverst i denne søgning + Annuller øverst i denne søgning + Udfør søgning: {0} + Seneste afviklingstid: {0} + Åben + Indstillinger + Om + Afslut + + + Wox indstillinger + Generelt + Start Wox ved system start + Skjul Wox ved mistet fokus + Vis ikke notifikationer om nye versioner + Husk seneste position + Sprog + Maksimum antal resultater vist + Ignorer genvejstaster i fuldskærmsmode + Autoopdatering + Skjul Wox ved opstart + + + Plugin + Find flere plugins + Deaktiver + Nøgleord + Plugin bibliotek + Forfatter + Initaliseringstid: {0}ms + Søgetid: {0}ms + + + Tema + Søg efter flere temaer + Hej Wox + Søgefelt skrifttype + Resultat skrifttype + Vindue mode + Gennemsigtighed + + + Genvejstast + Wox genvejstast + Tilpasset søgegenvejstast + Slet + Rediger + Tilføj + Vælg venligst + Er du sikker på du vil slette {0} plugin genvejstast? + + + HTTP Proxy + Aktiver HTTP Proxy + HTTP Server + Port + Brugernavn + Adgangskode + Test Proxy + Gem + Server felt må ikke være tomt + Port felt må ikke være tomt + Ugyldigt port format + Proxy konfiguration gemt + Proxy konfiguret korrekt + Proxy forbindelse fejlet + + + Om + Website + Version + Du har aktiveret Wox {0} gange + Tjek for opdateringer + Ny version {0} er tilgængelig, genstart venligst Wox + Release Notes: + + + Gammelt nøgleord + Nyt nøgleord + Annuller + Færdig + Kan ikke finde det valgte plugin + Nyt nøgleord må ikke være tomt + Nyt nøgleord er tilknyttet et andet plugin, tilknyt venligst et andet nyt nøgeleord + Fortsæt + Brug * hvis du ikke vil angive et nøgleord + + + Vis + Genvejstast er utilgængelig, vælg venligst en ny genvejstast + Ugyldig plugin genvejstast + Opdater + + + Genvejstast utilgængelig + + + Version + Tid + Beskriv venligst hvordan Wox crashede, så vi kan rette det. + Send rapport + Annuller + Generelt + Exceptions + Exception Type + Kilde + Stack Trace + Sender + Rapport sendt korrekt + Kunne ikke sende rapport + Wox fik en fejl + + + Ny Wox udgivelse {0} er nu tilgængelig + Der skete en fejl ifm. opdatering af Wox + Opdater + Annuler + Denne opdatering vil genstarte Wox + Følgende filer bliver opdateret + Opdatereringsfiler + Opdateringsbeskrivelse + + diff --git a/src/modules/launcher/PowerLauncher/Languages/de.xaml b/src/modules/launcher/PowerLauncher/Languages/de.xaml new file mode 100644 index 0000000000..a11cbd8013 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/de.xaml @@ -0,0 +1,130 @@ + + + Tastenkombinationregistrierung: {0} fehlgeschlagen + Kann {0} nicht starten + Fehlerhaftes Wox-Plugin Dateiformat + In dieser Abfrage als oberstes setzen + In dieser Abfrage oberstes abbrechen + Abfrage ausführen:{0} + Letzte Ausführungszeit:{0} + Öffnen + Einstellungen + Über + Schließen + + + Wox Einstellungen + Allgemein + Starte Wox bei Systemstart + Verstecke Wox wenn der Fokus verloren geht + Zeige keine Nachricht wenn eine neue Version vorhanden ist + Merke letzte Ausführungsposition + Sprache + Maximale Anzahl Ergebnissen + Ignoriere Tastenkombination wenn Fenster im Vollbildmodus ist + Automatische Aktualisierung + Verstecke Wox bei Systemstart + + + Plugin + Suche nach weiteren Plugins + Deaktivieren + Aktionsschlüsselwörter + Pluginordner + Autor + Initialisierungszeit: {0}ms + Abfragezeit: {0}ms + + + Theme + Suche nach weiteren Themes + Hallo Wox + Abfragebox Schriftart + Ergebnis Schriftart + Fenstermodus + Transparenz + + + Tastenkombination + Wox Tastenkombination + Benutzerdefinierte Abfrage Tastenkombination + Löschen + Bearbeiten + Hinzufügen + Bitte einen Eintrag auswählen + Wollen Sie die {0} Plugin Tastenkombination wirklich löschen? + + + HTTP Proxy + Aktiviere HTTP Proxy + HTTP Server + Port + Benutzername + Passwort + Teste Proxy + Speichern + Server darf nicht leer sein + Server Port darf nicht leer sein + Falsches Port Format + Proxy wurde erfolgreich gespeichert + Proxy ist korrekt + Verbindung zum Proxy fehlgeschlagen + + + Über + Webseite + Version + Sie haben Wox {0} mal aktiviert + Nach Aktuallisierungen Suchen + Eine neue Version ({0}) ist vorhanden. Bitte starten Sie Wox neu. + Versionshinweise: + + + Altes Aktionsschlüsselwort + Neues Aktionsschlüsselwort + Abbrechen + Fertig + Kann das angegebene Plugin nicht finden + Neues Aktionsschlüsselwort darf nicht leer sein + Aktionsschlüsselwort ist schon bei einem anderen Plugin in verwendung. Bitte stellen Sie ein anderes Aktionsschlüsselwort ein. + Erfolgreich + Benutzen Sie * wenn Sie ein Aktionsschlüsselwort definieren wollen. + + + Vorschau + Tastenkombination ist nicht verfügbar, bitte wähle eine andere Tastenkombination + Ungültige Plugin Tastenkombination + Aktualisieren + + + Tastenkombination nicht verfügbar + + + Version + Zeit + Bitte teilen Sie uns mit, wie die Anwendung abgestürzt ist, damit wir den Fehler beheben können. + Sende Report + Abbrechen + Allgemein + Fehler + Fehlertypen + Quelle + Stack Trace + Sende + Report erfolgreich + Report fehlgeschlagen + Wox hat einen Fehler + + + V{0} von Wox ist verfügbar + Es ist ein Fehler während der Installation der Aktualisierung aufgetreten. + Aktualisieren + Abbrechen + Diese Aktualisierung wird Wox neu starten + Folgende Dateien werden aktualisiert + Aktualisiere Dateien + Aktualisierungbeschreibung + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/en.xaml b/src/modules/launcher/PowerLauncher/Languages/en.xaml new file mode 100644 index 0000000000..cf177cab52 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/en.xaml @@ -0,0 +1,144 @@ + + + Failed to register hotkey: {0} + Could not start {0} + Invalid Wox plugin file format + Set as topmost in this query + Cancel topmost in this query + Execute query: {0} + Last execution time: {0} + Open + Settings + About + Exit + + + Wox Settings + General + Start Wox on system startup + Hide Wox when focus is lost + Do not show new version notifications + Remember last launch location + Language + Last Query Style + Preserve Last Query + Select last Query + Empty last Query + Maximum results shown + Ignore hotkeys in fullscreen mode + Auto Update + Hide Wox on startup + Hide tray icon + Query Search Precision + Should Use Pinyin + + + Plugin + Find more plugins + Disable + Action keywords + Plugin Directory + Author + Init time: {0}ms + Query time: {0}ms + + + Theme + Browse for more themes + Hello Wox + Query Box Font + Result Item Font + Window Mode + Opacity + Theme {0} not exists, fallback to default theme + Fail to load theme {0}, fallback to default theme + + + Hotkey + Wox Hotkey + Custom Query Hotkey + Delete + Edit + Add + Please select an item + Are you sure you want to delete {0} plugin hotkey? + + + HTTP Proxy + Enable HTTP Proxy + HTTP Server + Port + User Name + Password + Test Proxy + Save + Server field can't be empty + Port field can't be empty + Invalid port format + Proxy configuration saved successfully + Proxy configured correctly + Proxy connection failed + + + About + Website + Version + You have activated Wox {0} times + Check for Updates + New version {0} is available, please restart Wox. + Check updates failed, please check your connection and proxy settings to api.github.com. + + Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com, + or go to https://github.com/Wox-launcher/Wox/releases to download updates manually. + + Release Notes: + + + Old Action Keyword + New Action Keyword + Cancel + Done + Can't find specified plugin + New Action Keyword can't be empty + New Action Keywords have been assigned to another plugin, please assign other new action keyword + Success + Use * if you don't want to specify an action keyword + + + Preview + Hotkey is unavailable, please select a new hotkey + Invalid plugin hotkey + Update + + + Hotkey unavailable + + + Version + Time + Please tell us how application crashed so we can fix it + Send Report + Cancel + General + Exceptions + Exception Type + Source + Stack Trace + Sending + Report sent successfully + Failed to send report + Wox got an error + + + New Wox release {0} is now available + An error occurred while trying to install software updates + Update + Cancel + This upgrade will restart Wox + Following files will be updated + Update files + Update description + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/fr.xaml b/src/modules/launcher/PowerLauncher/Languages/fr.xaml new file mode 100644 index 0000000000..ecbcda3ae9 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/fr.xaml @@ -0,0 +1,136 @@ + + + Échec lors de l'enregistrement du raccourci : {0} + Impossible de lancer {0} + Le format de fichier n'est pas un plugin Wox valide + Définir en tant que favori pour cette requête + Annuler le favori + Lancer la requête : {0} + Dernière exécution : {0} + Ouvrir + Paramètres + À propos + Quitter + + + Paramètres - Wox + Général + Lancer Wox au démarrage du système + Cacher Wox lors de la perte de focus + Ne pas afficher le message de mise à jour pour les nouvelles versions + Se souvenir du dernier emplacement de la fenêtre + Langue + Affichage de la dernière recherche + Conserver la dernière recherche + Sélectionner la dernière recherche + Ne pas afficher la dernière recherche + Résultats maximums à afficher + Ignore les raccourcis lorsqu'une application est en plein écran + Mettre à jour automatiquement + Cacher Wox au démarrage + + + Modules + Trouver plus de modules + Désactivé + Mot-clé d'action : + Répertoire + Auteur + Chargement : {0}ms + Utilisation : {0}ms + + + Thèmes + Trouver plus de thèmes + Hello Wox + Police (barre de recherche) + Police (liste des résultats) + Mode fenêtré + Opacité + + + Raccourcis + Ouvrir Wox + Requêtes personnalisées + Supprimer + Modifier + Ajouter + Veuillez sélectionner un élément + Voulez-vous vraiment supprimer {0} raccourci(s) ? + + + Proxy HTTP + Activer le HTTP proxy + Serveur HTTP + Port + Utilisateur + Mot de passe + Tester + Sauvegarder + Un serveur doit être indiqué + Un port doit être indiqué + Format du port invalide + Proxy sauvegardé avec succès + Le proxy est valide + Connexion au proxy échouée + + + À propos + Site web + Version + Vous avez utilisé Wox {0} fois + Vérifier les mises à jour + Nouvelle version {0} disponible, veuillez redémarrer Wox + Échec de la vérification de la mise à jour, vérifiez votre connexion et vos paramètres de configuration proxy pour pouvoir acceder à api.github.com. + Échec du téléchargement de la mise à jour, vérifiez votre connexion et vos paramètres de configuration proxy pour pouvoir acceder à github-cloud.s3.amazonaws.com, ou téléchargez manuelement la mise à jour sur https://github.com/Wox-launcher/Wox/releases. + Notes de changement : + + + Ancien mot-clé d'action + Nouveau mot-clé d'action + Annuler + Terminé + Impossible de trouver le module spécifié + Le nouveau mot-clé d'action doit être spécifié + Le nouveau mot-clé d'action a été assigné à un autre module, veuillez en choisir un autre + Ajouté + Saisissez * si vous ne souhaitez pas utiliser de mot-clé spécifique + + + Prévisualiser + Raccourci indisponible. Veuillez en choisir un autre. + Raccourci invalide + Actualiser + + + Raccourci indisponible + + + Version + Heure + Veuillez nous indiquer comment l'application a planté afin que nous puissions le corriger + Envoyer le rapport + Annuler + Général + Exceptions + Type d'exception + Source + Trace d'appel + Envoi en cours + Signalement envoyé + Échec de l'envoi du signalement + Wox a rencontré une erreur + + + Version v{0} de Wox disponible + Une erreur s'est produite lors de l'installation de la mise à jour + Mettre à jour + Annuler + Wox doit redémarrer pour installer cette mise à jour + Les fichiers suivants seront mis à jour + Fichiers mis à jour + Description de la mise à jour + + diff --git a/src/modules/launcher/PowerLauncher/Languages/it.xaml b/src/modules/launcher/PowerLauncher/Languages/it.xaml new file mode 100644 index 0000000000..a3a826d6a5 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/it.xaml @@ -0,0 +1,139 @@ + + + Impossibile salvare il tasto di scelta rapida: {0} + Avvio fallito {0} + Formato file plugin non valido + Risultato prioritario con questa query + Rimuovi risultato prioritario con questa query + Query d'esecuzione: {0} + Ultima esecuzione: {0} + Apri + Impostazioni + About + Esci + + + Impostaizoni Wox + Generale + Avvia Wow all'avvio di Windows + Nascondi Wox quando perde il focus + Non mostrare le notifiche per una nuova versione + Ricorda l'ultima posizione di avvio del launcher + Lingua + Comportamento ultima ricerca + Conserva ultima ricerca + Seleziona ultima ricerca + Cancella ultima ricerca + Numero massimo di risultati mostrati + Ignora i tasti di scelta rapida in applicazione a schermo pieno + Aggiornamento automatico + Nascondi Wox all'avvio + + + Plugin + Cerca altri plugins + Disabilita + Parole chiave + Cartella Plugin + Autore + Tempo di avvio: {0}ms + Tempo ricerca: {0}ms + + + Tema + Sfoglia per altri temi + Hello Wox + Font campo di ricerca + Font campo risultati + Modalità finestra + Opacità + + + Tasti scelta rapida + Tasto scelta rapida Wox + Tasti scelta rapida per ricerche personalizzate + Cancella + Modifica + Aggiungi + Selezionare un oggetto + Volete cancellare il tasto di scelta rapida per il plugin {0}? + + + Proxy HTTP + Abilita Proxy HTTP + Server HTTP + Porta + User Name + Password + Proxy Test + Salva + Il campo Server non può essere vuoto + Il campo Porta non può essere vuoto + Formato Porta non valido + Configurazione Proxy salvata correttamente + Proxy Configurato correttamente + Connessione Proxy fallita + + + About + Sito web + Versione + Hai usato Wox {0} volte + Cerca aggiornamenti + Una nuova versione {0} è disponibile, riavvia Wox per favore. + Ricerca aggiornamenti fallita, per favore controlla la tua connessione e le eventuali impostazioni proxy per api.github.com. + + Download degli aggiornamenti fallito, per favore controlla la tua connessione ed eventuali impostazioni proxy per github-cloud.s3.amazonaws.com, + oppure vai su https://github.com/Wox-launcher/Wox/releases per scaricare gli aggiornamenti manualmente. + + Note di rilascio: + + + Vecchia parola chiave d'azione + Nuova parola chiave d'azione + Annulla + Conferma + Impossibile trovare il plugin specificato + La nuova parola chiave d'azione non può essere vuota + La nuova parola chiave d'azione è stata assegnata ad un altro plugin, per favore sceglierne una differente + Successo + Usa * se non vuoi specificare una parola chiave d'azione + + + Anteprima + Tasto di scelta rapida non disponibile, per favore scegli un nuovo tasto di scelta rapida + Tasto di scelta rapida plugin non valido + Aggiorna + + + Tasto di scelta rapida non disponibile + + + Versione + Tempo + Per favore raccontaci come l'applicazione si è chiusa inaspettatamente così che possimo risolvere il problema + Invia rapporto + Annulla + Generale + Eccezioni + Tipo di eccezione + Risorsa + Traccia dello stack + Invio in corso + Rapporto inviato correttamente + Invio rapporto fallito + Wox ha riportato un errore + + + E' disponibile la nuova release {0} di Wox + Errore durante l'installazione degli aggiornamenti software + Aggiorna + Annulla + Questo aggiornamento riavvierà Wox + I seguenti file saranno aggiornati + File aggiornati + Descrizione aggiornamento + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/ja.xaml b/src/modules/launcher/PowerLauncher/Languages/ja.xaml new file mode 100644 index 0000000000..598a162bdb --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/ja.xaml @@ -0,0 +1,142 @@ + + + ホットキー「{0}」の登録に失敗しました + {0}の起動に失敗しました + Woxプラグインの形式が正しくありません + このクエリを最上位にセットする + このクエリを最上位にセットをキャンセル + 次のコマンドを実行します:{0} + 最終実行時間:{0} + 開く + 設定 + Woxについて + 終了 + + + Wox設定 + 一般 + スタートアップ時にWoxを起動する + フォーカスを失った時にWoxを隠す + 最新版が入手可能であっても、アップグレードメッセージを表示しない + 前回のランチャーの位置を記憶 + 言語 + 前回のクエリの扱い + 前回のクエリを保存 + 前回のクエリを選択 + 前回のクエリを消去 + 結果の最大表示件数 + ウィンドウがフルスクリーン時にホットキーを無効にする + 自動更新 + 起動時にWoxを隠す + トレイアイコンを隠す + + + プラグイン + プラグインを探す + 無効 + キーワード + プラグイン・ディレクトリ + 作者 + 初期化時間: {0}ms + クエリ時間: {0}ms + + + テーマ + テーマを探す + こんにちは Wox + 検索ボックスのフォント + 検索結果一覧のフォント + ウィンドウモード + 透過度 + テーマ {0} が存在しません、デフォルトのテーマに戻します。 + テーマ {0} を読み込めません、デフォルトのテーマに戻します。 + + + ホットキー + Wox ホットキー + カスタムクエリ ホットキー + 削除 + 編集 + 追加 + 項目選択してください + {0} プラグインのホットキーを本当に削除しますか? + + + HTTP プロキシ + HTTP プロキシを有効化 + HTTP サーバ + ポート + ユーザ名 + パスワード + プロキシをテストする + 保存 + サーバーは空白にできません + ポートは空白にできません + ポートの形式が正しくありません + プロキシの保存に成功しました + プロキシは正しいです + プロキシ接続に失敗しました + + + Woxについて + ウェブサイト + バージョン + あなたはWoxを {0} 回利用しました + アップデートを確認する + 新しいバージョン {0} が利用可能です。Woxを再起動してください。 + アップデートの確認に失敗しました、api.github.com への接続とプロキシ設定を確認してください。 + + 更新のダウンロードに失敗しました、github-cloud.s3.amazonaws.com への接続とプロキシ設定を確認するか、 + https://github.com/Wox-launcher/Wox/releases から手動でアップデートをダウンロードしてください。 + + リリースノート: + + + 古いアクションキーボード + 新しいアクションキーボード + キャンセル + 完了 + プラグインが見つかりません + 新しいアクションキーボードを空にすることはできません + 新しいアクションキーボードは他のプラグインに割り当てられています。他のアクションキーボードを指定してください + 成功しました + アクションキーボードを指定しない場合、* を使用してください + + + プレビュー + ホットキーは使用できません。新しいホットキーを選択してください + プラグインホットキーは無効です + 更新 + + + ホットキーは使用できません + + + バージョン + 時間 + アプリケーションが突然終了した手順を私たちに教えてくださると、バグ修正ができます + クラッシュレポートを送信 + キャンセル + 一般 + 例外 + 例外の種類 + ソース + スタックトレース + 送信中 + クラッシュレポートの送信に成功しました + クラッシュレポートの送信に失敗しました + Woxにエラーが発生しました + + + Wox の最新バージョン V{0} が入手可能です + Woxのアップデート中にエラーが発生しました + アップデート + キャンセル + このアップデートでは、Woxの再起動が必要です + 次のファイルがアップデートされます + 更新ファイル一覧 + アップデートの詳細 + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/ko.xaml b/src/modules/launcher/PowerLauncher/Languages/ko.xaml new file mode 100644 index 0000000000..28277da284 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/ko.xaml @@ -0,0 +1,134 @@ + + + 핫키 등록 실패: {0} + {0}을 실행할 수 없습니다. + Wox 플러그인 파일 형식이 유효하지 않습니다. + 이 쿼리의 최상위로 설정 + 이 쿼리의 최상위 설정 취소 + 쿼리 실행: {0} + 마지막 실행 시간: {0} + 열기 + 설정 + 정보 + 종료 + + + Wox 설정 + 일반 + 시스템 시작 시 Wox 실행 + 포커스 잃으면 Wox 숨김 + 새 버전 알림 끄기 + 마지막 실행 위치 기억 + 언어 + 마지막 쿼리 스타일 + 직전 쿼리에 계속 입력 + 직전 쿼리 내용 선택 + 직전 쿼리 지우기 + 표시할 결과 수 + 전체화면 모드에서는 핫키 무시 + 자동 업데이트 + 시작 시 Wox 숨김 + + + 플러그인 + 플러그인 더 찾아보기 + 비활성화 + 액션 키워드 + 플러그인 디렉토리 + 저자 + 초기화 시간: {0}ms + 쿼리 시간: {0}ms + + + 테마 + 테마 더 찾아보기 + Hello Wox + 쿼리 상자 글꼴 + 결과 항목 글꼴 + 윈도우 모드 + 투명도 + + + 핫키 + Wox 핫키 + 사용자지정 쿼리 핫키 + 삭제 + 편집 + 추가 + 항목을 선택하세요. + {0} 플러그인 핫키를 삭제하시겠습니까? + + + HTTP 프록시 + HTTP 프록시 켜기 + HTTP 서버 + 포트 + 사용자명 + 패스워드 + 프록시 테스트 + 저장 + 서버를 입력하세요. + 포트를 입력하세요. + 유효하지 않은 포트 형식 + 프록시 설정이 저장되었습니다. + 프록시 설정 정상 + 프록시 연결 실패 + + + 정보 + 웹사이트 + 버전 + Wox를 {0}번 실행했습니다. + 업데이트 확인 + 새 버전({0})이 있습니다. Wox를 재시작하세요. + 릴리즈 노트: + + + 예전 액션 키워드 + 새 액션 키워드 + 취소 + 완료 + 플러그인을 찾을 수 없습니다. + 새 액션 키워드를 입력하세요. + 새 액션 키워드가 할당된 플러그인이 이미 있습니다. 다른 액션 키워드를 입력하세요. + 성공 + 액션 키워드를 지정하지 않으려면 *를 사용하세요. + + + 미리보기 + 핫키를 사용할 수 없습니다. 다른 핫키를 입력하세요. + 플러그인 핫키가 유효하지 않습니다. + 업데이트 + + + 핫키를 사용할 수 없습니다. + + + 버전 + 시간 + 수정을 위해 애플리케이션이 어떻게 충돌했는지 알려주세요. + 보고서 보내기 + 취소 + 일반 + 예외 + 예외 유형 + 소스 + 스택 추적 + 보내는 중 + 보고서를 정상적으로 보냈습니다. + 보고서를 보내지 못했습니다. + Wox에 문제가 발생했습니다. + + + 새 Wox 버전({0})을 사용할 수 있습니다. + 소프트웨어 업데이트를 설치하는 중에 오류가 발생했습니다. + 업데이트 + 취소 + 업데이트를 위해 Wox를 재시작합니다. + 아래 파일들이 업데이트됩니다. + 업데이트 파일 + 업데이트 설명 + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/nb-NO.xaml b/src/modules/launcher/PowerLauncher/Languages/nb-NO.xaml new file mode 100644 index 0000000000..b5dcbdd910 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/nb-NO.xaml @@ -0,0 +1,139 @@ + + + Kunne ikke registrere hurtigtast: {0} + Kunne ikke starte {0} + Ugyldig filformat for Wox-utvidelse + Sett til øverste for denne spørringen + Avbryt øverste for denne spørringen + Utfør spørring: {0} + Tid for siste gjennomføring: {0} + Åpne + Innstillinger + Om + Avslutt + + + Wox-innstillinger + Generelt + Start Wox ved systemstart + Skjul Wox ved mistet fokus + Ikke vis varsel om ny versjon + Husk siste plassering + Språk + Stil for siste spørring + Bevar siste spørring + Velg siste spørring + Tøm siste spørring + Maks antall resultater vist + Ignorer hurtigtaster i fullskjermsmodus + Oppdater automatisk + Skjul Wox ved oppstart + + + Utvidelse + Finn flere utvidelser + Deaktiver + Handlingsnøkkelord + Utvidelseskatalog + Forfatter + Oppstartstid: {0}ms + Spørringstid: {0}ms + + + Tema + Finn flere temaer + Hallo Wox + Font for spørringsboks + Font for resultat + Vindusmodus + Gjennomsiktighet + + + Hurtigtast + Wox-hurtigtast + Egendefinerd spørringshurtigtast + Slett + Rediger + Legg til + Vennligst velg et element + Er du sikker på at du vil slette utvidelserhurtigtasten for {0}? + + + HTTP-proxy + Aktiver HTTP-proxy + HTTP-server + Port + Brukernavn + Passord + Test proxy + Lagre + Serverfeltet kan ikke være tomt + Portfelter kan ikke være tomt + Ugyldig portformat + Proxy-konfigurasjon lagret med suksess + Proxy konfigurert riktig + Proxy-tilkobling feilet + + + Om + Netside + Versjon + Du har aktivert Wox {0} ganger + Sjekk for oppdatering + Ny versjon {0} er tilgjengelig, vennligst start Wox på nytt. + Oppdateringssjekk feilet, vennligst sjekk tilkoblingen og proxy-innstillene for api.github.com. + + Nedlastning av oppdateringer feilet, vennligst sjekk tilkoblingen og proxy-innstillene for github-cloud.s3.amazonaws.com, + eller gå til https://github.com/Wox-launcher/Wox/releases for å laste ned oppdateringer manuelt. + + Versjonsmerknader: + + + Gammelt handlingsnøkkelord + Nytt handlingsnøkkelord + Avbryt + Ferdig + Kan ikke finne den angitte utvidelsen + Nytt handlingsnøkkelord kan ikke være tomt + De nye handlingsnøkkelordene er tildelt en annen utvidelse, vennligst velg et annet nøkkelord + Vellykket + Bruk * hvis du ikke ønsker å angi et handlingsnøkkelord + + + Forhåndsvis + Hurtigtasten er ikke tilgjengelig, vennligst velg en ny hurtigtast + Ugyldig hurtigtast for utvidelse + Oppdater + + + Hurtigtast utilgjengelig + + + Versjon + Tid + Fortell oss hvordan programmet krasjet, så vi kan fikse det + Send rapport + Avbryt + Generelt + Unntak + Unntakstype + Kilde + Stack Trace + Sender + Rapport sendt med suksess + Kunne ikke sende rapport + Wox møtte på en feil + + + Versjon {0} av Wox er nå tilgjengelig + En feil oppstod under installasjon av programvareoppdateringer + Oppdater + Avbryt + Denne opgraderingen vil starte Wox på nytt + Følgende filer vil bli oppdatert + Oppdateringsfiler + Oppdateringsbeskrivelse + + diff --git a/src/modules/launcher/PowerLauncher/Languages/nl.xaml b/src/modules/launcher/PowerLauncher/Languages/nl.xaml new file mode 100644 index 0000000000..73aa621093 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/nl.xaml @@ -0,0 +1,130 @@ + + + Sneltoets registratie: {0} mislukt + Kan {0} niet starten + Ongeldige Wox plugin bestandsextensie + Stel in als hoogste in deze query + Annuleer hoogste in deze query + Executeer query: {0} + Laatste executie tijd: {0} + Open + Instellingen + About + Afsluiten + + + Wox Instellingen + Algemeen + Start Wox als systeem opstart + Verberg Wox als focus verloren is + Laat geen nieuwe versie notificaties zien + Herinner laatste opstart locatie + Taal + Laat maximale resultaten zien + Negeer sneltoetsen in fullscreen mode + Automatische Update + Verberg Wox als systeem opstart + + + Plugin + Zoek meer plugins + Disable + Action terfwoorden + Plugin map + Auteur + Init tijd: {0}ms + Query tijd: {0}ms + + + Thema + Zoek meer thema´s + Hallo Wox + Query Box lettertype + Resultaat Item lettertype + Window Mode + Ondoorzichtigheid + + + Sneltoets + Wox Sneltoets + Custom Query Sneltoets + Verwijder + Bewerken + Toevoegen + Selecteer een item + Weet u zeker dat je {0} plugin sneltoets wilt verwijderen? + + + HTTP Proxy + Enable HTTP Proxy + HTTP Server + Poort + Gebruikersnaam + Wachtwoord + Test Proxy + Opslaan + Server moet ingevuld worden + Poort moet ingevuld worden + Ongeldige poort formaat + Proxy succesvol opgeslagen + Proxy correct geconfigureerd + Proxy connectie mislukt + + + Over + Website + Versie + U heeft Wox {0} keer opgestart + Zoek naar Updates + Nieuwe versie {0} beschikbaar, start Wox opnieuw op + Release Notes: + + + Oude actie sneltoets + Nieuwe actie sneltoets + Annuleer + Klaar + Kan plugin niet vinden + Nieuwe actie sneltoets moet ingevuld worden + Nieuwe actie sneltoets is toegewezen aan een andere plugin, wijs een nieuwe actie sneltoets aan + Succesvol + Gebruik * wanneer je geen nieuwe actie sneltoets wilt specificeren + + + Voorbeeld + Sneltoets is niet beschikbaar, selecteer een nieuwe sneltoets + Ongeldige plugin sneltoets + Update + + + Sneltoets niet beschikbaar + + + Versie + Tijd + Vertel ons hoe de applicatie is gecrashed, zodat wij de applicatie kunnen verbeteren + Verstuur Rapport + Annuleer + Algemeen + Uitzonderingen + Uitzondering Type + Bron + Stack Opzoeken + Versturen + Rapport succesvol + Rapport mislukt + Wox heeft een error + + + Nieuwe Wox release {0} nu beschikbaar + Een error is voorgekomen tijdens het installeren van de update + Update + Annuleer + Deze upgrade zal Wox opnieuw opstarten + Volgende bestanden zullen worden geüpdatet + Update bestanden + Update beschrijving + + diff --git a/src/modules/launcher/PowerLauncher/Languages/pl.xaml b/src/modules/launcher/PowerLauncher/Languages/pl.xaml new file mode 100644 index 0000000000..b7aa238b95 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/pl.xaml @@ -0,0 +1,130 @@ + + + Nie udało się ustawić skrótu klawiszowego: {0} + Nie udało się uruchomić: {0} + Niepoprawny format pliku wtyczki + Ustaw jako najwyższy wynik dla tego zapytania + Usuń ten najwyższy wynik dla tego zapytania + Wyszukaj: {0} + Ostatni czas wykonywania: {0} + Otwórz + Ustawienia + O programie + Wyjdź + + + Ustawienia Wox + Ogólne + Uruchamiaj Wox przy starcie systemu + Ukryj okno Wox kiedy przestanie ono być aktywne + Nie pokazuj powiadomienia o nowej wersji + Zapamiętaj ostatnią pozycję okna + Język + Maksymalna liczba wyników + Ignoruj skróty klawiszowe w trybie pełnego ekranu + Automatyczne aktualizacje + Uruchamiaj Wox zminimalizowany + + + Wtyczki + Znajdź więcej wtyczek + Wyłącz + Wyzwalacze + Folder wtyczki + Autor + Czas ładowania: {0}ms + Czas zapytania: {0}ms + + + Skórka + Znajdź więcej skórek + Witaj Wox + Czcionka okna zapytania + Czcionka okna wyników + Tryb w oknie + Przeźroczystość + + + Skrót klawiszowy + Skrót klawiszowy Wox + Skrót klawiszowy niestandardowych zapytań + Usuń + Edytuj + Dodaj + Musisz coś wybrać + Czy jesteś pewien że chcesz usunąć skrót klawiszowy {0} wtyczki? + + + Serwer proxy HTTP + Używaj HTTP proxy + HTTP Serwer + Port + Nazwa użytkownika + Hasło + Sprawdź proxy + Zapisz + Nazwa serwera nie może być pusta + Numer portu nie może być pusty + Nieprawidłowy format numeru portu + Ustawienia proxy zostały zapisane + Proxy zostało skonfigurowane poprawnie + Nie udało się połączyć z serwerem proxy + + + O programie + Strona internetowa + Wersja + Uaktywniłeś Wox {0} razy + Szukaj aktualizacji + Nowa wersja {0} jest dostępna, uruchom ponownie Wox + Zmiany: + + + Stary wyzwalacz + Nowy wyzwalacz + Anuluj + Zapisz + Nie można odnaleźć podanej wtyczki + Nowy wyzwalacz nie może być pusty + Ten wyzwalacz został już przypisany do innej wtyczki, musisz podać inny wyzwalacz. + Sukces + Użyj * jeżeli nie chcesz podawać wyzwalacza + + + Podgląd + Skrót klawiszowy jest niedostępny, musisz podać inny skrót klawiszowy + Niepoprawny skrót klawiszowy + Aktualizuj + + + Niepoprawny skrót klawiszowy + + + Wersja + Czas + Proszę powiedz nam co się stało zanim wystąpił błąd dzięki czemu będziemy mogli go naprawić (tylko po angielsku) + Wyślij raport błędu + Anuluj + Ogólne + Wyjątki + Typ wyjątku + Źródło + Stos wywołań + Wysyłam raport... + Raport wysłany pomyślnie + Nie udało się wysłać raportu + W programie Wox wystąpił błąd + + + Nowa wersja Wox {0} jest dostępna + Wystąpił błąd podczas instalowania aktualizacji programu + Aktualizuj + Anuluj + Aby dokończyć proces aktualizacji Wox musi zostać zresetowany + Następujące pliki zostaną zaktualizowane + Aktualizuj pliki + Opis aktualizacji + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/pt-br.xaml b/src/modules/launcher/PowerLauncher/Languages/pt-br.xaml new file mode 100644 index 0000000000..6e0b5f2072 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/pt-br.xaml @@ -0,0 +1,139 @@ + + + Falha ao registrar atalho: {0} + Não foi possível iniciar {0} + Formato de plugin Wox inválido + Tornar a principal nessa consulta + Cancelar a principal nessa consulta + Executar consulta: {0} + Última execução: {0} + Abrir + Configurações + Sobre + Sair + + + Configurações do Wox + Geral + Iniciar Wox com inicialização do sistema + Esconder Wox quando foco for perdido + Não mostrar notificações de novas versões + Lembrar última localização de lançamento + Idioma + Estilo da Última Consulta + Preservar Última Consulta + Selecionar última consulta + Limpar última consulta + Máximo de resultados mostrados + Ignorar atalhos em tela cheia + Atualizar Automaticamente + Esconder Wox na inicialização + + + Plugin + Encontrar mais plugins + Desabilitar + Palavras-chave de ação + Diretório de Plugins + Autor + Tempo de inicialização: {0}ms + Tempo de consulta: {0}ms + + + Tema + Ver mais temas + Olá Wox + Fonte da caixa de Consulta + Fonte do Resultado + Modo Janela + Opacidade + + + Atalho + Atalho do Wox + Atalho de Consulta Personalizada + Apagar + Editar + Adicionar + Por favor selecione um item + Tem cereza de que deseja deletar o atalho {0} do plugin? + + + Proxy HTTP + Habilitar Proxy HTTP + Servidor HTTP + Porta + Usuário + Senha + Testar Proxy + Salvar + O campo de servidor não pode ser vazio + O campo de porta não pode ser vazio + Formato de porta inválido + Configuração de proxy salva com sucesso + Proxy configurado corretamente + Conexão por proxy falhou + + + Sobre + Website + Versão + Você ativou o Wox {0} vezes + Procurar atualizações + A nova versão {0} está disponível, por favor reinicie o Wox. + Falha ao procurar atualizações, confira sua conexão e configuração de proxy para api.github.com. + + Falha ao baixar atualizações, confira sua conexão e configuração de proxy para github-cloud.s3.amazonaws.com, + ou acesse https://github.com/Wox-launcher/Wox/releases para baixar manualmente. + + Notas de Versão: + + + Antiga palavra-chave da ação + Nova palavra-chave da ação + Cancelar + Finalizado + Não foi possível encontrar o plugin especificado + A nova palavra-chave da ação não pode ser vazia + A nova palavra-chave da ação já foi atribuída a outro plugin, por favor tente outra + Sucesso + Use * se não quiser especificar uma palavra-chave de ação + + + Prévia + Atalho indisponível, escolha outro + Atalho de plugin inválido + Atualizar + + + Atalho indisponível + + + Versão + Horário + Por favor, conte como a aplicação parou de funcionar para que possamos consertar + Enviar Relatório + Cancelar + Geral + Exceções + Tipo de Exceção + Fonte + Rastreamento de pilha + Enviando + Relatório enviado com sucesso + Falha ao enviar relatório + Wox apresentou um erro + + + A nova versão {0} do Wox agora está disponível + Ocorreu um erro ao tentar instalar atualizações do progama + Atualizar + Cancelar + Essa atualização reiniciará o Wox + Os seguintes arquivos serão atualizados + Atualizar arquivos + Atualizar descrição + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/ru.xaml b/src/modules/launcher/PowerLauncher/Languages/ru.xaml new file mode 100644 index 0000000000..f80c3ed1fa --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/ru.xaml @@ -0,0 +1,130 @@ + + + Регистрация хоткея {0} не удалась + Не удалось запустить {0} + Неверный формат файла wox плагина + Отображать это окно выше всех при этом запросе + Не отображать это окно выше всех при этом запросе + Выполнить запрос:{0} + Последний раз выполнен в:{0} + Открыть + Настройки + О Wox + Закрыть + + + Настройки Wox + Общие + Запускать Wox при запуске системы + Скрывать Wox если потерян фокус + Не отображать сообщение об обновлении когда доступна новая версия + Запомнить последнее место запуска + Язык + Максимальное количество результатов + Игнорировать горячие клавиши, если окно в полноэкранном режиме + Auto Update + Hide Wox on startup + + + Плагины + Найти больше плагинов + Отключить + Ключевое слово + Папка + Автор + Инициализация: {0}ms + Запрос: {0}ms + + + Темы + Найти больше тем + Привет Wox + Шрифт запросов + Шрифт результатов + Оконный режим + Прозрачность + + + Горячие клавиши + Горячая клавиша Wox + Задаваемые горячие клавиши для запросов + Удалить + Изменить + Добавить + Сначала выберите элемент + Вы уверены что хотите удалить горячую клавишу для плагина {0}? + + + HTTP Прокси + Включить HTTP прокси + HTTP Сервер + Порт + Логин + Пароль + Проверить + Сохранить + Необходимо задать сервер + Необходимо задать порт + Неверный формат порта + Прокси успешно сохранён + Прокси сервер задан правильно + Подключение к прокси серверу не удалось + + + О Wox + Сайт + Версия + Вы воспользовались Wox уже {0} раз + Check for Updates + New version {0} avaiable, please restart wox + Release Notes: + + + Текущая горячая клавиша + Новая горячая клавиша + Отменить + Подтвердить + Не удалось найти заданный плагин + Новая горячая клавиша не может быть пустой + Новая горячая клавиша уже используется другим плагином. Пожалуйста, задайте новую + Сохранено + Используйте * в случае, если вы не хотите задавать конкретную горячую клавишу + + + Проверить + Горячая клавиша недоступна. Пожалуйста, задайте новую + Недействительная горячая клавиша плагина + Изменить + + + Горячая клавиша недоступна + + + Версия + Время + Пожалуйста, сообщите что произошло когда произошёл сбой в приложении, чтобы мы могли его исправить + Отправить отчёт + Отмена + Общие + Исключения + Тип исключения + Источник + Трессировка стека + Отправляем + Отчёт успешно отправлен + Не удалось отправить отчёт + Произошёл сбой в Wox + + + Доступна новая версия Wox V{0} + Произошла ошибка при попытке установить обновление + Обновить + Отмена + Это обновление перезапустит Wox + Следующие файлы будут обновлены + Обновить файлы + Описание обновления + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/sk.xaml b/src/modules/launcher/PowerLauncher/Languages/sk.xaml new file mode 100644 index 0000000000..15ee75ad6d --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/sk.xaml @@ -0,0 +1,140 @@ + + + Nepodarilo sa registrovať klávesovú skratku {0} + Nepodarilo sa spustiť {0} + Neplatný formát súboru pre plugin Wox + Pri tomto dopyte umiestniť navrchu + Zrušiť umiestnenie navrchu pri tomto dopyte + Spustiť dopyt: {0} + Posledný čas realizácie: {0} + Otvoriť + Nastavenia + O aplikácii + Ukončiť + + + Nastavenia Wox + Všeobecné + Spustiť Wox po štarte systému + Schovať Wox po strate fokusu + Nezobrazovať upozornenia na novú verziu + Zapamätať si posledné umiestnenie + Jazyk + Posledný dopyt + Ponechať + Označiť posledný dopyt + Prázdne + Max. výsledkov + Ignorovať klávesové skraty v režime na celú obrazovku + Automatická aktualizácia + Schovať Wox po spustení + Schovať ikonu v oblasti oznámení + + + Plugin + Nájsť ďalšie pluginy + Zakázať + Skratka akcie + Priečinok s pluginmy + Autor + Čas inic.: {0}ms + Čas dopytu: {0}ms + + + Motív + Prehliadať viac motívov + Ahoj Wox + Písmo poľa pre dopyt + Písmo výsledkov + Režim okno + Nepriehľadnosť + + + Klávesová skratka + Klávesová skratka pre Wox + Vlastná klávesová skratka pre dopyt + Odstrániť + Upraviť + Pridať + Vyberte položku, prosím + Ste si istý, že chcete odstrániť klávesovú skratku {0} pre plugin? + + + HTTP Proxy + Povoliť HTTP Proxy + HTTP Server + Port + Používateľské meno + Heslo + Test Proxy + Uložiť + Pole Server nemôže byť prázdne + Pole Port nemôže byť prázdne + Neplatný formát portu + Nastavenie proxy úspešne uložené + Nastavenie proxy je v poriadku + Pripojenie proxy zlyhalo + + + O aplikácii + Webstránka + Verzia + Wox bol aktivovaný {0}-krát + Skontrolovať aktualizácie + Je dostupná nová verzia {0}, prosím, reštartujte Wox. + Kontrola aktualizácií zlyhala, prosím, skontrolujte pripojenie na internet a nastavenie proxy k api.github.com. + + Sťahovanie aktualizácií zlyhalo, skontrolujte pripojenie na internet a nastavenie proxy k github-cloud.s3.amazonaws.com, + alebo prejdite na https://github.com/Wox-launcher/Wox/releases pre manuálne stiahnutie aktualizácií. + + Poznámky k vydaniu: + + + Stará skratka akcie + Nová skratka akcie + Zrušiť + Hotovo + Nepodarilo sa nájsť zadaný plugin + Nová skratka pre akciu nemôže byť prázdna + Nová skratka pre akciu bola priradená pre iný plugin, prosím, zvoľte inú skratku + Úspešné + Použite * ak nechcete určiť skratku pre akciu + + + Náhľad + Klávesová skratka je nedostupná, prosím, zadajte novú + Neplatná klávesová skratka pluginu + Aktualizovať + + + Klávesová skratka nedostupná + + + Verzia + Čas + Prosím, napíšte nám, ako došlo k pádu aplikácie, aby sme to mohli opraviť + Odoslať hlásenie + Zrušiť + Všeobecné + Výnimky + Typ výnimky + Zdroj + Stack Trace + Odosiela sa + Hlásenie bolo úspešne odoslané + Odoslanie hlásenia zlyhalo + Wox zaznamenal chybu + + + Je dostupné nové vydanie Wox {0} + Počas inštalácie aktualizácií došlo k chybe + Aktualizovať + Zrušiť + Tento upgrade reštartuje Wox + Nasledujúce súbory budú aktualizované + Aktualizovať súbory + Aktualizovať popis + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/sr.xaml b/src/modules/launcher/PowerLauncher/Languages/sr.xaml new file mode 100644 index 0000000000..91d6ec6155 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/sr.xaml @@ -0,0 +1,139 @@ + + + Neuspešno registrovana prečica: {0} + Neuspešno pokretanje {0} + Nepravilni Wox plugin format datoteke + Postavi kao najviši u ovom upitu + Poništi najviši u ovom upitu + Izvrši upit: {0} + Vreme poslednjeg izvršenja: {0} + Otvori + Podešavanja + O Wox-u + Izlaz + + + Wox Podešavanja + Opšte + Pokreni Wox pri podizanju sistema + Sakri Wox kada se izgubi fokus + Ne prikazuj obaveštenje o novoj verziji + Zapamti lokaciju poslednjeg pokretanja + Jezik + Stil Poslednjeg upita + Sačuvaj poslednji Upit + Selektuj poslednji Upit + Isprazni poslednji Upit + Maksimum prikazanih rezultata + Ignoriši prečice u fullscreen režimu + Auto ažuriranje + Sakrij Wox pri podizanju sistema + + + Plugin + Nađi još plugin-a + Onemogući + Ključne reči + Plugin direktorijum + Autor + Vreme inicijalizacije: {0}ms + Vreme upita: {0}ms + + + Tema + Pretražite još tema + Zdravo Wox + Font upita + Font rezultata + Režim prozora + Neprozirnost + + + Prečica + Wox prečica + prečica za ručno dodat upit + Obriši + Izmeni + Dodaj + Molim Vas izaberite stavku + Da li ste sigurni da želite da obrišete prečicu za {0} plugin? + + + HTTP proksi + Uključi HTTP proksi + HTTP Server + Port + Korisničko ime + Šifra + Test proksi + Sačuvaj + Polje za server ne može da bude prazno + Polje za port ne može da bude prazno + Nepravilan format porta + Podešavanja proksija uspešno sačuvana + Proksi uspešno podešen + Veza sa proksijem neuspešna + + + O Wox-u + Veb sajt + Verzija + Aktivirali ste Wox {0} puta + Proveri ažuriranja + Nove verzija {0} je dostupna, molim Vas ponovo pokrenite Wox. + Neuspešna provera ažuriranja, molim Vas proverite vašu vezu i podešavanja za proksi prema api.github.com. + + Neuspešno preuzimanje ažuriranja, molim Vas proverite vašu vezu i podešavanja za proksi prema github-cloud.s3.amazonaws.com, + ili posetite https://github.com/Wox-launcher/Wox/releases da preuzmete ažuriranja ručno. + + U novoj verziji: + + + Prečica za staru radnju + Prečica za novu radnju + Otkaži + Gotovo + Navedeni plugin nije moguće pronaći + Prečica za novu radnju ne može da bude prazna + Prečica za novu radnju je dodeljena drugom plugin-u, molim Vas dodelite drugu prečicu + Uspešno + Koristite * ako ne želite da navedete prečicu za radnju + + + Pregled + Prečica je nedustupna, molim Vas izaberite drugu prečicu + Nepravlna prečica za plugin + Ažuriraj + + + Prečica nedostupna + + + Verzija + Vreme + Molimo Vas recite nam kako je aplikacija prestala sa radom, da bi smo je ispravili + Pošalji izveštaj + Otkaži + Opšte + Izuzetak + Tipovi Izuzetaka + Izvor + Stack Trace + Slanje + Izveštaj uspešno poslat + Izveštaj neuspešno poslat + Wox je dobio grešku + + + Nova verzija Wox-a {0} je dostupna + Došlo je do greške prilokom instalacije ažuriranja + Ažuriraj + Otkaži + Ova nadogradnja će ponovo pokrenuti Wox + Sledeće datoteke će biti ažurirane + Ažuriraj datoteke + Opis ažuriranja + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/tr.xaml b/src/modules/launcher/PowerLauncher/Languages/tr.xaml new file mode 100644 index 0000000000..2690c79f10 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/tr.xaml @@ -0,0 +1,143 @@ + + + Kısayol tuşu ataması başarısız oldu: {0} + {0} başlatılamıyor + Geçersiz Wox eklenti dosyası formatı + Bu sorgu için başa sabitle + Sabitlemeyi kaldır + Sorguyu çalıştır: {0} + Son çalıştırma zamanı: {0} + + Ayarlar + Hakkında + Çıkış + + + Wox Ayarları + Genel + Wox'u başlangıçta başlat + Odak pencereden ayrıldığında Wox'u gizle + Güncelleme bildirimlerini gösterme + Pencere konumunu hatırla + Dil + Pencere açıldığında + Son sorguyu sakla + Son sorguyu sakla ve tümünü seç + Sorgu kutusunu temizle + Maksimum sonuç sayısı + Tam ekran modunda kısayol tuşunu gözardı et + Otomatik Güncelle + Başlangıçta Wox'u gizle + Sistem çekmecesi simgesini gizle + Sorgu Arama Hassasiyeti + + + Eklentiler + Daha fazla eklenti bul + Devre Dışı + Anahtar Kelimeler + Eklenti Klasörü + Yapımcı + Açılış Süresi: {0}ms + Sorgu Süresi: {0}ms + + + Temalar + Daha fazla tema bul + Merhaba Wox + Pencere Yazı Tipi + Sonuç Yazı Tipi + Pencere Modu + Saydamlık + {0} isimli tema bulunamadı, varsayılan temaya dönülüyor. + {0} isimli tema yüklenirken hata oluştu, varsayılan temaya dönülüyor. + + + Kısayol Tuşu + Wox Kısayolu + Özel Sorgu Kısayolları + Sil + Düzenle + Ekle + Lütfen bir öğe seçin + {0} eklentisi için olan kısayolu silmek istediğinize emin misiniz? + + + Vekil Sunucu + HTTP vekil sunucuyu etkinleştir. + Sunucu Adresi + Port + Kullanıcı Adı + Parola + Ayarları Sına + Kaydet + Sunucu adresi boş olamaz + Port boş olamaz + Port biçimi geçersiz + Vekil sunucu ayarları başarıyla kaydedildi + Vekil sunucu doğru olarak ayarlandı + Vekil sunucuya bağlanılırken hata oluştu + + + Hakkında + Web Sitesi + Sürüm + Şu ana kadar Wox'u {0} kez aktifleştirdiniz. + Güncellemeleri Kontrol Et + Uygulamanın yeni sürümü ({0}) mevcut, Lütfen Wox'u yeniden başlatın. + Güncelleme kontrolü başarısız oldu. Lütfen bağlantınız ve vekil sunucu ayarlarınızın api.github.com adresine ulaşabilir olduğunu kontrol edin. + + Güncellemenin yüklenmesi başarısız oldu. Lütfen bağlantınız ve vekil sunucu ayarlarınızın github-cloud.s3.amazonaws.com + adresine ulaşabilir olduğunu kontrol edin ya da https://github.com/Wox-launcher/Wox/releases adresinden güncellemeyi elle indirin. + + Sürüm Notları: + + + Eski Anahtar Kelime + Yeni Anahtar Kelime + İptal + Tamam + Belirtilen eklenti bulunamadı + Yeni anahtar kelime boş olamaz + Yeni anahtar kelime başka bir eklentiye atanmış durumda. Lütfen başka bir anahtar kelime seçin + Başarılı + Anahtar kelime belirlemek istemiyorsanız * kullanın + + + Önizleme + Kısayol tuşu kullanılabilir değil, lütfen başka bir kısayol tuşu seçin + Geçersiz eklenti kısayol tuşu + Güncelle + + + Kısayol tuşu kullanılabilir değil + + + Sürüm + Tarih + Sorunu çözebilmemiz için lütfen uygulamanın ne yaparken çöktüğünü belirtin. + Raporu Gönder + İptal + Genel + Özel Durumlar + Özel Durum Tipi + Kaynak + Yığın İzleme + Gönderiliyor + Hata raporu başarıyla gönderildi + Hata raporu gönderimi başarısız oldu + Wox'ta bir hata oluştu + + + Wox'un yeni bir sürümü ({0}) mevcut + Güncellemelerin kurulması sırasında bir hata oluştu + Güncelle + İptal + Bu güncelleme Wox'u yeniden başlatacaktır + Aşağıdaki dosyalar güncelleştirilecektir + Güncellenecek dosyalar + Güncelleme açıklaması + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/uk-UA.xaml b/src/modules/launcher/PowerLauncher/Languages/uk-UA.xaml new file mode 100644 index 0000000000..ccebeae7ee --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/uk-UA.xaml @@ -0,0 +1,130 @@ + + + Реєстрація хоткея {0} не вдалася + Не вдалося запустити {0} + Невірний формат файлу плагіна Wox + Відображати першим при такому ж запиті + Відмінити відображення першим при такому ж запиті + Виконати запит: {0} + Час останнього використання: {0} + Відкрити + Налаштування + Про Wox + Закрити + + + Налаштування Wox + Основні + Запускати Wox при запуску системи + Сховати Wox якщо втрачено фокус + Не повідомляти про доступні нові версії + Запам'ятати останнє місце запуску + Мова + Максимальна кількість результатів + Ігнорувати гарячі клавіші в повноекранному режимі + Автоматичне оновлення + Сховати Wox при запуску системи + + + Плагіни + Знайти більше плагінів + Відключити + Ключове слово + Директорія плагіну + Автор + Ініціалізація: {0}ms + Запит: {0}ms + + + Теми + Знайти більше тем + Привіт Wox + Шрифт запитів + Шрифт результатів + Віконний режим + Прозорість + + + Гарячі клавіші + Гаряча клавіша Wox + Задані гарячі клавіші для запитів + Видалити + Змінити + Додати + Спочатку виберіть елемент + Ви впевнені, що хочете видалити гарячу клавішу ({0}) плагіну? + + + HTTP Proxy + Включити HTTP Proxy + HTTP Сервер + Порт + Логін + Пароль + Перевірити Proxy + Зберегти + Необхідно вказати "HTTP Сервер" + Необхідно вказати "Порт" + Невірний формат порту + Налаштування Proxy успішно збережено + Proxy успішно налаштований + Невдале підключення Proxy + + + Про Wox + Сайт + Версия + Ви скористалися Wox вже {0} разів + Перевірити наявність оновлень + Доступна нова версія {0}, будь ласка, перезавантажте Wox + Примітки до поточного релізу: + + + Поточна гаряча клавіша + Нова гаряча клавіша + Скасувати + Готово + Не вдалося знайти вказаний плагін + Нова гаряча клавіша не може бути порожньою + Нова гаряча клавіша вже використовується іншим плагіном. Будь ласка, вкажіть нову + Збережено + Використовуйте * у разі, якщо ви не хочете ставити конкретну гарячу клавішу + + + Перевірити + Гаряча клавіша недоступна. Будь ласка, вкажіть нову + Недійсна гаряча клавіша плагіна + Оновити + + + Гаряча клавіша недоступна + + + Версія + Час + Будь ласка, розкажіть нам, як додаток вийшов із ладу, щоб ми могли це виправити + Надіслати звіт + Скасувати + Основне + Винятки + Тип винятку + Джерело + Траса стеку + Відправити + Звіт успішно відправлено + Не вдалося відправити звіт + Стався збій в додатоку Wox + + + Доступна нова версія Wox V{0} + Сталася помилка під час спроби встановити оновлення + Оновити + Скасувати + Це оновлення перезавантажить Wox + Ці файли будуть оновлені + Оновити файли + Опис оновлення + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/zh-cn.xaml b/src/modules/launcher/PowerLauncher/Languages/zh-cn.xaml new file mode 100644 index 0000000000..48f5bc5aca --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/zh-cn.xaml @@ -0,0 +1,137 @@ + + + 注册热键:{0} 失败 + 启动命令 {0} 失败 + 不是合法的Wox插件格式 + 在当前查询中置顶 + 取消置顶 + 执行查询:{0} + 上次执行时间:{0} + 打开 + 设置 + 关于 + 退出 + + + Wox设置 + 通用 + 开机启动 + 失去焦点时自动隐藏Wox + 不显示新版本提示 + 记住上次启动位置 + 语言 + 上次搜索关键字模式 + 保留上次搜索关键字 + 全选上次搜索关键字 + 清空上次搜索关键字 + 最大结果显示个数 + 全屏模式下忽略热键 + 自动更新 + 启动时不显示主窗口 + 隐藏任务栏图标 + + + 插件 + 浏览更多插件 + 禁用 + 触发关键字 + 插件目录 + 作者 + 加载耗时 {0}ms + 查询耗时 {0}ms + + + 主题 + 浏览更多主题 + 你好,Wox + 查询框字体 + 结果项字体 + 窗口模式 + 透明度 + 无法找到主题 {0} ,切换为默认主题 + 无法加载主题 {0} ,切换为默认主题 + + + 热键 + Wox激活热键 + 自定义查询热键 + 删除 + 编辑 + 增加 + 请选择一项 + 你确定要删除插件 {0} 的热键吗? + + + HTTP 代理 + 启用 HTTP 代理 + HTTP 服务器 + 端口 + 用户名 + 密码 + 测试代理 + 保存 + 服务器不能为空 + 端口不能为空 + 非法的端口格式 + 保存代理设置成功 + 代理设置正确 + 代理连接失败 + + + 关于 + 网站 + 版本 + 你已经激活了Wox {0} 次 + 检查更新 + 发现新版本 {0} , 请重启 wox。 + 更新说明: + + + 旧触发关键字 + 新触发关键字 + 取消 + 确定 + 找不到指定的插件 + 新触发关键字不能为空 + 新触发关键字已经被指派给其他插件了,请重新选择一个关键字 + 成功 + 如果你不想设置触发关键字,可以使用*代替 + + + 预览 + 热键不可用,请选择一个新的热键 + 插件热键不合法 + 更新 + + + 热键不可用 + + + 版本 + 时间 + 请告诉我们如何重现此问题,以便我们进行修复 + 发送报告 + 取消 + 基本信息 + 异常信息 + 异常类型 + 异常源 + 堆栈信息 + 发送中 + 发送成功 + 发送失败 + Wox出错啦 + + + 发现Wox新版本 V{0} + 更新Wox出错 + 更新 + 取消 + 此更新需要重启Wox + 下列文件会被更新 + 更新文件 + 更新日志 + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Languages/zh-tw.xaml b/src/modules/launcher/PowerLauncher/Languages/zh-tw.xaml new file mode 100644 index 0000000000..ef0270aa00 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Languages/zh-tw.xaml @@ -0,0 +1,130 @@ + + + 登錄快速鍵:{0} 失敗 + 啟動命令 {0} 失敗 + 無效的 Wox 外掛格式 + 在目前查詢中置頂 + 取消置頂 + 執行查詢:{0} + 上次執行時間:{0} + 開啟 + 設定 + 關於 + 結束 + + + Wox 設定 + 一般 + 開機時啟動 + 失去焦點時自動隱藏 Wox + 不顯示新版本提示 + 記住上次啟動位置 + 語言 + 最大結果顯示個數 + 全螢幕模式下忽略熱鍵 + 自動更新 + 啟動時不顯示主視窗 + + + 外掛 + 瀏覽更多外掛 + 停用 + 觸發關鍵字 + 外掛資料夾 + 作者 + 載入耗時:{0}ms + 查詢耗時:{0}ms + + + 主題 + 瀏覽更多主題 + 你好,Wox + 查詢框字體 + 結果項字體 + 視窗模式 + 透明度 + + + 熱鍵 + Wox 執行熱鍵 + 自定義熱鍵查詢 + 刪除 + 編輯 + 新增 + 請選擇一項 + 確定要刪除外掛 {0} 的熱鍵嗎? + + + HTTP 代理 + 啟用 HTTP 代理 + HTTP 伺服器 + Port + 使用者 + 密碼 + 測試代理 + 儲存 + 伺服器不能為空 + Port 不能為空 + 不正確的 Port 格式 + 儲存代理設定成功 + 代理設定完成 + 代理連線失敗 + + + 關於 + 網站 + 版本 + 您已經啟動了 Wox {0} 次 + 檢查更新 + 發現有新版本 {0}, 請重新啟動 Wox。 + 更新說明: + + + 舊觸發關鍵字 + 新觸發關鍵字 + 取消 + 確定 + 找不到指定的外掛 + 新觸發關鍵字不能為空白 + 新觸發關鍵字已經被指派給另一外掛,請設定其他關鍵字。 + 成功 + 如果不想設定觸發關鍵字,可以使用*代替 + + + 預覽 + 熱鍵不存在,請設定一個新的熱鍵 + 外掛熱鍵無法使用 + 更新 + + + 熱鍵無法使用 + + + 版本 + 時間 + 請告訴我們如何重現此問題,以便我們進行修復 + 發送報告 + 取消 + 基本訊息 + 例外訊息 + 例外類型 + 例外來源 + 堆疊資訊 + 傳送中 + 傳送成功 + 傳送失敗 + Wox 出錯啦 + + + 發現 Wox 新版本 V{0} + 更新 Wox 出錯 + 更新 + 取消 + 此更新需要重新啟動 Wox + 下列檔案會被更新 + 更新檔案 + 更新日誌 + + diff --git a/src/modules/launcher/PowerLauncher/MainWindow.xaml b/src/modules/launcher/PowerLauncher/MainWindow.xaml new file mode 100644 index 0000000000..e8da7cf843 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/MainWindow.xaml @@ -0,0 +1,31 @@ + + + diff --git a/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs b/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs new file mode 100644 index 0000000000..14e9de96f6 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs @@ -0,0 +1,271 @@ +using System; +using System.ComponentModel; +using System.Windows; +using System.Windows.Input; +using System.Windows.Media.Animation; +using System.Windows.Controls; +using System.Windows.Forms; +using Wox.Core.Plugin; +using Wox.Core.Resource; +using Wox.Helper; +using Wox.Infrastructure.UserSettings; +using Wox.ViewModel; +using Screen = System.Windows.Forms.Screen; +using ContextMenuStrip = System.Windows.Forms.ContextMenuStrip; +using DataFormats = System.Windows.DataFormats; +using DragEventArgs = System.Windows.DragEventArgs; +using KeyEventArgs = System.Windows.Input.KeyEventArgs; +using MessageBox = System.Windows.MessageBox; +using Microsoft.Toolkit.Wpf.UI.XamlHost; + +namespace PowerLauncher +{ + public partial class MainWindow + { + + #region Private Fields + + private readonly Storyboard _progressBarStoryboard = new Storyboard(); + private Settings _settings; + private MainViewModel _viewModel; + + #endregion + + public MainWindow(Settings settings, MainViewModel mainVM) + { + DataContext = mainVM; + _viewModel = mainVM; + _settings = settings; + InitializeComponent(); + } + public MainWindow() + { + InitializeComponent(); + } + + private void OnClosing(object sender, CancelEventArgs e) + { + _viewModel.Save(); + } + + private void OnInitialized(object sender, EventArgs e) + { + } + + private void OnLoaded(object sender, RoutedEventArgs _) + { + // todo is there a way to set blur only once? + //ThemeManager.Instance.SetBlurForWindow(); + //WindowsInteropHelper.DisableControlBox(this); + //InitProgressbarAnimation(); + //InitializePosition(); + //// since the default main window visibility is visible + //// so we need set focus during startup + //QueryTextBox.Focus(); + + //_viewModel.PropertyChanged += (o, e) => + //{ + // if (e.PropertyName == nameof(MainViewModel.MainWindowVisibility)) + // { + // if (Visibility == Visibility.Visible) + // { + // Activate(); + // QueryTextBox.Focus(); + // UpdatePosition(); + // _settings.ActivateTimes++; + // if (!_viewModel.LastQuerySelected) + // { + // QueryTextBox.SelectAll(); + // _viewModel.LastQuerySelected = true; + // } + // } + // } + //}; + InitializePosition(); + } + + private void InitializePosition() + { + //Top = WindowTop(); + Left = WindowLeft(); + //_settings.WindowTop = Top; + _settings.WindowLeft = Left; + } + + //private void InitProgressbarAnimation() + //{ + // var da = new DoubleAnimation(ProgressBar.X2, ActualWidth + 100, new Duration(new TimeSpan(0, 0, 0, 0, 1600))); + // var da1 = new DoubleAnimation(ProgressBar.X1, ActualWidth, new Duration(new TimeSpan(0, 0, 0, 0, 1600))); + // Storyboard.SetTargetProperty(da, new PropertyPath("(Line.X2)")); + // Storyboard.SetTargetProperty(da1, new PropertyPath("(Line.X1)")); + // _progressBarStoryboard.Children.Add(da); + // _progressBarStoryboard.Children.Add(da1); + // _progressBarStoryboard.RepeatBehavior = RepeatBehavior.Forever; + // ProgressBar.BeginStoryboard(_progressBarStoryboard); + // _viewModel.ProgressBarVisibility = Visibility.Hidden; + //} + + private void OnMouseDown(object sender, MouseButtonEventArgs e) + { + if (e.ChangedButton == MouseButton.Left) DragMove(); + } + + private void OnPreviewMouseButtonDown(object sender, MouseButtonEventArgs e) + { + if (sender != null && e.OriginalSource != null) + { + var r = (ResultListBox)sender; + var d = (DependencyObject)e.OriginalSource; + var item = ItemsControl.ContainerFromElement(r, d) as ListBoxItem; + var result = (ResultViewModel)item?.DataContext; + if (result != null) + { + if (e.ChangedButton == MouseButton.Left) + { + _viewModel.OpenResultCommand.Execute(null); + } + else if (e.ChangedButton == MouseButton.Right) + { + _viewModel.LoadContextMenuCommand.Execute(null); + } + } + } + } + + + private void OnDrop(object sender, DragEventArgs e) + { + if (e.Data.GetDataPresent(DataFormats.FileDrop)) + { + // Note that you can have more than one file. + string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); + if (files[0].ToLower().EndsWith(".wox")) + { + PluginManager.InstallPlugin(files[0]); + } + else + { + MessageBox.Show(InternationalizationManager.Instance.GetTranslation("invalidWoxPluginFileFormat")); + } + } + e.Handled = false; + } + + private void OnPreviewDragOver(object sender, DragEventArgs e) + { + e.Handled = true; + } + + private void OnContextMenusForSettingsClick(object sender, RoutedEventArgs e) + { + } + + private void OnDeactivated(object sender, EventArgs e) + { + if (_settings.HideWhenDeactive) + { + Hide(); + } + } + + //private void UpdatePosition() + //{ + // if (_settings.RememberLastLaunchLocation) + // { + // Left = _settings.WindowLeft; + // Top = _settings.WindowTop; + // } + // else + // { + // Left = WindowLeft(); + // Top = WindowTop(); + // } + //} + + private void OnLocationChanged(object sender, EventArgs e) + { + if (_settings.RememberLastLaunchLocation) + { + _settings.WindowLeft = Left; + _settings.WindowTop = Top; + } + } + + private double WindowLeft() + { + var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position); + var dip1 = WindowsInteropHelper.TransformPixelsToDIP(this, screen.WorkingArea.X, 0); + var dip2 = WindowsInteropHelper.TransformPixelsToDIP(this, screen.WorkingArea.Width, 0); + var left = (dip2.X - ActualWidth) / 2 + dip1.X; + return left; + } + + //private double WindowTop() + //{ + // var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position); + // var dip1 = WindowsInteropHelper.TransformPixelsToDIP(this, 0, screen.WorkingArea.Y); + // var dip2 = WindowsInteropHelper.TransformPixelsToDIP(this, 0, screen.WorkingArea.Height); + // var top = (dip2.Y - QueryTextBox.ActualHeight) / 4 + dip1.Y; + // return top; + //} + + /// + /// Register up and down key + /// todo: any way to put this in xaml ? + /// + private void OnKeyDown(object sender, KeyEventArgs e) + { + if (e.Key == Key.Down) + { + _viewModel.SelectNextItemCommand.Execute(null); + e.Handled = true; + } + else if (e.Key == Key.Up) + { + _viewModel.SelectPrevItemCommand.Execute(null); + e.Handled = true; + } + else if (e.Key == Key.PageDown) + { + _viewModel.SelectNextPageCommand.Execute(null); + e.Handled = true; + } + else if (e.Key == Key.PageUp) + { + _viewModel.SelectPrevPageCommand.Execute(null); + e.Handled = true; + } + } + + //private void OnTextChanged(object sender, TextChangedEventArgs e) + //{ + // if (_viewModel.QueryTextCursorMovedToEnd) + // { + // QueryTextBox.CaretIndex = QueryTextBox.Text.Length; + // _viewModel.QueryTextCursorMovedToEnd = false; + // } + //} + + private void WindowsXamlHost_ChildChanged(object sender, EventArgs e) + { + // Hook up x:Bind source. + global::Microsoft.Toolkit.Wpf.UI.XamlHost.WindowsXamlHost windowsXamlHost = + sender as global::Microsoft.Toolkit.Wpf.UI.XamlHost.WindowsXamlHost; + global::PowerLauncher.UI.LauncherControl userControl = + windowsXamlHost.GetUwpInternalObject() as global::PowerLauncher.UI.LauncherControl; + + if (userControl != null) + { + userControl.XamlIslandMessage = this.WPFMessage; + } + } + + public string WPFMessage + { + get + { + return "Binding from WPF to UWP XAML"; + } + } + } +} \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Msg.xaml b/src/modules/launcher/PowerLauncher/Msg.xaml new file mode 100644 index 0000000000..fe14c40ada --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Msg.xaml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Title + sdfdsf + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Msg.xaml.cs b/src/modules/launcher/PowerLauncher/Msg.xaml.cs new file mode 100644 index 0000000000..e9c504eb98 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Msg.xaml.cs @@ -0,0 +1,87 @@ +using System; +using System.IO; +using System.Windows; +using System.Windows.Forms; +using System.Windows.Input; +using System.Windows.Media.Animation; +using System.Windows.Media.Imaging; +using Wox.Helper; +using Wox.Infrastructure; +using Wox.Infrastructure.Image; + +namespace PowerLauncher +{ + public partial class Msg : Window + { + Storyboard fadeOutStoryboard = new Storyboard(); + private bool closing; + + public Msg() + { + InitializeComponent(); + var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position); + var dipWorkingArea = WindowsInteropHelper.TransformPixelsToDIP(this, + screen.WorkingArea.Width, + screen.WorkingArea.Height); + Left = dipWorkingArea.X - Width; + Top = dipWorkingArea.Y; + showAnimation.From = dipWorkingArea.Y; + showAnimation.To = dipWorkingArea.Y - Height; + + // Create the fade out storyboard + fadeOutStoryboard.Completed += fadeOutStoryboard_Completed; + DoubleAnimation fadeOutAnimation = new DoubleAnimation(dipWorkingArea.Y - Height, dipWorkingArea.Y, new Duration(TimeSpan.FromSeconds(5))) + { + AccelerationRatio = 0.2 + }; + Storyboard.SetTarget(fadeOutAnimation, this); + Storyboard.SetTargetProperty(fadeOutAnimation, new PropertyPath(TopProperty)); + fadeOutStoryboard.Children.Add(fadeOutAnimation); + + imgClose.Source = ImageLoader.Load(Path.Combine(Wox.Infrastructure.Constant.ProgramDirectory, "Images\\close.png")); + imgClose.MouseUp += imgClose_MouseUp; + } + + void imgClose_MouseUp(object sender, MouseButtonEventArgs e) + { + if (!closing) + { + closing = true; + fadeOutStoryboard.Begin(); + } + } + + private void fadeOutStoryboard_Completed(object sender, EventArgs e) + { + Close(); + } + + public void Show(string title, string subTitle, string iconPath) + { + tbTitle.Text = title; + tbSubTitle.Text = subTitle; + if (string.IsNullOrEmpty(subTitle)) + { + tbSubTitle.Visibility = Visibility.Collapsed; + } + if (!File.Exists(iconPath)) + { + imgIco.Source = ImageLoader.Load(Path.Combine(Wox.Infrastructure.Constant.ProgramDirectory, "Images\\app.png")); + } + else { + imgIco.Source = ImageLoader.Load(iconPath); + } + + Show(); + + Dispatcher.InvokeAsync(async () => + { + if (!closing) + { + closing = true; + await Dispatcher.InvokeAsync(fadeOutStoryboard.Begin); + } + }); + } + } +} diff --git a/src/modules/launcher/PowerLauncher/PowerLauncher.csproj b/src/modules/launcher/PowerLauncher/PowerLauncher.csproj new file mode 100644 index 0000000000..c8c446cf60 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/PowerLauncher.csproj @@ -0,0 +1,199 @@ + + + + WinExe + netcoreapp3.1 + true + true + PowerLauncher.App + Resources\app.ico + app.manifest + false + false + x64 + + + + + ..\..\..\..\x64\Debug\modules\launcher\ + DEBUG;TRACE + full + x64 + 7.3 + prompt + MinimumRecommendedRules.ruleset + 4 + false + + + + + ..\..\..\..\x64\Release\modules\launcher\ + TRACE;RELEASE + true + pdbonly + x64 + 7.3 + prompt + MinimumRecommendedRules.ruleset + 4 + + + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Properties/AssemblyInfo.cs b/src/modules/launcher/PowerLauncher/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..332bfac3fc --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Properties/AssemblyInfo.cs @@ -0,0 +1,7 @@ +using System.Reflection; +using System.Windows; + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, + ResourceDictionaryLocation.SourceAssembly +)] \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Properties/Resources.Designer.cs b/src/modules/launcher/PowerLauncher/Properties/Resources.Designer.cs new file mode 100644 index 0000000000..26a9ddff90 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Wox.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Wox.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// + internal static System.Drawing.Icon app { + get { + object obj = ResourceManager.GetObject("app", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + } +} diff --git a/src/modules/launcher/PowerLauncher/Properties/Resources.resx b/src/modules/launcher/PowerLauncher/Properties/Resources.resx new file mode 100644 index 0000000000..3ae43d89b0 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Properties/Settings.Designer.cs b/src/modules/launcher/PowerLauncher/Properties/Settings.Designer.cs new file mode 100644 index 0000000000..a6aa8987b7 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Properties/Settings.Designer.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace PowerLauncher.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("https://github.com/Wox-launcher/Wox")] + public string GithubRepo { + get { + return ((string)(this["GithubRepo"])); + } + } + } +} diff --git a/src/modules/launcher/PowerLauncher/Properties/Settings.settings b/src/modules/launcher/PowerLauncher/Properties/Settings.settings new file mode 100644 index 0000000000..1fc52390be --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Properties/Settings.settings @@ -0,0 +1,9 @@ + + + + + + https://github.com/Wox-launcher/Wox + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/ReportWindow.xaml b/src/modules/launcher/PowerLauncher/ReportWindow.xaml new file mode 100644 index 0000000000..ea9d52fdce --- /dev/null +++ b/src/modules/launcher/PowerLauncher/ReportWindow.xaml @@ -0,0 +1,23 @@ + + + + diff --git a/src/modules/launcher/PowerLauncher/ReportWindow.xaml.cs b/src/modules/launcher/PowerLauncher/ReportWindow.xaml.cs new file mode 100644 index 0000000000..c1d0cc0124 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/ReportWindow.xaml.cs @@ -0,0 +1,64 @@ +using System; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.Text; +using System.Linq; +using System.Windows; +using System.Windows.Documents; +using Wox.Helper; +using Wox.Infrastructure; +using Wox.Infrastructure.Logger; + +namespace PowerLauncher +{ + internal partial class ReportWindow + { + public ReportWindow(Exception exception) + { + InitializeComponent(); + ErrorTextbox.Document.Blocks.FirstBlock.Margin = new Thickness(0); + SetException(exception); + } + + private void SetException(Exception exception) + { + string path = Log.CurrentLogDirectory; + var directory = new DirectoryInfo(path); + var log = directory.GetFiles().OrderByDescending(f => f.LastWriteTime).First(); + + var paragraph = Hyperlink("Please open new issue in: ", Constant.Issue); + paragraph.Inlines.Add($"1. upload log file: {log.FullName}\n"); + paragraph.Inlines.Add($"2. copy below exception message"); + ErrorTextbox.Document.Blocks.Add(paragraph); + + StringBuilder content = new StringBuilder(); + content.AppendLine(ErrorReporting.RuntimeInfo()); + content.AppendLine(ErrorReporting.DependenciesInfo()); + content.AppendLine($"Date: {DateTime.Now.ToString(CultureInfo.InvariantCulture)}"); + content.AppendLine("Exception:"); + content.AppendLine(exception.ToString()); + paragraph = new Paragraph(); + paragraph.Inlines.Add(content.ToString()); + ErrorTextbox.Document.Blocks.Add(paragraph); + } + + private Paragraph Hyperlink(string textBeforeUrl, string url) + { + var paragraph = new Paragraph(); + paragraph.Margin = new Thickness(0); + + var link = new Hyperlink { IsEnabled = true }; + link.Inlines.Add(url); + link.NavigateUri = new Uri(url); + link.RequestNavigate += (s, e) => Process.Start(e.Uri.ToString()); + link.Click += (s, e) => Process.Start(url); + + paragraph.Inlines.Add(textBeforeUrl); + paragraph.Inlines.Add(link); + paragraph.Inlines.Add("\n"); + + return paragraph; + } + } +} diff --git a/src/modules/launcher/PowerLauncher/Resources/app.ico b/src/modules/launcher/PowerLauncher/Resources/app.ico new file mode 100644 index 0000000000000000000000000000000000000000..38c401c8ca9dede73a8ece563243aa81e01e1343 GIT binary patch literal 32988 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 + + + + + + + + + + + + + + + + + + diff --git a/src/modules/launcher/PowerLauncher/ResultListBox.xaml.cs b/src/modules/launcher/PowerLauncher/ResultListBox.xaml.cs new file mode 100644 index 0000000000..a63e95f3fb --- /dev/null +++ b/src/modules/launcher/PowerLauncher/ResultListBox.xaml.cs @@ -0,0 +1,58 @@ +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; + +namespace PowerLauncher +{ + public partial class ResultListBox + { + protected object _lock = new object(); + private Point _lastpos; + private ListBoxItem curItem = null; + public ResultListBox() + { + InitializeComponent(); + } + + private void OnSelectionChanged(object sender, SelectionChangedEventArgs e) + { + if (e.AddedItems.Count > 0 && e.AddedItems[0] != null) + { + ScrollIntoView(e.AddedItems[0]); + } + } + + private void OnMouseEnter(object sender, MouseEventArgs e) + { + lock(_lock) + { + curItem = (ListBoxItem)sender; + var p = e.GetPosition((IInputElement)sender); + _lastpos = p; + } + } + + private void OnMouseMove(object sender, MouseEventArgs e) + { + lock(_lock) + { + var p = e.GetPosition((IInputElement)sender); + if (_lastpos != p) + { + ((ListBoxItem)sender).IsSelected = true; + } + } + } + + private void ListBox_PreviewMouseDown(object sender, MouseButtonEventArgs e) + { + lock(_lock) + { + if (curItem != null) + { + curItem.IsSelected = true; + } + } + } + } +} diff --git a/src/modules/launcher/PowerLauncher/Themes/Base.xaml b/src/modules/launcher/PowerLauncher/Themes/Base.xaml new file mode 100644 index 0000000000..ae195feaa4 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/Base.xaml @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/launcher/PowerLauncher/Themes/BlackAndWhite.xaml b/src/modules/launcher/PowerLauncher/Themes/BlackAndWhite.xaml new file mode 100644 index 0000000000..8c3f0cbd45 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/BlackAndWhite.xaml @@ -0,0 +1 @@ + #4F6180 \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Themes/BlurBlack.xaml b/src/modules/launcher/PowerLauncher/Themes/BlurBlack.xaml new file mode 100644 index 0000000000..488048cf44 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/BlurBlack.xaml @@ -0,0 +1,58 @@ + + + + + + True + + + + + + + + + + + + + + + #356ef3 + + + + + + diff --git a/src/modules/launcher/PowerLauncher/Themes/BlurWhite.xaml b/src/modules/launcher/PowerLauncher/Themes/BlurWhite.xaml new file mode 100644 index 0000000000..2fe9e3185f --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/BlurWhite.xaml @@ -0,0 +1,58 @@ + + + + + + True + + + + + + + + + + + + + + + #356ef3 + + + + + + diff --git a/src/modules/launcher/PowerLauncher/Themes/Dark.xaml b/src/modules/launcher/PowerLauncher/Themes/Dark.xaml new file mode 100644 index 0000000000..5bd54b0eda --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/Dark.xaml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + #4F6180 + + + + + + diff --git a/src/modules/launcher/PowerLauncher/Themes/Gray.xaml b/src/modules/launcher/PowerLauncher/Themes/Gray.xaml new file mode 100644 index 0000000000..e52d4201be --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/Gray.xaml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + #00AAF6 + + + + diff --git a/src/modules/launcher/PowerLauncher/Themes/Light.xaml b/src/modules/launcher/PowerLauncher/Themes/Light.xaml new file mode 100644 index 0000000000..6c373ef602 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/Light.xaml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + #3875D7 + + + + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Themes/Metro Server.xaml b/src/modules/launcher/PowerLauncher/Themes/Metro Server.xaml new file mode 100644 index 0000000000..9648203946 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/Metro Server.xaml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + #006ac1 + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Themes/Pink.xaml b/src/modules/launcher/PowerLauncher/Themes/Pink.xaml new file mode 100644 index 0000000000..93f2dee6e3 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/Pink.xaml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + #cc1081 + + + \ No newline at end of file diff --git a/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/Template.xaml b/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/Template.xaml new file mode 100644 index 0000000000..8d1c4845a4 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/Template.xaml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + {%selectedResultBackgroundColor%} + + + + + + diff --git a/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/ThemeConvertor.py b/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/ThemeConvertor.py new file mode 100644 index 0000000000..674728ec3d --- /dev/null +++ b/src/modules/launcher/PowerLauncher/Themes/ThemeBuilder/ThemeConvertor.py @@ -0,0 +1,26 @@ +import os,plistlib + +def convert(path,templatePath): + pl = plistlib.readPlist(path) + with open(templatePath, 'r') as content_file: + template = content_file.read() + for key in pl: + if "rgba" in pl[key]: + template = template.replace("{%"+key+"%}",tohex(pl[key].replace("rgba","rgb"))) + f = open(path.replace(".alfredtheme",".xaml"),'w') + f.write(template) + f.close() + + +def tohex(string): + string = string[4:] + split = string.split(",") + split[2] = ''.join(split[2].split(")")[0]) + r = int(split[0]) + g = int(split[1]) + b = int(split[2]) + tu = (r, g, b) + return '#%02x%02x%02x' % tu + +#print tohex("rgb(255,255,255,0.50)") +print convert("Night.alfredtheme","Light.xaml") diff --git a/src/modules/launcher/PowerLauncher/app.manifest b/src/modules/launcher/PowerLauncher/app.manifest new file mode 100644 index 0000000000..52d1c39327 --- /dev/null +++ b/src/modules/launcher/PowerLauncher/app.manifest @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/launcher/PowerLauncher/app.png b/src/modules/launcher/PowerLauncher/app.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9ca7971a62d99905b25ef3fb3e435e1d1ceaca GIT binary patch literal 11524 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 literal 0 HcmV?d00001 diff --git a/src/modules/launcher/Wox.Infrastructure/Properties/AssemblyInfo.cs b/src/modules/launcher/Wox.Infrastructure/Properties/AssemblyInfo.cs index b48a6ef581..92248ee964 100644 --- a/src/modules/launcher/Wox.Infrastructure/Properties/AssemblyInfo.cs +++ b/src/modules/launcher/Wox.Infrastructure/Properties/AssemblyInfo.cs @@ -1,5 +1,6 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Wox")] +[assembly: InternalsVisibleTo("PowerLauncher")] [assembly: InternalsVisibleTo("Wox.Core")] [assembly: InternalsVisibleTo("Wox.Test")] \ No newline at end of file