From 024c7d6cf3a0cd6ea13a5fb2f9c127f9396329e2 Mon Sep 17 00:00:00 2001 From: Sam <35312698+Samuel12321@users.noreply.github.com> Date: Thu, 22 Apr 2021 22:38:53 +1200 Subject: [PATCH] Dev merge for 0.9.3 (#582) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Updated Greek Translation (#495) * Updated Greek Translation * Fixed Num Lock Flyout Out of Margins * Flyout animation toggle (#511) * widget animation toggle * translation added * Flyout animation toggle - done * minor changes * typo in ru translation * Update Russian translation (#510) * Update ModernFlyouts.ru.xlf * Update README.md * Update README.md * Update ModernFlyouts/MultilingualResources/ModernFlyouts.ru.xlf * Update ModernFlyouts/MultilingualResources/ModernFlyouts.ru.xlf * Apply suggestions from code review * - Updated Nuget Packages * Localized Manifest * Remove redundant playground * .wapproj simplification remove redundant windows.universal target * . * Update nuget packages * Update Nuget Packages * Minor cleanup * Finally! Fixed #4 - Bug: Audio flyout is not shown when the volume is changed through means other than media keys Fixed #470 - Bug: Flyouts doesn't appear while holding any mousebutton * fix null crash * Revert "fix null crash" This reverts commit 4ef6985ad5ced7afda0846bdf72ea2835cae9b6d. * Minor fixes * Translated all strings to danish (#516) * Fix issue template syntax error (#509) * Add some translators into the list in README (#505) * Updated translators list on README * Translated all strings to danish Co-authored-by: Myuki Co-authored-by: imgradeone <30969327+imgradeone@users.noreply.github.com> * Temp enable both zh-hans and zh-cn * Update Ukrainian translation (#545) * Fix issue template syntax error (#509) * Add some translators into the list in README (#505) * Updated translators list on README * Update ModernFlyouts.uk.xlf * Update ModernFlyouts.uk.xlf * Update ModernFlyouts.uk.xlf very important commit) Co-authored-by: Myuki Co-authored-by: imgradeone <30969327+imgradeone@users.noreply.github.com> Co-authored-by: Sam <35312698+Samuel12321@users.noreply.github.com> * Re-Updated Turkish Translation (#562) * Fix issue template syntax error (#509) * Add some translators into the list in README (#505) * Updated translators list on README * Re-Updated Turkish Translation * Re-Updated Turkish Translation v2 Co-authored-by: Myuki Co-authored-by: imgradeone <30969327+imgradeone@users.noreply.github.com> * Fix syntax error for settings.off * updates Co-authored-by: Vasilis Patelis <65589110+VasilisPat@users.noreply.github.com> Co-authored-by: karpovv-boris <78983523+karpovv-boris@users.noreply.github.com> Co-authored-by: Tony Co-authored-by: sam Co-authored-by: Sam Co-authored-by: Shankar Co-authored-by: Emil Nymann Sølyst Co-authored-by: Myuki Co-authored-by: imgradeone <30969327+imgradeone@users.noreply.github.com> Co-authored-by: PlayDay <18056374+playday3008@users.noreply.github.com> Co-authored-by: Eren <75967441+ErenAKGUN2007@users.noreply.github.com> --- Directory.Build.props | 2 +- ModernFlyouts.Core/Interop/BandWindow.cs | 2 - .../Interop/WindowCompositionHelper.cs | 69 --- .../Media/Control/GSMTCMediaSession.cs | 2 +- .../Media/Control/NowPlayingMediaSession.cs | 2 +- .../Control/NowPlayingMediaSessionManager.cs | 31 +- ModernFlyouts.Core/ModernFlyouts.Core.csproj | 6 +- .../{Helpers => Threading}/UiTask.cs | 2 +- .../FlyoutWindow/FlyoutWindow.Animations.cs | 31 +- .../FlyoutWindow/FlyoutWindow.Properties.cs | 17 + .../{NpsmServiceStart.cs => NpsmService.cs} | 19 +- .../ModernFlyouts.Package.wapproj | 8 +- ModernFlyouts.Package/Package.appxmanifest | 28 +- .../Strings/en-us/Resources.resw | 135 +++++ ModernFlyouts.sln | 14 - .../AirplaneModeFlyoutHelper.cs | 34 +- .../Flyout Helpers/AudioFlyoutHelper.cs | 32 +- .../Flyout Helpers/BrightnessFlyoutHelper.cs | 11 +- .../Flyout Helpers/FlyoutHelperBase.cs | 12 +- .../Flyout Helpers/FlyoutTriggerData.cs | 19 + .../Flyout Helpers/LockKeysFlyoutHelper.cs | 9 +- ModernFlyouts/FlyoutHandler.cs | 110 +++- ModernFlyouts/Helpers/AppDataHelper.cs | 6 + ModernFlyouts/Helpers/DefaultValuesStore.cs | 2 + .../Interop/ShellMessageHookHandler.cs | 16 +- ModernFlyouts/JumpListHelper.cs | 2 +- ModernFlyouts/ModernFlyouts.csproj | 17 +- .../ModernFlyouts.af.xlf | 5 +- .../ModernFlyouts.ar.xlf | 5 +- .../ModernFlyouts.da-DK.xlf | 518 ++++++++++++++++++ .../ModernFlyouts.de.xlf | 5 +- .../ModernFlyouts.el.xlf | 57 +- .../ModernFlyouts.en-GB.xlf | 7 +- .../ModernFlyouts.es.xlf | 5 +- .../ModernFlyouts.fa.xlf | 5 +- .../ModernFlyouts.fr.xlf | 5 +- .../ModernFlyouts.he.xlf | 5 +- .../ModernFlyouts.hi.xlf | 5 +- .../ModernFlyouts.hu.xlf | 4 + .../ModernFlyouts.id.xlf | 5 +- .../ModernFlyouts.is.xlf | 5 +- .../ModernFlyouts.it.xlf | 5 +- .../ModernFlyouts.ja.xlf | 4 + .../ModernFlyouts.ko.xlf | 4 + .../ModernFlyouts.ms.xlf | 5 +- .../ModernFlyouts.nb.xlf | 5 +- .../ModernFlyouts.nl.xlf | 5 +- .../ModernFlyouts.pl.xlf | 5 +- .../ModernFlyouts.pt.xlf | 5 +- .../ModernFlyouts.ru.xlf | 67 +-- .../ModernFlyouts.sv.xlf | 5 +- .../ModernFlyouts.tr.xlf | 171 +++--- .../ModernFlyouts.uk.xlf | 143 ++--- .../ModernFlyouts.vi.xlf | 5 +- .../ModernFlyouts.zh-CN.xlf | 5 +- .../ModernFlyouts.zh-Hans.xlf | 518 ++++++++++++++++++ .../ModernFlyouts.zh-Hant.xlf | 518 ++++++++++++++++++ .../ModernFlyouts.zh-TW.xlf | 4 + ModernFlyouts/Navigation/AboutPage.xaml.cs | 4 - .../Navigation/PersonalizationPage.xaml | 4 + ModernFlyouts/Program.cs | 9 +- .../FolderProfile-arm64.pubxml | 18 - ...rofile-ARM64.pubxml => win10-arm64.pubxml} | 0 ...derProfile-x64.pubxml => win10-x64.pubxml} | 0 ...derProfile-x86.pubxml => win10-x86.pubxml} | 0 ModernFlyouts/Properties/Strings.Designer.cs | 9 + ModernFlyouts/Properties/Strings.da-DK.resx | 317 +++++++++++ ModernFlyouts/Properties/Strings.el.resx | 2 +- ModernFlyouts/Properties/Strings.en-GB.resx | 109 +--- ModernFlyouts/Properties/Strings.resx | 3 + ModernFlyouts/Properties/Strings.ru.resx | 18 +- ModernFlyouts/Properties/Strings.tr.resx | 183 +++++-- ModernFlyouts/Properties/Strings.uk.resx | 98 ++-- ModernFlyouts/Properties/Strings.zh-Hans.resx | 317 +++++++++++ ModernFlyouts/Properties/Strings.zh-Hant.resx | 317 +++++++++++ ModernFlyouts/UI/UIManager.cs | 20 + README.md | 2 +- 77 files changed, 3484 insertions(+), 694 deletions(-) delete mode 100644 ModernFlyouts.Core/Interop/WindowCompositionHelper.cs rename ModernFlyouts.Core/{Helpers => Threading}/UiTask.cs (98%) rename ModernFlyouts.Core/Utilities/{NpsmServiceStart.cs => NpsmService.cs} (75%) create mode 100644 ModernFlyouts.Package/Strings/en-us/Resources.resw create mode 100644 ModernFlyouts/Flyout Helpers/FlyoutTriggerData.cs create mode 100644 ModernFlyouts/MultilingualResources/ModernFlyouts.da-DK.xlf create mode 100644 ModernFlyouts/MultilingualResources/ModernFlyouts.zh-Hans.xlf create mode 100644 ModernFlyouts/MultilingualResources/ModernFlyouts.zh-Hant.xlf delete mode 100644 ModernFlyouts/Properties/PublishProfiles/FolderProfile-arm64.pubxml rename ModernFlyouts/Properties/PublishProfiles/{FolderProfile-ARM64.pubxml => win10-arm64.pubxml} (100%) rename ModernFlyouts/Properties/PublishProfiles/{FolderProfile-x64.pubxml => win10-x64.pubxml} (100%) rename ModernFlyouts/Properties/PublishProfiles/{FolderProfile-x86.pubxml => win10-x86.pubxml} (100%) create mode 100644 ModernFlyouts/Properties/Strings.da-DK.resx create mode 100644 ModernFlyouts/Properties/Strings.zh-Hans.resx create mode 100644 ModernFlyouts/Properties/Strings.zh-Hant.resx diff --git a/Directory.Build.props b/Directory.Build.props index 15e8d199..0d250de0 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,6 +2,6 @@ ModernFlyouts Community latest - 0.9.1 + 0.9.3 \ No newline at end of file diff --git a/ModernFlyouts.Core/Interop/BandWindow.cs b/ModernFlyouts.Core/Interop/BandWindow.cs index 5833a63b..fb686be9 100644 --- a/ModernFlyouts.Core/Interop/BandWindow.cs +++ b/ModernFlyouts.Core/Interop/BandWindow.cs @@ -347,8 +347,6 @@ public void CreateWindow() hookManager.OnHwndCreated(hWnd); - //WindowCompositionHelper.MakeWindowTransparent(hWnd); - HwndSourceParameters param = new() { WindowStyle = (int)(WindowStyles.WS_VISIBLE | WindowStyles.WS_CHILD), diff --git a/ModernFlyouts.Core/Interop/WindowCompositionHelper.cs b/ModernFlyouts.Core/Interop/WindowCompositionHelper.cs deleted file mode 100644 index 6b553793..00000000 --- a/ModernFlyouts.Core/Interop/WindowCompositionHelper.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace ModernFlyouts.Core.Interop -{ - public class WindowCompositionHelper - { - private enum AccentState - { - ACCENT_DISABLED = 0, - ACCENT_ENABLE_GRADIENT = 1, - ACCENT_ENABLE_TRANSPARENTGRADIENT = 2, - ACCENT_ENABLE_BLURBEHIND = 3, - ACCENT_ENABLE_ACRYLICBLURBEHIND = 4, - ACCENT_INVALID_STATE = 5 - } - - [StructLayout(LayoutKind.Sequential)] - private struct AccentPolicy - { - public AccentState AccentState; - public uint AccentFlags; - public uint GradientColor; - public uint AnimationId; - } - - [StructLayout(LayoutKind.Sequential)] - private struct WindowCompositionAttributeData - { - public WindowCompositionAttribute Attribute; - public IntPtr Data; - public int SizeOfData; - } - - private enum WindowCompositionAttribute - { - WCA_ACCENT_POLICY = 19 - } - - [DllImport("user32.dll")] - private static extern int SetWindowCompositionAttribute(IntPtr hWnd, ref WindowCompositionAttributeData data); - - public static void MakeWindowTransparent(IntPtr hWnd) - { - AccentPolicy accent = new() - { - AccentFlags = 2, - AccentState = AccentState.ACCENT_ENABLE_TRANSPARENTGRADIENT, - GradientColor = 0xFFFFFF - }; - - var accentStructSize = Marshal.SizeOf(accent); - - var accentPtr = Marshal.AllocHGlobal(accentStructSize); - Marshal.StructureToPtr(accent, accentPtr, false); - - var data = new WindowCompositionAttributeData - { - Attribute = WindowCompositionAttribute.WCA_ACCENT_POLICY, - SizeOfData = accentStructSize, - Data = accentPtr - }; - - SetWindowCompositionAttribute(hWnd, ref data); - - Marshal.FreeHGlobal(accentPtr); - } - } -} diff --git a/ModernFlyouts.Core/Media/Control/GSMTCMediaSession.cs b/ModernFlyouts.Core/Media/Control/GSMTCMediaSession.cs index 92b4b0b9..4830819f 100644 --- a/ModernFlyouts.Core/Media/Control/GSMTCMediaSession.cs +++ b/ModernFlyouts.Core/Media/Control/GSMTCMediaSession.cs @@ -165,7 +165,7 @@ private async void UpdateSessionInfo(GlobalSystemMediaTransportControlsSession s { > 0 => MediaPlaybackTrackChangeDirection.Forward, < 0 => MediaPlaybackTrackChangeDirection.Backward, - _ => throw new NotImplementedException() + _ => MediaPlaybackTrackChangeDirection.Unknown }; } diff --git a/ModernFlyouts.Core/Media/Control/NowPlayingMediaSession.cs b/ModernFlyouts.Core/Media/Control/NowPlayingMediaSession.cs index 066a8b85..e1d76291 100644 --- a/ModernFlyouts.Core/Media/Control/NowPlayingMediaSession.cs +++ b/ModernFlyouts.Core/Media/Control/NowPlayingMediaSession.cs @@ -180,7 +180,7 @@ private void UpdateSessionInfo() { > 0 => MediaPlaybackTrackChangeDirection.Forward, < 0 => MediaPlaybackTrackChangeDirection.Backward, - _ => throw new NotImplementedException() + _ => MediaPlaybackTrackChangeDirection.Unknown }; } diff --git a/ModernFlyouts.Core/Media/Control/NowPlayingMediaSessionManager.cs b/ModernFlyouts.Core/Media/Control/NowPlayingMediaSessionManager.cs index d7f9b785..c6263868 100644 --- a/ModernFlyouts.Core/Media/Control/NowPlayingMediaSessionManager.cs +++ b/ModernFlyouts.Core/Media/Control/NowPlayingMediaSessionManager.cs @@ -1,8 +1,9 @@ -using ModernFlyouts.Core.Helpers; +using ModernFlyouts.Core.Threading; using ModernFlyouts.Core.Utilities; using NPSMLib; using System; using System.Linq; +using System.Threading.Tasks; namespace ModernFlyouts.Core.Media.Control { @@ -12,30 +13,36 @@ public class NowPlayingMediaSessionManager : MediaSessionManager public override async void OnEnabled() { - NpsmServiceStart.NpsmServiceStarted += NpsmServiceStart_NpsmServiceStarted; - NpsmServiceStart_NpsmServiceStarted(null, null); + NpsmService.Started += NpsmService_Started; + await OnNpsmServiceStarted(); } - private async void NpsmServiceStart_NpsmServiceStarted(object sender, EventArgs e) + private async void NpsmService_Started(object sender, EventArgs e) + { + await OnNpsmServiceStarted(); + } + + private async Task OnNpsmServiceStarted() { //Example: explorer.exe crashes, the NPSMLib still holds the "link" //THEN explorer.exe restarts and NPSM restarts too, reloading all NPSM sessions //Now recreate NPSessionManager. + try { + await CleanupNPSM(); + NPSessionManager = new(); NPSessionManager.SessionListChanged += NPSessionsChanged; await LoadSessions(); } - catch (Exception) + catch { //This is in case NPSM dies immediately after sending a wnf notification - await ClearSessions(); - if (NPSessionManager != null) - NPSessionManager.SessionListChanged -= NPSessionsChanged; - NPSessionManager = null; + + await CleanupNPSM(); } } @@ -132,6 +139,12 @@ private async UiTask LoadSessions() } public override async void OnDisabled() + { + NpsmService.Started -= NpsmService_Started; + await CleanupNPSM(); + } + + private async Task CleanupNPSM() { if (NPSessionManager != null) { diff --git a/ModernFlyouts.Core/ModernFlyouts.Core.csproj b/ModernFlyouts.Core/ModernFlyouts.Core.csproj index a97beb81..bba7374c 100644 --- a/ModernFlyouts.Core/ModernFlyouts.Core.csproj +++ b/ModernFlyouts.Core/ModernFlyouts.Core.csproj @@ -8,11 +8,11 @@ - + - - + + diff --git a/ModernFlyouts.Core/Helpers/UiTask.cs b/ModernFlyouts.Core/Threading/UiTask.cs similarity index 98% rename from ModernFlyouts.Core/Helpers/UiTask.cs rename to ModernFlyouts.Core/Threading/UiTask.cs index e747bd42..3aa9be76 100644 --- a/ModernFlyouts.Core/Helpers/UiTask.cs +++ b/ModernFlyouts.Core/Threading/UiTask.cs @@ -4,7 +4,7 @@ using System.Windows; using System.Windows.Threading; -namespace ModernFlyouts.Core.Helpers +namespace ModernFlyouts.Core.Threading { //Taken from here! //https://medium.com/criteo-engineering/switching-back-to-the-ui-thread-in-wpf-uwp-in-modern-c-5dc1cc8efa5e diff --git a/ModernFlyouts.Core/UI/FlyoutWindow/FlyoutWindow.Animations.cs b/ModernFlyouts.Core/UI/FlyoutWindow/FlyoutWindow.Animations.cs index 2e94b100..524703c9 100644 --- a/ModernFlyouts.Core/UI/FlyoutWindow/FlyoutWindow.Animations.cs +++ b/ModernFlyouts.Core/UI/FlyoutWindow/FlyoutWindow.Animations.cs @@ -18,7 +18,21 @@ private void OpenFlyout() RoutedEventArgs args = new(OpenedEvent); RaiseEvent(args); - PlayOpenAnimation(); + + if (FlyoutAnimationEnabled) + { + c_translation = 40; + PlayOpenAnimation(); + } + else + { + c_translation = 0; + RenderTransform = new TranslateTransform(); + BeginAnimation(VisibilityProperty, null); + BeginAnimation(OpacityProperty, null); + Visibility = Visibility.Visible; + Opacity = 1.0; + } timer?.Start(); } @@ -28,7 +42,15 @@ private void CloseFlyout() RoutedEventArgs args = new(ClosingEvent); RaiseEvent(args); - PlayCloseAnimation(); + if (FlyoutAnimationEnabled) + { + PlayCloseAnimation(); + } + else + { + Opacity = 0.0; + Visibility = Visibility.Hidden; + } } #region Close Timer @@ -105,7 +127,7 @@ public void UpdateCloseTimerInterval(double timeout) private DoubleKeyFrame fromHorizontalOffsetKeyFrameClosing; private DoubleKeyFrame fromVerticalOffsetKeyFrameClosing; - private const double c_translation = 40; + private double c_translation = 40; private static readonly TimeSpan translateDuration = TimeSpan.FromMilliseconds(367); private static readonly PropertyPath opacityPath = new(OpacityProperty); @@ -115,6 +137,7 @@ public void UpdateCloseTimerInterval(double timeout) private static readonly KeySpline decelerateKeySplineOpening = new(0.1, 0.9, 0.2, 1); private static readonly KeySpline decelerateKeySplineClosing = new(1, 0.2, 0.9, 0.1); + private void PrepareAnimations() { EnsureClosingStoryboard(); @@ -141,9 +164,11 @@ private void EnsureOpeningStoryboard() { new DiscreteObjectKeyFrame(Visibility.Visible, TimeSpan.Zero) } + }; Storyboard.SetTarget(visibilityAnim, this); Storyboard.SetTargetProperty(visibilityAnim, visibilityPath); + DoubleAnimationUsingKeyFrames opacityAnim = new() { diff --git a/ModernFlyouts.Core/UI/FlyoutWindow/FlyoutWindow.Properties.cs b/ModernFlyouts.Core/UI/FlyoutWindow/FlyoutWindow.Properties.cs index 22ad4a01..09d572c7 100644 --- a/ModernFlyouts.Core/UI/FlyoutWindow/FlyoutWindow.Properties.cs +++ b/ModernFlyouts.Core/UI/FlyoutWindow/FlyoutWindow.Properties.cs @@ -345,5 +345,22 @@ private static void OnIsOpenPropertyChanged(DependencyObject d, DependencyProper } #endregion + + #region FlyoutAnimationEnabled + + public static readonly DependencyProperty FlyoutAnimationEnabledProperty = + DependencyProperty.Register( + nameof(FlyoutAnimationEnabled), + typeof(bool), + typeof(FlyoutWindow), + new PropertyMetadata(false)); + + public bool FlyoutAnimationEnabled + { + get => (bool)GetValue(FlyoutAnimationEnabledProperty); + set => SetValue(FlyoutAnimationEnabledProperty, value); + } + + #endregion } } diff --git a/ModernFlyouts.Core/Utilities/NpsmServiceStart.cs b/ModernFlyouts.Core/Utilities/NpsmService.cs similarity index 75% rename from ModernFlyouts.Core/Utilities/NpsmServiceStart.cs rename to ModernFlyouts.Core/Utilities/NpsmService.cs index 4cc34d08..49663b41 100644 --- a/ModernFlyouts.Core/Utilities/NpsmServiceStart.cs +++ b/ModernFlyouts.Core/Utilities/NpsmService.cs @@ -3,7 +3,7 @@ namespace ModernFlyouts.Core.Utilities { - public static class NpsmServiceStart + public static class NpsmService { private static readonly ulong WNF_NPSM_SERVICE_STARTED = 0xC951E23A3BC0875; private static readonly ulong WNF_SHEL_SESSION_LOGON_COMPLETE = 0xD83063EA3BE3835; @@ -11,14 +11,14 @@ public static class NpsmServiceStart private static readonly object _subscriptionLock = new object(); private static IntPtr _subId; - private static event EventHandler _npsmServiceStarted; + private static event EventHandler _started; //This prevents from being GC'd private static readonly Wnf.WnfUserCallback wnfSubHandler = new Wnf.WnfUserCallback(WnfSubHandler); private static IntPtr WnfSubHandler(ulong stateName, uint changeStamp, IntPtr typeId, IntPtr callbackContext, IntPtr bufferPtr, uint bufferSize) { - _npsmServiceStarted?.Invoke(null, new EventArgs()); + _started?.Invoke(null, EventArgs.Empty); return IntPtr.Zero; } @@ -26,28 +26,28 @@ private static IntPtr WnfSubHandler(ulong stateName, uint changeStamp, IntPtr ty /// Occurs when the NPSM service is started or restarted /// Of course this runs on a different thread. /// - public static event EventHandler NpsmServiceStarted + public static event EventHandler Started { add { lock (_subscriptionLock) { - if (_npsmServiceStarted == null) + if (_started == null) { var wnfData = Wnf.QueryWnf(WNF_SHEL_SESSION_LOGON_COMPLETE); Wnf.SubscribeWnf(WNF_SHEL_SESSION_LOGON_COMPLETE, wnfData.Changestamp, wnfSubHandler, out _subId); } - _npsmServiceStarted += value; + _started += value; } } remove { lock (_subscriptionLock) { - _npsmServiceStarted -= value; + _started -= value; - if (_npsmServiceStarted == null) + if (_started == null) { Wnf.UnsubscribeWnf(_subId); _subId = IntPtr.Zero; @@ -56,7 +56,4 @@ public static event EventHandler NpsmServiceStarted } } } - - public class NpsmServiceStartedEventArgs : EventArgs - { } } diff --git a/ModernFlyouts.Package/ModernFlyouts.Package.wapproj b/ModernFlyouts.Package/ModernFlyouts.Package.wapproj index 9dcfd698..9fb946ab 100644 --- a/ModernFlyouts.Package/ModernFlyouts.Package.wapproj +++ b/ModernFlyouts.Package/ModernFlyouts.Package.wapproj @@ -42,7 +42,7 @@ False SHA256 False - False + True x86|x64 0 https://github.com/ModernFlyouts-Community/ModernFlyouts/tree/main/ModernFlyouts.Package/Package.appinstaller @@ -51,7 +51,7 @@ Always - ModernFlyouts.Package_TemporaryKey.pfx + 1763E89B1A6D02D8D3CCF794ADFF6130472AC7B5 @@ -111,6 +111,7 @@ + @@ -120,8 +121,7 @@ True - Properties\PublishProfiles\FolderProfile-x64.pubxml - Properties\PublishProfiles\FolderProfile-x86.pubxml + Properties\PublishProfiles\win10-$(Platform).pubxml diff --git a/ModernFlyouts.Package/Package.appxmanifest b/ModernFlyouts.Package/Package.appxmanifest index 9748e05d..9fafb9a7 100644 --- a/ModernFlyouts.Package/Package.appxmanifest +++ b/ModernFlyouts.Package/Package.appxmanifest @@ -10,17 +10,16 @@ + Publisher="CN=Sam" + Version="0.9.3.0" /> - ModernFlyouts (Preview) - Sam G + ms-resource:Resources/PackageDisplayName + ms-resource:Resources/PublisherDisplayName Images\StoreLogo.png - @@ -61,18 +60,19 @@ Executable="$targetnametoken$.exe" EntryPoint="Windows.FullTrustApplication"> - - - - - - - + + + + + + + diff --git a/ModernFlyouts.Package/Strings/en-us/Resources.resw b/ModernFlyouts.Package/Strings/en-us/Resources.resw new file mode 100644 index 00000000..87691999 --- /dev/null +++ b/ModernFlyouts.Package/Strings/en-us/Resources.resw @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ModernFlyouts is an open source, modern, and Fluent Design-based replacement for the old Metro-themed flyouts present in Windows 10. + + + ModernFlyouts (Preview) + + + ModernFlyouts (Preview) + + + Sam G + + + ModernFlyouts + + \ No newline at end of file diff --git a/ModernFlyouts.sln b/ModernFlyouts.sln index d59660d0..e07a4ec9 100644 --- a/ModernFlyouts.sln +++ b/ModernFlyouts.sln @@ -9,8 +9,6 @@ Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "ModernFlyouts.Package", "Mo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModernFlyouts.Core", "ModernFlyouts.Core\ModernFlyouts.Core.csproj", "{81626E00-9226-4125-B8EA-7EE7C2772169}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModernFlyouts.Internal.Playground", "ModernFlyouts.Internal.Playground\ModernFlyouts.Internal.Playground.csproj", "{5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModernFlyoutsBridge", "ModernFlyoutsBridge\ModernFlyoutsBridge.vcxproj", "{FD9E8B0D-F07E-4BB4-9937-83430E5F70C9}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModernFlyoutsHost", "ModernFlyoutsHost\ModernFlyoutsHost.vcxproj", "{2D0112A7-6A15-4AC6-90D4-26FF30F5AF00}" @@ -67,18 +65,6 @@ Global {81626E00-9226-4125-B8EA-7EE7C2772169}.Release|x64.Build.0 = Release|x64 {81626E00-9226-4125-B8EA-7EE7C2772169}.Release|x86.ActiveCfg = Release|x86 {81626E00-9226-4125-B8EA-7EE7C2772169}.Release|x86.Build.0 = Release|x86 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Debug|ARM64.Build.0 = Debug|ARM64 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Debug|x64.ActiveCfg = Debug|x64 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Debug|x64.Build.0 = Debug|x64 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Debug|x86.ActiveCfg = Debug|Any CPU - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Debug|x86.Build.0 = Debug|Any CPU - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Release|ARM64.ActiveCfg = Release|ARM64 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Release|ARM64.Build.0 = Release|ARM64 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Release|x64.ActiveCfg = Release|x64 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Release|x64.Build.0 = Release|x64 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Release|x86.ActiveCfg = Release|x86 - {5CC30D22-BEBF-4D53-9178-E9B7DCE1B912}.Release|x86.Build.0 = Release|x86 {FD9E8B0D-F07E-4BB4-9937-83430E5F70C9}.Debug|ARM64.ActiveCfg = Debug|ARM64 {FD9E8B0D-F07E-4BB4-9937-83430E5F70C9}.Debug|ARM64.Build.0 = Debug|ARM64 {FD9E8B0D-F07E-4BB4-9937-83430E5F70C9}.Debug|x64.ActiveCfg = Debug|x64 diff --git a/ModernFlyouts/Flyout Helpers/AirplaneModeFlyoutHelper.cs b/ModernFlyouts/Flyout Helpers/AirplaneModeFlyoutHelper.cs index ed3110d8..c8411e54 100644 --- a/ModernFlyouts/Flyout Helpers/AirplaneModeFlyoutHelper.cs +++ b/ModernFlyouts/Flyout Helpers/AirplaneModeFlyoutHelper.cs @@ -1,16 +1,11 @@ -using ModernFlyouts.Core.Utilities; -using ModernFlyouts.Helpers; +using ModernFlyouts.Helpers; using ModernFlyouts.Utilities; -using System.Windows; namespace ModernFlyouts { public class AirplaneModeFlyoutHelper : FlyoutHelperBase { private AirplaneModeControl airplaneModeControl; - private AirplaneModeWatcher airplaneModeWatcher; - - public override event ShowFlyoutEventHandler ShowFlyoutRequested; public AirplaneModeFlyoutHelper() { @@ -25,14 +20,12 @@ public void Initialize() PrimaryContent = airplaneModeControl; - airplaneModeWatcher = new AirplaneModeWatcher(); - OnEnabled(); } - private void Prepare(AirplaneModeChangedEventArgs e) + private void Prepare(object data) { - if (e.IsEnabled) + if (data is bool isEnabled && isEnabled) { airplaneModeControl.txt.Text = Properties.Strings.AirplaneModeOn; airplaneModeControl.AirplaneGlyph.Glyph = CommonGlyphs.Airplane; @@ -44,13 +37,15 @@ private void Prepare(AirplaneModeChangedEventArgs e) } } - private void AirplaneModeWatcher_Changed(object sender, AirplaneModeChangedEventArgs e) + public override bool CanHandleNativeOnScreenFlyout(FlyoutTriggerData triggerData) { - Application.Current.Dispatcher.Invoke(() => + if (triggerData.TriggerType == FlyoutTriggerType.AirplaneMode) { - Prepare(e); - ShowFlyoutRequested?.Invoke(this); - }); + Prepare(triggerData.Data); + return true; + } + + return base.CanHandleNativeOnScreenFlyout(triggerData); } protected override void OnEnabled() @@ -58,21 +53,12 @@ protected override void OnEnabled() base.OnEnabled(); AppDataHelper.AirplaneModeModuleEnabled = IsEnabled; - - if (IsEnabled) - { - airplaneModeWatcher.Changed += AirplaneModeWatcher_Changed; - airplaneModeWatcher.Start(); - } } protected override void OnDisabled() { base.OnDisabled(); - airplaneModeWatcher.Stop(); - airplaneModeWatcher.Changed -= AirplaneModeWatcher_Changed; - AppDataHelper.AirplaneModeModuleEnabled = IsEnabled; } } diff --git a/ModernFlyouts/Flyout Helpers/AudioFlyoutHelper.cs b/ModernFlyouts/Flyout Helpers/AudioFlyoutHelper.cs index 30e0faea..74f95644 100644 --- a/ModernFlyouts/Flyout Helpers/AudioFlyoutHelper.cs +++ b/ModernFlyouts/Flyout Helpers/AudioFlyoutHelper.cs @@ -27,8 +27,6 @@ public class AudioFlyoutHelper : FlyoutHelperBase private List mediaSessionManagers = new(); private bool isVolumeFlyout = true; - public override event ShowFlyoutEventHandler ShowFlyoutRequested; - #region Properties public CompositeCollection AllMediaSessions { get; } = new(); @@ -120,16 +118,22 @@ public void Initialize() OnEnabled(); } - public void OnExternalUpdated(bool isMediaKey) + public override bool CanHandleNativeOnScreenFlyout(FlyoutTriggerData triggerData) { - isVolumeFlyout = !isMediaKey; + bool isMediaKey = triggerData.TriggerType == FlyoutTriggerType.Media; + isVolumeFlyout = triggerData.TriggerType == FlyoutTriggerType.Volume; + if (!isMediaKey && !isVolumeFlyout) + return false; + ValidatePrimaryContentVisible(); ValidateSecondaryContentVisible(); if ((isVolumeFlyout && PrimaryContentVisible) || (isMediaKey && SecondaryContentVisible)) { - ShowFlyoutRequested?.Invoke(this); + return true; } + + return base.CanHandleNativeOnScreenFlyout(triggerData); } private void OnShowGSMTCInVolumeFlyoutChanged() @@ -179,10 +183,8 @@ private void UpdateDevice(MMDevice mmdevice) UpdateVolume(device.AudioEndpointVolume.MasterVolumeLevelScalar * 100); device.AudioEndpointVolume.OnVolumeNotification += AudioEndpointVolume_OnVolumeNotification; } - catch (Exception) - { - //ignore - } + catch { } + Application.Current.Dispatcher.Invoke(() => PrimaryContent = volumeControl); } else { Application.Current.Dispatcher.Invoke(() => PrimaryContent = noDeviceMessageBlock); } @@ -251,11 +253,8 @@ private void VolumeSlider_ValueChanged(object sender, RoutedPropertyChangedEvent { device.AudioEndpointVolume.MasterVolumeLevelScalar = (float)(value / 100); } - catch (Exception) - { - //99.9% is "A device attached to the system is not functioning" (0x8007001F), ignore this - } - + catch { } //99.9% is "A device attached to the system is not functioning" (0x8007001F), ignore this + e.Handled = true; } } @@ -282,10 +281,7 @@ private void VolumeSlider_PreviewMouseWheel(object sender, MouseWheelEventArgs e { device.AudioEndpointVolume.MasterVolumeLevelScalar = (float)(volume / 100.0); } - catch (Exception) - { - //ignore - } + catch { } e.Handled = true; } diff --git a/ModernFlyouts/Flyout Helpers/BrightnessFlyoutHelper.cs b/ModernFlyouts/Flyout Helpers/BrightnessFlyoutHelper.cs index 2f43e099..f9f544dd 100644 --- a/ModernFlyouts/Flyout Helpers/BrightnessFlyoutHelper.cs +++ b/ModernFlyouts/Flyout Helpers/BrightnessFlyoutHelper.cs @@ -14,8 +14,6 @@ public class BrightnessFlyoutHelper : FlyoutHelperBase private BrightnessControl brightnessControl; private BrightnessWatcher brightnessWatcher; - public override event ShowFlyoutEventHandler ShowFlyoutRequested; - public BrightnessFlyoutHelper() { Initialize(); @@ -162,8 +160,13 @@ private static void SetBrightnessLevel(int brightnessLevel) #endregion - //This is if it was "updated" using other methods (e.g. Shellhook) - public void OnExternalUpdated() => ShowFlyoutRequested?.Invoke(this); + public override bool CanHandleNativeOnScreenFlyout(FlyoutTriggerData triggerData) + { + if (triggerData.TriggerType == FlyoutTriggerType.Brightness) + return true; + + return base.CanHandleNativeOnScreenFlyout(triggerData); + } protected override void OnEnabled() { diff --git a/ModernFlyouts/Flyout Helpers/FlyoutHelperBase.cs b/ModernFlyouts/Flyout Helpers/FlyoutHelperBase.cs index 7e763acd..2851ca33 100644 --- a/ModernFlyouts/Flyout Helpers/FlyoutHelperBase.cs +++ b/ModernFlyouts/Flyout Helpers/FlyoutHelperBase.cs @@ -5,7 +5,7 @@ namespace ModernFlyouts { public abstract class FlyoutHelperBase : ObservableObject { - public abstract event ShowFlyoutEventHandler ShowFlyoutRequested; + public event ShowFlyoutEventHandler ShowFlyoutRequested; public delegate void ShowFlyoutEventHandler(FlyoutHelperBase sender); @@ -84,5 +84,15 @@ protected virtual void OnDisabled() FlyoutHandler.Instance.OnScreenFlyoutWindow.IsOpen = false; } } + + public virtual bool CanHandleNativeOnScreenFlyout(FlyoutTriggerData triggerData) + { + return false; + } + + protected void RequestShowFlyout() + { + ShowFlyoutRequested?.Invoke(this); + } } } diff --git a/ModernFlyouts/Flyout Helpers/FlyoutTriggerData.cs b/ModernFlyouts/Flyout Helpers/FlyoutTriggerData.cs new file mode 100644 index 00000000..fe08ac5e --- /dev/null +++ b/ModernFlyouts/Flyout Helpers/FlyoutTriggerData.cs @@ -0,0 +1,19 @@ +namespace ModernFlyouts +{ + public enum FlyoutTriggerType + { + Volume, + Media, + AirplaneMode, + Brightness + } + + public class FlyoutTriggerData + { + public FlyoutTriggerType TriggerType { get; set; } + + public object Data { get; set; } + + public bool IsExpired; + } +} diff --git a/ModernFlyouts/Flyout Helpers/LockKeysFlyoutHelper.cs b/ModernFlyouts/Flyout Helpers/LockKeysFlyoutHelper.cs index ea65993d..cdae8e27 100644 --- a/ModernFlyouts/Flyout Helpers/LockKeysFlyoutHelper.cs +++ b/ModernFlyouts/Flyout Helpers/LockKeysFlyoutHelper.cs @@ -8,8 +8,6 @@ public class LockKeysFlyoutHelper : FlyoutHelperBase { private LockKeysControl lockKeysControl; - public override event ShowFlyoutEventHandler ShowFlyoutRequested; - #region Properties private bool capsLockEnabled = DefaultValuesStore.LockKeysModule_CapsLockEnabled; @@ -124,12 +122,7 @@ private void KeyPressed(Key key, int virtualKey) } Prepare(lk, !Keyboard.IsKeyToggled(key)); - ShowFlyout(); - } - - void ShowFlyout() - { - ShowFlyoutRequested?.Invoke(this); + RequestShowFlyout(); } } diff --git a/ModernFlyouts/FlyoutHandler.cs b/ModernFlyouts/FlyoutHandler.cs index f1646650..8b0d2461 100644 --- a/ModernFlyouts/FlyoutHandler.cs +++ b/ModernFlyouts/FlyoutHandler.cs @@ -3,6 +3,7 @@ using ModernFlyouts.Core.Display; using ModernFlyouts.Core.Interop; using ModernFlyouts.Core.UI; +using ModernFlyouts.Core.Utilities; using ModernFlyouts.Helpers; using ModernFlyouts.Interop; using ModernFlyouts.UI; @@ -11,6 +12,7 @@ using ModernFlyouts.Workarounds; using ModernWpf; using System; +using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Windows; @@ -24,6 +26,11 @@ public class FlyoutHandler : ObservableObject public static event EventHandler Initialized; private bool _isPreferredMonitorChanging; + private bool _savePreferredMonitor = true; + + private List flyoutHelpers = new(); + private AirplaneModeWatcher airplaneModeWatcher = new(); + private FlyoutTriggerData prevTriggerData; #region Properties @@ -87,12 +94,14 @@ public DisplayMonitor OnScreenFlyoutPreferredMonitor { if (SetProperty(ref onScreenFlyoutPreferredMonitor, value)) { - if (!_isPreferredMonitorChanging && HasInitialized) + if (HasInitialized) { - MoveFlyoutToAnotherMonitor(); - } + if (!_isPreferredMonitorChanging) + MoveFlyoutToAnotherMonitor(); - AppDataHelper.PreferredDisplayMonitorId = value.DeviceId; + if (_savePreferredMonitor) + AppDataHelper.PreferredDisplayMonitorId = value.DeviceId; + } } } } @@ -169,10 +178,15 @@ async void getStartupStatus() LockKeysFlyoutHelper = new LockKeysFlyoutHelper() { IsEnabled = lkkyEnabled }; BrightnessFlyoutHelper = new BrightnessFlyoutHelper() { IsEnabled = brEnabled }; - AudioFlyoutHelper.ShowFlyoutRequested += ShowFlyout; - AirplaneModeFlyoutHelper.ShowFlyoutRequested += ShowFlyout; - LockKeysFlyoutHelper.ShowFlyoutRequested += ShowFlyout; - BrightnessFlyoutHelper.ShowFlyoutRequested += ShowFlyout; + flyoutHelpers.Add(AudioFlyoutHelper); + flyoutHelpers.Add(AirplaneModeFlyoutHelper); + flyoutHelpers.Add(LockKeysFlyoutHelper); + flyoutHelpers.Add(BrightnessFlyoutHelper); + + foreach (var flyoutHelper in flyoutHelpers) + { + flyoutHelper.ShowFlyoutRequested += ShowFlyout; + } #endregion @@ -180,14 +194,32 @@ async void getStartupStatus() Initialized?.Invoke(this, EventArgs.Empty); DisplayManager.Instance.DisplayUpdated += Instance_DisplayUpdated; + airplaneModeWatcher.Changed += AirplaneModeWatcher_Changed; + airplaneModeWatcher.Start(); + } + + private void AirplaneModeWatcher_Changed(object sender, AirplaneModeChangedEventArgs e) + { + Application.Current.Dispatcher.Invoke(() => + { + FlyoutTriggerData triggerData = new() + { + TriggerType = FlyoutTriggerType.AirplaneMode, + Data = e.IsEnabled + }; + + ProcessFlyoutTrigger(triggerData); + }); } private void Instance_DisplayUpdated(object sender, EventArgs e) { if (!DisplayManager.Instance.DisplayMonitors.Any(x => x == onScreenFlyoutPreferredMonitor)) { + _savePreferredMonitor = false; OnScreenFlyoutPreferredMonitor = DisplayManager.Instance.PrimaryDisplayMonitor; AlignFlyout(); + _savePreferredMonitor = true; } } @@ -215,7 +247,7 @@ private void CreateOnScreenFlyoutWindow() ZBandID = zbid, FlyoutWindowType = FlyoutWindowType.OnScreen, Offset = UIManager.FlyoutShadowMargin, - IsTimeoutEnabled = true + IsTimeoutEnabled = true, }; flyoutWindow.DragMoved += (s, e) => @@ -278,11 +310,43 @@ private void CreateOnScreenFlyoutWindow() Path = new PropertyPath(nameof(UIManager.OnScreenFlyoutWindowExpandDirection)), Mode = BindingMode.OneWay }); + + BindingOperations.SetBinding(flyoutWindow, FlyoutWindow.FlyoutAnimationEnabledProperty, new Binding() + { + Source = UIManager, + Path = new PropertyPath(nameof(UIManager.FlyoutAnimationEnabled)), + Mode = BindingMode.OneWay + }); } private void OnNativeFlyoutShown() { - if ((DefaultFlyout == DefaultFlyout.ModernFlyouts && Handled()) || DefaultFlyout == DefaultFlyout.None) + if (DefaultFlyout == DefaultFlyout.ModernFlyouts) + { + if (Handled()) + NativeFlyoutHandler.Instance.HideNativeFlyout(); + + if (prevTriggerData != null + && !prevTriggerData.IsExpired) + { + prevTriggerData.IsExpired = true; + return; + } + + // When the native flyout is triggered by some factors + // that are neither ShellHook messages or airplane mode changes + // (that implies the native flyout is triggered by + // either touchpad gestures or audio device buttons), + // we show the volume flyout as a fallback. + // Only volume flyout is shown as a fallback + // because other triggers are always detected perfectly. + ProcessFlyoutTrigger(new() + { + TriggerType = FlyoutTriggerType.Volume, + IsExpired = true + }); + } + else if (DefaultFlyout == DefaultFlyout.None) { NativeFlyoutHandler.Instance.HideNativeFlyout(); } @@ -292,6 +356,32 @@ private void OnNativeFlyoutShown() } } + internal void ProcessFlyoutTrigger(FlyoutTriggerData triggerData = null) + { + Debug.WriteLine("Rattled!"); + triggerData ??= prevTriggerData ?? new(); + + bool canHandle = false; + FlyoutHelperBase flyoutHelper = null; + + foreach (var helper in flyoutHelpers) + { + canHandle = helper.CanHandleNativeOnScreenFlyout(triggerData); + if (canHandle) + { + flyoutHelper = helper; + break; + } + } + + if (canHandle && flyoutHelper != null) + { + ShowFlyout(flyoutHelper); + } + + prevTriggerData = triggerData; + } + private void ShowFlyout(FlyoutHelperBase helper) { if (DefaultFlyout != DefaultFlyout.ModernFlyouts || !helper.IsEnabled) diff --git a/ModernFlyouts/Helpers/AppDataHelper.cs b/ModernFlyouts/Helpers/AppDataHelper.cs index 238f440a..521f1f6e 100644 --- a/ModernFlyouts/Helpers/AppDataHelper.cs +++ b/ModernFlyouts/Helpers/AppDataHelper.cs @@ -289,6 +289,12 @@ public static bool UseColoredTrayIcon set => SetValue(value); } + public static bool FlyoutAnimationEnabled + { + get => GetValue(DefaultValuesStore.FlyoutAnimationEnabled); + set => SetValue(value); + } + public static bool AlignGSMTCThumbnailToRight { get => GetValue(DefaultValuesStore.AlignGSMTCThumbnailToRight); diff --git a/ModernFlyouts/Helpers/DefaultValuesStore.cs b/ModernFlyouts/Helpers/DefaultValuesStore.cs index d75df947..2667f350 100644 --- a/ModernFlyouts/Helpers/DefaultValuesStore.cs +++ b/ModernFlyouts/Helpers/DefaultValuesStore.cs @@ -82,6 +82,8 @@ internal class DefaultValuesStore public const bool UseColoredTrayIcon = true; + public const bool FlyoutAnimationEnabled = true; + public const bool AlignGSMTCThumbnailToRight = true; public const bool UseGSMTCThumbnailAsBackground = true; diff --git a/ModernFlyouts/Interop/ShellMessageHookHandler.cs b/ModernFlyouts/Interop/ShellMessageHookHandler.cs index 97282dbe..9f7c8d76 100644 --- a/ModernFlyouts/Interop/ShellMessageHookHandler.cs +++ b/ModernFlyouts/Interop/ShellMessageHookHandler.cs @@ -35,12 +35,20 @@ public uint OnHwndCreated(IntPtr hWnd, out bool register) public IntPtr OnWndProc(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam) { + FlyoutTriggerData triggerData = new(); + + void TriggerFlyout() + { + FlyoutHandler.Instance.ProcessFlyoutTrigger(triggerData); + } + if (msg == messageShellHookId) { if (wParam == (IntPtr)55) { //Brightness - FlyoutHandler.Instance.BrightnessFlyoutHelper?.OnExternalUpdated(); + triggerData.TriggerType = FlyoutTriggerType.Brightness; + TriggerFlyout(); } else if (wParam == (IntPtr)12) { @@ -51,14 +59,16 @@ public IntPtr OnWndProc(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam) case (long)HookMessageEnum.HOOK_MEDIA_PLAYPAUSE: case (long)HookMessageEnum.HOOK_MEDIA_STOP: //Media - FlyoutHandler.Instance.AudioFlyoutHelper?.OnExternalUpdated(true); + triggerData.TriggerType = FlyoutTriggerType.Media; + TriggerFlyout(); break; case (long)HookMessageEnum.HOOK_MEDIA_VOLMINUS: case (long)HookMessageEnum.HOOK_MEDIA_VOLMUTE: case (long)HookMessageEnum.HOOK_MEDIA_VOLPLUS: //Volume - FlyoutHandler.Instance.AudioFlyoutHelper?.OnExternalUpdated(false); + triggerData.TriggerType = FlyoutTriggerType.Volume; + TriggerFlyout(); break; default: diff --git a/ModernFlyouts/JumpListHelper.cs b/ModernFlyouts/JumpListHelper.cs index 73156149..2a9ea48b 100644 --- a/ModernFlyouts/JumpListHelper.cs +++ b/ModernFlyouts/JumpListHelper.cs @@ -15,7 +15,7 @@ public class JumpListHelper public static void CreateJumpList() { - AppPath = Path.Combine(Directory.GetCurrentDirectory(), $"{Program.AppLauncherName}.exe"); + AppPath = Path.Combine(Directory.GetCurrentDirectory(), $"{Program.AppHostName}.exe"); JumpList jumpList = new(); JumpTask settingsTask = new() diff --git a/ModernFlyouts/ModernFlyouts.csproj b/ModernFlyouts/ModernFlyouts.csproj index 2bbfe5b9..68d162ad 100644 --- a/ModernFlyouts/ModernFlyouts.csproj +++ b/ModernFlyouts/ModernFlyouts.csproj @@ -25,14 +25,14 @@ - + - - - + + + @@ -128,9 +128,8 @@ $(TargetFrameworkSDKToolsDirectory)$(Platform)\ --> - - + + $(TargetFrameworkSDKToolsDirectory)$(PlatformTarget)\ @@ -144,9 +143,9 @@ x86 - + 4.0 diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.af.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.af.xlf index 5114403c..58b6e15e 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.af.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.af.xlf @@ -167,7 +167,6 @@ Flyout modules Modules - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.ar.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.ar.xlf index 124e65a1..46cf2d47 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.ar.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.ar.xlf @@ -167,7 +167,6 @@ Flyout modules وحدات المشغل - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment انحياز عمودي + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.da-DK.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.da-DK.xlf new file mode 100644 index 00000000..0f34c0dc --- /dev/null +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.da-DK.xlf @@ -0,0 +1,518 @@ + + + +
+ +
+ + + + About + Om + + + Airplane mode is not available :( + Flytilstand er ikke tilgængelig :( + + + Airplane mode off + Flytilstand fra + + + Airplane mode on + Flytilstand til + + + Align to default position + Justér til standardposition + + + No Connected Audio Devices + Ingen forbundne lydenheder + + + Close + Luk + + + Exit + Afslut + + + Exit the app safely + Afslut appen sikkert + + + General + Generelt + + + Insert Mode + Indsæt-tilstand + + + {0} is off + {0} er fra + E.g. Caps lock is off + + + {0} is on + {0} er til + E.g. Caps lock is on + + + Overtype Mode + Overskriv-tilstand + + + Pin TopBar + Fastgør topbjælken + + + Restore legacy flyout + Genopret standard-flyout + + + Restores the windows default flyout and safely quits this app + Genopretter Windows standard-flyouten og afslutter appen sikkert + + + More Controls + Flere kontrolelementer + + + Next + Næste + + + Pause + Pause + + + Play + Afspil + + + Previous + Forrige + + + Repeat: all + Gentag: alle + + + Repeat: off + Gentag: fra + + + Repeat: one + Gentag: enkelt + + + Shuffle: off + Bland: fra + + + Shuffle: on + Bland: til + + + Stop + Stop + + + Timeline Info + Tidslinje-info + + + Additional + Yderligere + + + Behavior + Adfærd + + + Default Flyout + Standard Flyout + + + Select the default flyout + Vælg standard-flyout + + + Choosing the Windows Default Flyout as default won't close this app. This app will still keep running in the background. Please exit this app safely to improve performance. + At vælge default-flyoutet lukker ikke denne app. Den vil fortsætte med at køre i baggrunden. Afslut venligst appen sikkert for at forbedre ydeevnen. + + + Disabled + Deaktiveret + + + Enabled + Aktiveret + + + Flyout background opacity + Flyout baggrunds-gennemsigtighed + + + Flyout default position + Flyout standardposition + + + Flyout TopBar + Flyout topbjælke + + + Flyout modules + Flyout moduler + + + Airplane mode + Flytilstand + + + Audio + Lyd + + + Brightness + Lysstyrke + + + Lock keys + Låsetaster + + + Run at startup + Kør ved opstart + + + Settings + Indstillinger + + + Open settings window + Åbn indstillinger + + + Unpin TopBar + Frigør topbjælke + + + ModernFlyouts + ModernFlyouts + + + None + Ingen + + + Windows default + Windows-standard + + + Horizontal + Vandret + + + Vertical + Lodret + + + This app is designed to be a modern Fluent Design replacement for the old metro themed flyouts present in Windows since Windows 8. + Denne app er designet til at være en moderne Fluent Design-erstatning af de gamle Metro-flyouts som har eksisteret siden Windows 8. + + + Contributors + Bidragsydere + + + GitHub repository + GitHub repository + + + Open a new issue + Åbn et nyt emne + + + Rate and Review on Microsoft Store + Bedøm og anmeld på Microsoft Store + + + Version : + Version: + + + Language + Sprog + + + Restart required to apply language change properly + En genstart er påkrævet for at ændre sproget + + + System default + Systemstandard + + + Dependencies + Afhængigheder + + + If you find any bugs, please open a new issue in the github repository. + Hvis du finder en fejl, så åbn venligst et nyt issue på GitHub repositoriet. + + + Number of sessions to show + Antal sessioner at vise + + + Media sessions panel orientation + Orientering af sessions-panelet + + + Show Global System Media Transport Controls (GSMTC) aka Media controls in Volume flyout + Vis Global System Media Transport Controls (GSMTC) eller medie-kontrolelementer i lydstyrke-flyoutet + + + Show Volume control in Global System Media Transport Controls (GSMTC) aka Media flyout + Vis lydstyrke-kontrol i Global System Media Transport Controls (GSMTC) eller medie-flyoutet + + + Thumbnail alignment + Miniature justering + + + Dark + Mørk + + + Light + Lys + + + Auto-hide + Skjul automatisk + + + Collapsed + Kollapset + + + Visible + Synlig + + + Caps lock + Caps lock + + + Insert + Insert + + + Num lock + Mum lock + + + Scroll lock + Scroll lock + + + Select the keys you want to show the flyout for + Vælg hvilke taster du vil vise flyoutet for + + + Appearance + Udseende + + + Enable Airplane mode Flyout + Aktiver flytilstand-flyout + + + Enable Audio Flyout + Aktiver lyd-flyout + + + Enable Brightness Flyout + Aktiver lysstyrke-flyout + + + Enable Lock keys Flyout + Aktiver låsetaster-flyout + + + Flyout theme + Flyout-tema + + + Flyout timeout (ms) + Flyout forsinkelse (ms) + + + Left + Venstre + + + Media + Medie + + + Volume + Lydstyrke + + + Right + Højre + + + TopBar visibility + Topbjælke synlighed + + + Show icon on system tray area + Vis ikon på proceslinjen + + + Off + Fra + + + On + Til + + + App Theme + App-tema + + + Use colored tray icon + Brug farvet proces-ikon + + + Reset all settings to defaults + Gendan standard-indstillinger + + + Personalization + Personalisering + + + Align flyout to this position + Juster flyout til denne position + + + Restart required to apply some changes + Genstart påkrævet for at anvende nogle indstillinger + + + Use media's thumbnail as media control's background + Brug medie-miniature som baggrund på medie-kontrollen + + + Bottom + Bund + + + Center + Midte + + + Left + Venstre + + + Right + Højre + + + Top + Top + + + Auto + Auto + + + Down + Ned + + + Left + Venstre + + + Right + Højre + + + Up + Op + + + Auto + Auto + + + Manual + Manuel + + + Ascending + Stigende + + + Descending + Faldende + + + Display + Skærm + + + Select the preferred display monitor to show the flyout on + Vælg den foretrukne skærm at vise flyoutet på + + + Flyout alignment + Flyout-justering + + + Flyout content stacking direction + Stablings-retning af flyout indhold + + + Flyout expand direction + Flyout udvidelsesretning + + + Flyout placement + Flyout placering + + + Placement mode + Placeringstilstand + + + Horizontal alignment + Vandret justering + + + Layout + Layout + + + Vertical alignment + Lodret justering + + + Fade animation + Fade animation + + + +
+
\ No newline at end of file diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.de.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.de.xlf index f5572ac1..5b32a52d 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.de.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.de.xlf @@ -167,7 +167,6 @@ Flyout modules Flyout Module - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.el.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.el.xlf index 857fa8f0..1a9401ef 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.el.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.el.xlf @@ -167,7 +167,6 @@ Flyout modules Μονάδες αναδυόμενων στοιχείων - Airplane mode @@ -315,7 +314,7 @@ Num lock - Num Lock (Κλέιδωμα πλήκτρου Num) + Num Lock Scroll lock @@ -411,103 +410,107 @@ Use media's thumbnail as media control's background - Use media's thumbnail as media control's background + Χρησιμοποιήστε το στιγμιότυπο των πολυμέσων ως background των χειρηστηρίων Bottom - Bottom + Κάτω Center - Center + Κέντρο Left - Left + Αριστερά Right - Right + Δεξιά Top - Top + Πάνω Auto - Auto + Αυτόματα Down - Down + Κάτω Left - Left + Αριστερά Right - Right + Δεξιά Up - Up + Επάνω Auto - Auto + Αυτόματα Manual - Manual + Χειροκίνητα Ascending - Ascending + Αύξουσα Σειρά Descending - Descending + Φθίνουσα Σειρά Display - Display + Οθόνη Select the preferred display monitor to show the flyout on - Select the preferred display monitor to show the flyout on + Επιλέξτε την επιθυμητή οθόνη που θα εμφανίζεται το flyout Flyout alignment - Flyout alignment + Ευθυγράμμιση του flyout Flyout content stacking direction - Flyout content stacking direction + Κατέυθυνση στοίβαξης περιεχομένου του flyout Flyout expand direction - Flyout expand direction + Κατέυθυνση ανάπτυξης του flyout Flyout placement - Flyout placement + Θέση του Flyout Placement mode - Placement mode + Λειτουργία τοποθέτησης Horizontal alignment - Horizontal alignment + Οριζόντια ευθυγράμμιση Layout - Layout + Διάταξη Vertical alignment - Vertical alignment + Κάθετη ευθυγράμμιση + + + Fade animation + Fade animation diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.en-GB.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.en-GB.xlf index 61cafe79..d7831219 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.en-GB.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.en-GB.xlf @@ -319,7 +319,6 @@ Flyout modules Flyout Modules - Airplane mode @@ -379,7 +378,7 @@ Off - Syntax error + Off On @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.es.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.es.xlf index 89c5a9a6..2705d178 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.es.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.es.xlf @@ -167,7 +167,6 @@ Flyout modules Módulos del control flotante - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.fa.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.fa.xlf index 8b957ba7..c254b6f9 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.fa.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.fa.xlf @@ -167,7 +167,6 @@ Flyout modules ماژول‌ها - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.fr.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.fr.xlf index 304fc687..ed98b7cf 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.fr.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.fr.xlf @@ -331,7 +331,6 @@ Flyout modules Modules de menus volants - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.he.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.he.xlf index 31ff4312..4e04e1f0 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.he.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.he.xlf @@ -167,7 +167,6 @@ Flyout modules מודולים - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.hi.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.hi.xlf index 3b3a6417..16509b65 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.hi.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.hi.xlf @@ -167,7 +167,6 @@ Flyout modules मॉड्यूल - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.hu.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.hu.xlf index f7ee3b3e..c70769e3 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.hu.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.hu.xlf @@ -508,6 +508,10 @@ Vertical alignment Függőleges igazítás + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.id.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.id.xlf index b597d750..49fa5bdf 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.id.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.id.xlf @@ -167,7 +167,6 @@ Flyout modules Modul sembulan - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Perataan vertikal + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.is.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.is.xlf index 365948de..fb14b1e8 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.is.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.is.xlf @@ -167,7 +167,6 @@ Flyout modules Kerfiseiningar - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.it.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.it.xlf index 652b5491..2c761335 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.it.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.it.xlf @@ -167,7 +167,6 @@ Flyout modules Moduli - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.ja.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.ja.xlf index e1724981..d3a670d5 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.ja.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.ja.xlf @@ -508,6 +508,10 @@ Vertical alignment 垂直方向の配置 + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.ko.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.ko.xlf index 194de8f3..514eacf6 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.ko.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.ko.xlf @@ -508,6 +508,10 @@ Vertical alignment 수직 정렬 + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.ms.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.ms.xlf index 7cfc4c90..50038ecf 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.ms.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.ms.xlf @@ -167,7 +167,6 @@ Flyout modules Modul - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.nb.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.nb.xlf index 0fc8b8ab..370d4254 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.nb.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.nb.xlf @@ -167,7 +167,6 @@ Flyout modules Moduler - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.nl.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.nl.xlf index 677637a9..e800d506 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.nl.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.nl.xlf @@ -167,7 +167,6 @@ Flyout modules Modules - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.pl.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.pl.xlf index 5f9075c3..35470dd1 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.pl.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.pl.xlf @@ -167,7 +167,6 @@ Flyout modules Nakładki - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Wyrównanie pionowe + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.pt.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.pt.xlf index 3078f585..fb5d3144 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.pt.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.pt.xlf @@ -167,7 +167,6 @@ Flyout modules Módulos - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.ru.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.ru.xlf index 9faeffd5..8f199697 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.ru.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.ru.xlf @@ -159,16 +159,15 @@ Flyout default position - Позиция Flyout по умолчанию (для кнопки сброса выравнивания) + Позиция по умолчанию Flyout TopBar - Верхняя панель Flyout + Заголовок всплывающего окна Flyout modules Модули - Airplane mode @@ -184,7 +183,7 @@ Lock keys - Клавиши блокировки (Num Lock и т.д.) + Клавиши блокировки Run at startup @@ -200,7 +199,7 @@ Unpin TopBar - Открепить верхнюю панель + Открепить заголовок ModernFlyouts @@ -212,7 +211,7 @@ Windows default - Windows по умолчанию + Стандартные Windows Horizontal @@ -256,7 +255,7 @@ System default - Системный по умолчанию + Как в системе Dependencies @@ -396,7 +395,7 @@ Reset all settings to defaults - Сброс всех настроек по умолчанию + Сбросить настройки Personalization @@ -404,63 +403,63 @@ Align flyout to this position - Выровнять позицию всплывающего окна + Выровнять положение к этой точке Restart required to apply some changes - Перезагрузка необходима чтоб применить некоторые изменения. + Перезагрузка необходима для применения некоторых изменений. Use media's thumbnail as media control's background - Use media's thumbnail as media control's background + Использовать обложку как фон Bottom - Bottom + Снизу Center - Center + Центр Left - Left + Слева Right - Right + Справа Top - Top + Сверху Auto - Auto + Авто Down - Down + Вниз Left - Left + Влево Right - Right + Вправо Up - Up + Вверх Auto - Auto + Авто Manual - Manual + Вручную Ascending @@ -472,15 +471,15 @@ Display - Display + Монитор Select the preferred display monitor to show the flyout on - Select the preferred display monitor to show the flyout on + Выберите предпочитаемый монитор для отображения Flyout alignment - Flyout alignment + Выравнивание Flyout content stacking direction @@ -488,27 +487,31 @@ Flyout expand direction - Flyout expand direction + Направление открытия Flyout placement - Flyout placement + Положение окна Placement mode - Placement mode + Режим расположения Horizontal alignment - Horizontal alignment + Выравнивание по горизонтали Layout - Layout + Макет Vertical alignment - Vertical alignment + Выравнивание по вертикали + + + Fade animation + Fade animation diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.sv.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.sv.xlf index 7aea70da..1bd744a6 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.sv.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.sv.xlf @@ -167,7 +167,6 @@ Flyout modules Moduler - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.tr.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.tr.xlf index 61d4159a..ad50c33e 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.tr.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.tr.xlf @@ -1,4 +1,4 @@ - +
@@ -12,7 +12,7 @@ Airplane mode is not available :( - Uçak Modu kullanılamıyor :( + Uçak modu kullanılamıyor :( Airplane mode off @@ -28,7 +28,7 @@ No Connected Audio Devices - Bağlı Ses Cihazı Yok + Bağlı Ses Aygıtı Yok Close @@ -40,7 +40,7 @@ Exit the app safely - Uygulamadan güvenli bir şekilde çık + Uygulamadan güvenli olarak çık General @@ -48,17 +48,17 @@ Insert Mode - Araya Ekleme Modu + Insert Modu {0} is off {0} kapalı - E.g. Caps lock is off + E.g. Caps lock is off {0} is on {0} açık - E.g. Caps lock is on + E.g. Caps lock is on Overtype Mode @@ -66,19 +66,19 @@ Pin TopBar - ÜstÇubuğu Sabitle + Üst Çubuğu sabitle Restore legacy flyout - Varsayılanı Geri Yükle + Varsayılan Açılır Pencereleri geri yükle Restores the windows default flyout and safely quits this app - Windows varsayılan açılır penceresini geri yükler ve bu uygulamadan güvenli bir şekilde çıkar + Windows varsayılan açılır penceresini geri yükler ve bu uygulamadan güvenli olarak çıkar More Controls - Diğer Denetimler + Daha Fazla Denetim Next @@ -98,23 +98,23 @@ Repeat: all - Tekrarla: tümü + Yinele: tümü Repeat: off - Tekrarla: kapalı + Yinele: kapalı Repeat: one - Tekrarla: tek + Yinele: biri Shuffle: off - Rastgele çal: kapalı + Karıştır: kapalı Shuffle: on - Rastgele çal: açık + Karıştır: açık Stop @@ -122,11 +122,11 @@ Timeline Info - Zaman Tüneli Bilgileri + Zaman Çubuğu Bilgileri Additional - Ek + Diğer Behavior @@ -138,11 +138,11 @@ Select the default flyout - Varsayılan açılır pencere seçeneğini seçin + Varsayılan açılır pencereyi seçin Choosing the Windows Default Flyout as default won't close this app. This app will still keep running in the background. Please exit this app safely to improve performance. - Varsayılan olarak Windows Varsayılan Açılır Penceresini seçmek bu uygulamayı kapatmaz. Bu uygulama arka planda çalışmaya devam edecektir. Performansı artırmak için lütfen bu uygulamadan güvenli bir şekilde çıkın. + Varsayılan olarak Windows Açılır Penceresini seçmek bu uygulamayı kapatmaz. Bu uygulama arka planda çalışmaya devam edecektir. Performansı artırmak için lütfen bu uygulamadan güvenli olarak çıkın. Disabled @@ -154,20 +154,19 @@ Flyout background opacity - Açılır Pencere Arka Plan Saydamlığı + Açılır Pencere arka plan opaklığı Flyout default position - Açılır Pencere Varsayılan Konumu (Hizala düğmesi için) + Açılır Pencere varsayılan konumu Flyout TopBar - Açılır Pencere ÜstÇubuğu + Açılır Pencere Üst Çubuğu Flyout modules Açılır Pencere Modülleri - Airplane mode @@ -187,7 +186,7 @@ Run at startup - Başlangıçta çalıştırın + Başlangıçta çalıştır Settings @@ -199,15 +198,15 @@ Unpin TopBar - ÜstÇubuk sabitlemesini kaldır + Üst Çubuk sabitlemesini kaldır ModernFlyouts - ModernAçılırPencereler + ModernFlyouts None - Yok + Hiçbiri Windows default @@ -223,11 +222,11 @@ This app is designed to be a modern Fluent Design replacement for the old metro themed flyouts present in Windows since Windows 8. - Bu uygulama, Windows 8'den bu yana Windows'da bulunan eski metro temalı açılır pencerelerin modern bir Akıcı Tasarım ile yerine geçecek şekilde tasarlanmıştır. + Bu uygulama, Windows 8'den bu yana Windows'da bulunan eski metro temalı açılır pencerelerin modern bir Akıcı Tasarım ile yerine geçmesi için tasarlanmıştır. Contributors - Katkıda Bulunanlar + Katkıda bulunanlar GitHub repository @@ -239,11 +238,11 @@ Rate and Review on Microsoft Store - Microsoft Mağazasında Değerlendir ve İncele + Microsoft Store'da Değerlendir ve İncele Version : - Sürüm : + Sürüm: Language @@ -251,11 +250,11 @@ Restart required to apply language change properly - Dili düzgün değiştirmek için yeniden başlatma gerekiyor + Dili değiştirebilmek için uygulamayı yeniden başlatmanız gerekiyor System default - Sistem Varsayılanı + Sistem varsayılanı Dependencies @@ -263,27 +262,27 @@ If you find any bugs, please open a new issue in the github repository. - Herhangi bir hata bulursanız, lütfen github deposunda yeni bir sorun açın. + Herhangi bir hata bulursanız lütfen github deposunda yeni bir sorun açın. Number of sessions to show - Gösterilen oturum sayısı + Gösterilecek oturum sayısı Media sessions panel orientation - Medya oturumları panel oryantasyonu + Medya oturum panellerinin yönü Show Global System Media Transport Controls (GSMTC) aka Media controls in Volume flyout - Küresel Sistem Medya Taşıma Denetimlerini Göster (GSMTC) nam-ı diğer Medya kontrollerini Ses penceresinde göster + Küresel Sistem Medya İletim Denetimlerini (GSMTC), diğer adıyla medya kontrollerini, ses penceresinde göster Show Volume control in Global System Media Transport Controls (GSMTC) aka Media flyout - Ses kontrolünü, Küresel Sistem Medya Taşıma Kontrollerinde (GSMTC) nam-ı diğer Medya penceresinde göster + Ses kontrolünü; Küresel Sistem Medya İletim Kontrollerinde (GSMTC), diğer adıyla medya açılır penceresinde, göster Thumbnail alignment - Küçük resim hizalama + Küçük resim hizalama yönü Dark @@ -295,35 +294,35 @@ Auto-hide - Otomatik gizle + Otomatik olarak gizle Collapsed - Daraltılmış + Gizle Visible - Görünür + Göster Caps lock - Büyük harf kilidi + Caps Lock Insert - Ekle + Insert Num lock - Num kilidi + Num Lock Scroll lock - Kaydırma kilidi + Scroll Lock Select the keys you want to show the flyout for - Açılır pencerenin gözükmesini istediğiniz tuşları seçin + Açılır pencerede gözükmesini istediğiniz tuşları seçin Appearance @@ -331,19 +330,19 @@ Enable Airplane mode Flyout - Uçak modu penceresini etkinleştirin + Uçak modu Açılır Penceresini etkinleştirin Enable Audio Flyout - Ses Penceresini etkinleştirin + Ses Açılır Penceresini etkinleştirin Enable Brightness Flyout - Parlaklık Penceresini etkinleştirin + Parlaklık Açılır Penceresini etkinleştirin Enable Lock keys Flyout - Kilit tuşları Penceresini etkinleştirin + Kilit tuşları Açılır Penceresini etkinleştirin Flyout theme @@ -371,11 +370,11 @@ TopBar visibility - ÜstÇubuk görünürlüğü + Üst Çubuk görünürlüğü Show icon on system tray area - Sistem tepsisi alanında simgeyi göster + Sistem tepsisinde simge göster Off @@ -391,11 +390,11 @@ Use colored tray icon - Renkli tepsi simgesini kullan + Renkli simge kullan Reset all settings to defaults - Tüm ayarları varsayılanlara sıfırla + Tüm ayarları sıfırla Personalization @@ -403,113 +402,117 @@ Align flyout to this position - Açılır pencereyi bu konuma hizala + Açılır Pencereyi bu konuma hizala Restart required to apply some changes - Bazı değişiklikleri uygulamak için yeniden başlatmak gerekiyor + Bazı değişiklikleri uygulamak için uygulamayı yeniden başlatmanız gerekiyor Use media's thumbnail as media control's background - Use media's thumbnail as media control's background + Medya küçük resmini medya denetiminin arka planı olarak kullan Bottom - Bottom + Alt Center - Center + Orta Left - Left + Sol Right - Right + Sağ Top - Top + Üst Auto - Auto + Otomatik Down - Down + Aşağı Left - Left + Sol Right - Right + Sağ Up - Up + Yukarı Auto - Auto + Otomatik Manual - Manual + Manuel Ascending - Ascending + Yukarıya doğru Descending - Descending + Aşağıya doğru Display - Display + Ekran Select the preferred display monitor to show the flyout on - Select the preferred display monitor to show the flyout on + Açılır Pencereyi görüntülemek için tercih edilen ekran monitörünü seçin Flyout alignment - Flyout alignment + Açılır Pencere hizalaması Flyout content stacking direction - Flyout content stacking direction + Açılır Pencere içerik sıralama yönü Flyout expand direction - Flyout expand direction + Açılır Pencere genişleme yönü Flyout placement - Flyout placement + Açılır Pencere yerleşimi Placement mode - Placement mode + Yerleşim modu Horizontal alignment - Horizontal alignment + Yatay hizalama Layout - Layout + Düzen Vertical alignment - Vertical alignment + Dikey hizalama + + + Fade animation + Fade animation - \ No newline at end of file + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.uk.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.uk.xlf index 8342ffca..67064339 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.uk.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.uk.xlf @@ -12,15 +12,15 @@ Airplane mode is not available :( - Режим польоту недоступний :( + Режим "у літаку" недоступний :( Airplane mode off - Режим "у літаку" вимкнуто + Режим "у літаку" вимкнено Airplane mode on - Режим "у літаку" ввімкнуто + Режим "у літаку" увімкнено Align to default position @@ -48,7 +48,7 @@ Insert Mode - Швидке вставлення + Режим вставки {0} is off @@ -57,7 +57,7 @@ {0} is on - {0} на + {0} увімкнено E.g. Caps lock is on @@ -74,7 +74,7 @@ Restores the windows default flyout and safely quits this app - Відновлює виліт вікон за замовчуванням і безпечно виходить з цієї програми + Відновлює спливаюче меню за замовчуванням і безпечно завершує додаток More Controls @@ -98,15 +98,15 @@ Repeat: all - Повторити: всі + Повтор: все Repeat: off - Повторити: вимкнено + Повтор: вимкнено Repeat: one - Повторити: один + Повтор: один раз Shuffle: off @@ -114,7 +114,7 @@ Shuffle: on - Перемішування: на + Перемішування: увімкнено Stop @@ -122,11 +122,11 @@ Timeline Info - Відомості про часової шкали + Таймлайн Additional - Додатковий + Додатково Behavior @@ -134,15 +134,15 @@ Default Flyout - Виліт за замовчуванням + Спливаюче меню за замовчуванням Select the default flyout - Виберіть виліт за замовчуванням + Виберіть спливаюче меню за замовчуванням Choosing the Windows Default Flyout as default won't close this app. This app will still keep running in the background. Please exit this app safely to improve performance. - Вибір обльоту Windows за промовчанням не закриє цю програму. Ця програма буде як і раніше працювати у фоновому режимі. Будь ласка, закрийте цю програму безпечно, щоб підвищити продуктивність. + При виборі стокового спливаючого меню з Windows цей додаток буде працювати у фоновому режимі. Будь ласка, вийдіть безпечно з цього додатка, щоб поліпшити продуктивність. Disabled @@ -154,48 +154,47 @@ Flyout background opacity - Непрозорість тла польоту + Непрозорість спливаючого меню Flyout default position - Положення за замовчуванням вилітає (для кнопки Вирівняти) + Позиція спливаючого меню за замовчуванням (для кнопки скидання вирівнювання) Flyout TopBar - Топ-панель польоту + Верхня панель спливаючого меню Flyout modules Модулі - Airplane mode - Модуль польоту літакаМод-польоту + У літаку Audio - Модуль аудіо-польоту + Аудіо Brightness - Модуль яскравості польоту + Яскравість Lock keys - Модуль виліту lockKeys + Lock клавіші Run at startup - Запуск під час запуску + Автозапуск Settings - Настройки + Налаштування Open settings window - Відкрити вікно налаштувань + Відкрити налаштування Unpin TopBar @@ -203,7 +202,7 @@ ModernFlyouts - Сучасні флуаути + ModernFlyouts None @@ -219,15 +218,15 @@ Vertical - По вертикалі + Вертикально This app is designed to be a modern Fluent Design replacement for the old metro themed flyouts present in Windows since Windows 8. - Ця програма призначена для сучасної заміни fluent Design для старих тематичних вилітів метро, присутніх у Windows, починаючи з Windows 8. + Цей додаток розроблено для заміни старих спливаючих меню, присутніх у Windows з часів Windows 8, на сучасні. Contributors - Помічники + Співавтори GitHub repository @@ -235,11 +234,11 @@ Open a new issue - Відкриття нової проблеми + Повідомити про проблему Rate and Review on Microsoft Store - Оцінити та переглянути в Магазині Microsoft + Оцінити та переглянути в Microsoft Store Version : @@ -263,7 +262,7 @@ If you find any bugs, please open a new issue in the github repository. - Якщо ви знайшли помилки, будь ласка, відкрийте нову проблему в репозиторії github. + Якщо ви знайшли помилки, будь ласка, повідомте про них в репозиторії github. Number of sessions to show @@ -271,15 +270,15 @@ Media sessions panel orientation - Орієнтація панелі сеансів мультимедіа + Орієнтація панелі мультимедіа Show Global System Media Transport Controls (GSMTC) aka Media controls in Volume flyout - Показати глобальні елементи керування медіатранспортом (GSMTC) aka Media у виліті гучності + Показати засоби для керування медіа в спливаючому меню гучності Show Volume control in Global System Media Transport Controls (GSMTC) aka Media flyout - Показати регулятор гучності у глобальному системному елементі керування медіатранспортом (GSMTC) aka Media flyout + Показати регулятор гучності у засобах для керування медіа Thumbnail alignment @@ -287,11 +286,11 @@ Dark - Темний + Темна Light - Світло + Світла Auto-hide @@ -311,19 +310,19 @@ Insert - Вставити + Insert Num lock - Num блокування + Num lock Scroll lock - Блокування прокрутки + Scroll lock Select the keys you want to show the flyout for - Виберіть клавіші, для яких потрібно відобразити + Виберіть клавіші, для яких потрібно відображувати спливаюче меню Appearance @@ -335,23 +334,23 @@ Enable Audio Flyout - Увімкнути виліт звуку + Увімкнути модуль аудіо Enable Brightness Flyout - Увімкнути виліт яскравості + Увімкнути модуль яскравості Enable Lock keys Flyout - Увімкнути виліт клавіш блокування + Увімкнути модуль Lock клавіш Flyout theme - Тема "Виліт" + Тема спливаючого меню Flyout timeout (ms) - Час очікування виліту (мс) + Час очікування спливаючого меню (мс) Left @@ -395,7 +394,7 @@ Reset all settings to defaults - Скидання всіх настройок за замовчуванням + Скидання всіх налаштувань за замовчуванням Personalization @@ -403,15 +402,15 @@ Align flyout to this position - Вирівняти виліт до цієї позиції + Вирівняти позицію спливаючого меню Restart required to apply some changes - Перезавантаження, необхідне для застосування деяких змін + Перезавантаження, необхідне для застосування деяких зроблених змін Use media's thumbnail as media control's background - Use media's thumbnail as media control's background + Використовувати обкладинку медіа як фон меню керування медіа Bottom @@ -435,79 +434,83 @@ Auto - Auto + Авто Down - Down + Вниз Left - Left + Вліво Right - Right + Вправо Up - Up + Вверх Auto - Auto + Авто Manual - Manual + Вручну Ascending - Ascending + По зростанню Descending - Descending + По спаданню Display - Display + Монітор Select the preferred display monitor to show the flyout on - Select the preferred display monitor to show the flyout on + Виберіть бажаний монітор, на якому відображатиметься спливаюче меню Flyout alignment - Flyout alignment + Вирівнювання спливаючого меню Flyout content stacking direction - Flyout content stacking direction + Порядок укладки контенту в спливаючому меню Flyout expand direction - Flyout expand direction + Напрямок появлення спливаючого меню Flyout placement - Flyout placement + Розміщення Placement mode - Placement mode + Режим розміщення Horizontal alignment - Horizontal alignment + Горизонтальне вирівнювання Layout - Layout + Макет Vertical alignment - Vertical alignment + Вертикальне вирівнювання + + + Fade animation + Fade animation diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.vi.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.vi.xlf index bc894137..241da136 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.vi.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.vi.xlf @@ -167,7 +167,6 @@ Flyout modules Mô đun - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment Vertical alignment + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-CN.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-CN.xlf index 5599ca02..df790a17 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-CN.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-CN.xlf @@ -167,7 +167,6 @@ Flyout modules 浮出控件模块 - Airplane mode @@ -509,6 +508,10 @@ Vertical alignment 垂直对齐 + + Fade animation + Fade animation + diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-Hans.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-Hans.xlf new file mode 100644 index 00000000..48e5258d --- /dev/null +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-Hans.xlf @@ -0,0 +1,518 @@ + + + +
+ +
+ + + + About + 关于 + + + Airplane mode is not available :( + 设备不支持飞行模式 :( + + + Airplane mode off + 飞行模式已关闭 + + + Airplane mode on + 飞行模式已启用 + + + Align to default position + 移动到默认位置 + + + No Connected Audio Devices + 没有已连接的音频设备 + + + Close + 关闭 + + + Exit + 退出 + + + Exit the app safely + 安全退出应用 + + + General + 常规 + + + Insert Mode + 插入模式 + + + {0} is off + {0} 已关闭 + E.g. Caps lock is off + + + {0} is on + {0} 已打开 + E.g. Caps lock is on + + + Overtype Mode + 覆写模式 + + + Pin TopBar + 固定顶栏 + + + Restore legacy flyout + 还原默认浮出控件 + + + Restores the windows default flyout and safely quits this app + 还原 Windows 的默认浮出控件并安全退出此应用程序 + + + More Controls + 更多控件 + + + Next + 下一曲 + + + Pause + 暂停 + + + Play + 播放 + + + Previous + 上一曲 + + + Repeat: all + 循环:全部循环 + + + Repeat: off + 循环:关闭 + + + Repeat: one + 循环:单曲循环 + + + Shuffle: off + 随机播放:关闭 + + + Shuffle: on + 随机播放:打开 + + + Stop + 停止 + + + Timeline Info + 时间线信息 + + + Additional + 附加项 + + + Behavior + 行为 + + + Default Flyout + 默认浮出控件 + + + Select the default flyout + 选择默认的浮出控件 + + + Choosing the Windows Default Flyout as default won't close this app. This app will still keep running in the background. Please exit this app safely to improve performance. + 选择 Windows 默认浮出控件不会关闭此应用。此应用程序仍将在后台继续运行。请安全地退出此应用程序以提高性能。 + + + Disabled + 已禁用 + + + Enabled + 已启用 + + + Flyout background opacity + 浮出控件背景不透明度 + + + Flyout default position + 浮出控件默认位置(用于恢复默认位置按钮) + + + Flyout TopBar + 浮出控件顶栏 + + + Flyout modules + 浮出控件模块 + + + Airplane mode + 飞行模式浮出控件模块 + + + Audio + 音频浮出控件模块 + + + Brightness + 亮度浮出控件模块 + + + Lock keys + 锁定键浮出控件模块 + + + Run at startup + 开机时运行 + + + Settings + 设置 + + + Open settings window + 打开设置窗口 + + + Unpin TopBar + 取消固定顶栏 + + + ModernFlyouts + ModernFlyouts + + + None + + + + Windows default + Windows 默认 + + + Horizontal + 水平 + + + Vertical + 垂直 + + + This app is designed to be a modern Fluent Design replacement for the old metro themed flyouts present in Windows since Windows 8. + 该程序用于将旧的 Windows 8 Metro 风格浮出控件覆盖为 Fluent Design 风格浮出控件。 + + + Contributors + 贡献者 + + + GitHub repository + GitHub 仓库 + + + Open a new issue + 创建新 Issue + + + Rate and Review on Microsoft Store + 去 Microsoft Store 评分并发送评价 + + + Version : + 版本: + + + Language + 语言 + + + Restart required to apply language change properly + 请重新启动应用程序,以便完整更改语言 + + + System default + 系统默认 + + + Dependencies + 依赖项 + + + If you find any bugs, please open a new issue in the github repository. + 如果发现任何 bug,请在 GitHub 仓库中创建一个新 Issue。 + + + Number of sessions to show + 显示的会话数 + + + Media sessions panel orientation + 媒体面板方向 + + + Show Global System Media Transport Controls (GSMTC) aka Media controls in Volume flyout + 在音量浮出控件中显示系统全局媒体传输 / 媒体控制 + + + Show Volume control in Global System Media Transport Controls (GSMTC) aka Media flyout + 在媒体浮出控件中显示音量控制 + + + Thumbnail alignment + 缩略图对齐方向 + + + Dark + 深色 + + + Light + 浅色 + + + Auto-hide + 自动隐藏 + + + Collapsed + 折叠 + + + Visible + 可见 + + + Caps lock + 大写锁定 + + + Insert + 插入 + + + Num lock + 数字锁定 + + + Scroll lock + 滚动锁定 + + + Select the keys you want to show the flyout for + 选择要显示的浮出控件 + + + Appearance + 外观 + + + Enable Airplane mode Flyout + 启用飞行模式浮出控件 + + + Enable Audio Flyout + 启用音频浮出控件 + + + Enable Brightness Flyout + 启用亮度浮出控件 + + + Enable Lock keys Flyout + 启用锁定键浮出控件 + + + Flyout theme + 浮出控件主题 + + + Flyout timeout (ms) + 浮出控件超时(毫秒 / ms) + + + Left + 左侧 + + + Media + 媒体 + + + Volume + 音量 + + + Right + 右侧 + + + TopBar visibility + 顶栏可见性 + + + Show icon on system tray area + 在系统托盘显示图标 + + + Off + 关闭 + + + On + 打开 + + + App Theme + 应用主题 + + + Use colored tray icon + 使用彩色托盘图标 + + + Reset all settings to defaults + 将所有设置重置为默认值 + + + Personalization + 个性化 + + + Align flyout to this position + 将浮出控件对齐到此位置 + + + Restart required to apply some changes + 重新启动以应用某些更改 + + + Use media's thumbnail as media control's background + 使用缩略图作为控件的背景图片 + + + Bottom + 底部 + + + Center + 中央 + + + Left + 左侧 + + + Right + 右侧 + + + Top + 顶部 + + + Auto + 自动 + + + Down + 向下 + + + Left + 向左 + + + Right + 向右 + + + Up + 向上 + + + Auto + 自动 + + + Manual + 手动 + + + Ascending + 升序 + + + Descending + 降序 + + + Display + 显示 + + + Select the preferred display monitor to show the flyout on + 选择显示浮出控件的显示器 + + + Flyout alignment + 浮出控件对齐方式 + + + Flyout content stacking direction + 浮出控件内容堆叠方向 + + + Flyout expand direction + 浮出控件展开方向 + + + Flyout placement + 浮出控件展现 + + + Placement mode + 展现模式 + + + Horizontal alignment + 水平对齐 + + + Layout + 布局 + + + Vertical alignment + 垂直对齐 + + + Fade animation + Fade animation + + + +
+
\ No newline at end of file diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-Hant.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-Hant.xlf new file mode 100644 index 00000000..e9e3dc84 --- /dev/null +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-Hant.xlf @@ -0,0 +1,518 @@ + + + +
+ +
+ + + + About + 關於 + + + This app is designed to be a modern Fluent Design replacement for the old metro themed flyouts present in Windows since Windows 8. + 這款應用程式是為了以現代的 Fluent Design,取代自 Windows 8 以來存在於 Windows 中的舊式 Metro 浮動視窗而設計的。 + + + Contributors + 貢獻者 + + + Dependencies + 依賴 + + + If you find any bugs, please open a new issue in the github repository. + 如果你發現任何 bug,請在 Github 儲存庫中開啟一個新問題回報(英文)。 + + + GitHub repository + GitHub 儲存庫 + + + Open a new issue + 開啟新問題回報 + + + Rate and Review on Microsoft Store + 在 Microsoft Store 上評分並評論 + + + Version : + 版本 : + + + Airplane mode is not available :( + 飛航模式不可用 :( + + + Airplane mode off + 飛航模式關閉 + + + Airplane mode on + 飛航模式開啟 + + + Align to default position + 調整至預設位置 + + + Number of sessions to show + 將顯示的工作階段數目 + + + No Connected Audio Devices + 無已連結音訊裝置 + + + Media sessions panel orientation + 媒體工作階段面板方向 + + + Show Global System Media Transport Controls (GSMTC) aka Media controls in Volume flyout + 通過媒體控制,在音量浮動視窗中顯示全域性系統媒體傳輸控制 (GSMTC) + + + Show Volume control in Global System Media Transport Controls (GSMTC) aka Media flyout + 通過媒體控制,在媒體浮動視窗中顯示全域性系統媒體傳輸控制 (GSMTC) + + + Thumbnail alignment + 縮略圖對齊 + + + Close + 關閉 + + + ModernFlyouts + ModernFlyouts + + + None + + + + Windows default + Windows 預設 + + + Dark + 深色 + + + Light + 淺色 + + + Horizontal + 水平 + + + Vertical + 垂直 + + + Auto-hide + 自動隱藏 + + + Collapsed + 摺疊 + + + Visible + 可見 + + + Exit + 退出 + + + Exit the app safely + 安全退出應用程式 + + + General + 一般 + + + Caps lock + 大寫鎖定 + + + Insert + 插入 + + + Insert Mode + 插入模式 + + + {0} is off + {0} 已關閉 + E.g. Caps lock is off + + + {0} is on + {0} 已開啟 + E.g. Caps lock is on + + + Num lock + 數字鎖定 + + + Overtype Mode + 覆蓋寫入模式 + + + Scroll lock + 滾動鎖定 + + + Select the keys you want to show the flyout for + 選擇將顯示浮動視窗的按鍵 + + + Pin TopBar + 鎖定頂部列 + + + Restore legacy flyout + 恢復原始浮動視窗 + + + Restores the windows default flyout and safely quits this app + 恢復 Windows 預設浮動視窗並安全退出此應用程式 + + + More Controls + 更多控制元件 + + + Next + 下一曲 + + + Pause + 暫停 + + + Play + 播放 + + + Previous + 上一曲 + + + Repeat: all + 重複: 全部 + + + Repeat: off + 重複: 關閉 + + + Repeat: one + 重複: 單曲 + + + Shuffle: off + 隨機: 關閉 + + + Shuffle: on + 隨機: 開啟 + + + Stop + 停止 + + + Timeline Info + 時間軸資訊 + + + Additional + 附加 + + + Appearance + 外觀 + + + Behavior + 行為 + + + Default Flyout + 預設浮動視窗 + + + Select the default flyout + 選擇預設浮動視窗 + + + Choosing the Windows Default Flyout as default won't close this app. This app will still keep running in the background. Please exit this app safely to improve performance. + 選擇 Windows 預設浮動視窗為預設並不會關閉這個應用程式。該應用程式仍將在背景繼續運作。請安全退出此應用程式以提高效能。 + + + Disabled + 禁用 + + + Enabled + 啟用 + + + Enable Airplane mode Flyout + 開啟飛航模式浮動視窗 + + + Enable Audio Flyout + 開啟音訊浮動視窗 + + + Enable Brightness Flyout + 開啟亮度浮動視窗 + + + Enable Lock keys Flyout + 開啟鎖定鍵浮動視窗 + + + Flyout background opacity + 浮動視窗背景不透明度 + + + Flyout default position + 浮動視窗預設位置 + + + Flyout theme + 浮動視窗主題 + + + Flyout timeout (ms) + 浮動視窗逾時 (ms) + + + Flyout TopBar + 浮動視窗頂部列 + + + Language + 語言 + + + Restart required to apply language change properly + 重新啟動以套用語言變更 + + + Left + 左側 + + + Flyout modules + 浮動視窗模組 + + + Airplane mode + 飛航模式 + + + Audio + 音訊 + + + Media + 媒體 + + + Volume + 音量 + + + Brightness + 亮度 + + + Lock keys + 鎖定鍵 + + + Right + 右側 + + + Run at startup + 開機啟動 + + + System default + 系統預設 + + + TopBar visibility + 頂部列可見性 + + + Show icon on system tray area + 在系統工作列顯示圖示 + + + Settings + 設定 + + + Open settings window + 開啟設定視窗 + + + Unpin TopBar + 解鎖頂部列 + + + Off + 語法錯誤 + + + On + 開啟 + + + App Theme + 程式主題 + + + Use colored tray icon + 使用著色工作列圖示 + + + Reset all settings to defaults + 重置所有設定至預設值 + + + Personalization + 個人化 + + + Align flyout to this position + 調整浮動視窗至此位置 + + + Restart required to apply some changes + 需要重新啟動以套用某些變更 + + + Use media's thumbnail as media control's background + 使用媒體縮略圖作為媒體控制的背景 + + + Bottom + 底部 + + + Center + 中心 + + + Left + 左側 + + + Right + 右側 + + + Top + 頂部 + + + Auto + 自動 + + + Down + 向下 + + + Left + 向左 + + + Right + 向右 + + + Up + 向上 + + + Auto + 自動 + + + Manual + 手動 + + + Ascending + 升序 + + + Descending + 降序 + + + Display + 顯示 + + + Select the preferred display monitor to show the flyout on + 選取優先顯示浮動視窗的顯示器 + + + Flyout alignment + 浮動視窗對齊 + + + Flyout content stacking direction + 浮動視窗內容堆疊方向 + + + Flyout expand direction + 浮動視窗拓展方向 + + + Flyout placement + 浮動視窗布局 + + + Placement mode + 布局模式 + + + Horizontal alignment + 水平對齊 + + + Layout + 版面配置 + + + Vertical alignment + 垂直對齊 + + + Fade animation + Fade animation + + + +
+
\ No newline at end of file diff --git a/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-TW.xlf b/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-TW.xlf index da95135d..ea4b5e0a 100644 --- a/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-TW.xlf +++ b/ModernFlyouts/MultilingualResources/ModernFlyouts.zh-TW.xlf @@ -508,6 +508,10 @@ Vertical alignment 垂直對齊 + + Fade animation + Fade animation + diff --git a/ModernFlyouts/Navigation/AboutPage.xaml.cs b/ModernFlyouts/Navigation/AboutPage.xaml.cs index 05132dec..188f39ff 100644 --- a/ModernFlyouts/Navigation/AboutPage.xaml.cs +++ b/ModernFlyouts/Navigation/AboutPage.xaml.cs @@ -1,6 +1,5 @@ using System.Diagnostics; using System.Windows.Controls; -using Windows.ApplicationModel; namespace ModernFlyouts.Navigation { @@ -16,12 +15,9 @@ private void RateAndReviewButton_Click(object sender, System.Windows.RoutedEvent var psi = new ProcessStartInfo() { FileName = "ms-windows-store://review/?ProductId=9mt60qv066rp", - //+ Package.Current.Id.FamilyName, UseShellExecute = true }; Process.Start(psi); } } } - -//bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store://review/?ProductId=9mt60qv066rp")); \ No newline at end of file diff --git a/ModernFlyouts/Navigation/PersonalizationPage.xaml b/ModernFlyouts/Navigation/PersonalizationPage.xaml index 04d75c16..eee523c8 100644 --- a/ModernFlyouts/Navigation/PersonalizationPage.xaml +++ b/ModernFlyouts/Navigation/PersonalizationPage.xaml @@ -48,6 +48,10 @@ OffContent="{x:Static resx:Strings.Settings_Off}" Visibility="{Binding UIManager.TrayIconEnabled, Converter={StaticResource BooleanToVisibilityConverter}}" /> + diff --git a/ModernFlyouts/Program.cs b/ModernFlyouts/Program.cs index 2cff1b55..1802277d 100644 --- a/ModernFlyouts/Program.cs +++ b/ModernFlyouts/Program.cs @@ -2,7 +2,6 @@ using ModernFlyouts.Core.Interop; using ModernFlyouts.Helpers; using System; -using System.Diagnostics; using System.Reflection; using System.Threading; @@ -11,17 +10,15 @@ namespace ModernFlyouts public class Program { public const string AppName = "ModernFlyouts"; - public const string AppLauncherName = "ModernFlyoutsLauncher"; + public const string AppHostName = "ModernFlyoutsHost"; [STAThread] private static void Main(string[] args) { - Thread thread = new Thread(() => { + Thread thread = new(() => { AppLifecycleManager.StartApplication(args, () => { -#if DEBUG - Debugger.Launch(); -#elif RELEASE +#if RELEASE Microsoft.AppCenter.AppCenter.Start("26393d67-ab03-4e26-a6db-aa76bf989c21", typeof(Microsoft.AppCenter.Analytics.Analytics), typeof(Microsoft.AppCenter.Crashes.Crashes)); #endif diff --git a/ModernFlyouts/Properties/PublishProfiles/FolderProfile-arm64.pubxml b/ModernFlyouts/Properties/PublishProfiles/FolderProfile-arm64.pubxml deleted file mode 100644 index fc0fd194..00000000 --- a/ModernFlyouts/Properties/PublishProfiles/FolderProfile-arm64.pubxml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - Release - arm64 - bin\Release\net6.0-windows10.0.19041.0\publish\ - FileSystem - net6.0-windows10.0.19041.0 - win10-arm64 - true - False - False - False - - \ No newline at end of file diff --git a/ModernFlyouts/Properties/PublishProfiles/FolderProfile-ARM64.pubxml b/ModernFlyouts/Properties/PublishProfiles/win10-arm64.pubxml similarity index 100% rename from ModernFlyouts/Properties/PublishProfiles/FolderProfile-ARM64.pubxml rename to ModernFlyouts/Properties/PublishProfiles/win10-arm64.pubxml diff --git a/ModernFlyouts/Properties/PublishProfiles/FolderProfile-x64.pubxml b/ModernFlyouts/Properties/PublishProfiles/win10-x64.pubxml similarity index 100% rename from ModernFlyouts/Properties/PublishProfiles/FolderProfile-x64.pubxml rename to ModernFlyouts/Properties/PublishProfiles/win10-x64.pubxml diff --git a/ModernFlyouts/Properties/PublishProfiles/FolderProfile-x86.pubxml b/ModernFlyouts/Properties/PublishProfiles/win10-x86.pubxml similarity index 100% rename from ModernFlyouts/Properties/PublishProfiles/FolderProfile-x86.pubxml rename to ModernFlyouts/Properties/PublishProfiles/win10-x86.pubxml diff --git a/ModernFlyouts/Properties/Strings.Designer.cs b/ModernFlyouts/Properties/Strings.Designer.cs index fc446d0c..72cf0f3c 100644 --- a/ModernFlyouts/Properties/Strings.Designer.cs +++ b/ModernFlyouts/Properties/Strings.Designer.cs @@ -1158,6 +1158,15 @@ public static string Settings_VerticalAlignment { } } + /// + /// Looks up a localized string similar to Fade animation. + /// + public static string Settings_FlyoutAnimationEnabled { + get { + return ResourceManager.GetString("Settings.FlyoutAnimationEnabled", resourceCulture); + } + } + /// /// Looks up a localized string similar to Settings. /// diff --git a/ModernFlyouts/Properties/Strings.da-DK.resx b/ModernFlyouts/Properties/Strings.da-DK.resx new file mode 100644 index 00000000..7a143d7a --- /dev/null +++ b/ModernFlyouts/Properties/Strings.da-DK.resx @@ -0,0 +1,317 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Om + + + Flytilstand er ikke tilgængelig :( + + + Flytilstand fra + + + Flytilstand til + + + Justér til standardposition + + + Ingen forbundne lydenheder + + + Luk + + + Afslut + + + Afslut appen sikkert + + + Generelt + + + Indsæt-tilstand + + + {0} er fra + E.g. Caps lock is off + + + {0} er til + E.g. Caps lock is on + + + Overskriv-tilstand + + + Fastgør topbjælken + + + Genopret standard-flyout + + + Genopretter Windows standard-flyouten og afslutter appen sikkert + + + Flere kontrolelementer + + + Næste + + + Pause + + + Afspil + + + Forrige + + + Gentag: alle + + + Gentag: fra + + + Gentag: enkelt + + + Bland: fra + + + Bland: til + + + Stop + + + Tidslinje-info + + + Yderligere + + + Adfærd + + + Standard Flyout + + + Vælg standard-flyout + + + At vælge default-flyoutet lukker ikke denne app. Den vil fortsætte med at køre i baggrunden. Afslut venligst appen sikkert for at forbedre ydeevnen. + + + Deaktiveret + + + Aktiveret + + + Flyout baggrunds-gennemsigtighed + + + Flyout standardposition + + + Flyout topbjælke + + + Flyout moduler + + + Flytilstand + + + Lyd + + + Lysstyrke + + + Låsetaster + + + Kør ved opstart + + + Indstillinger + + + Åbn indstillinger + + + Frigør topbjælke + + + ModernFlyouts + + + Ingen + + + Windows-standard + + + Vandret + + + Lodret + + + Denne app er designet til at være en moderne Fluent Design-erstatning af de gamle Metro-flyouts som har eksisteret siden Windows 8. + + + Bidragsydere + + + GitHub repository + + + Åbn et nyt emne + + + Bedøm og anmeld på Microsoft Store + + + Version: + + + Sprog + + + En genstart er påkrævet for at ændre sproget + + + Systemstandard + + + Afhængigheder + + + Hvis du finder en fejl, så åbn venligst et nyt issue på GitHub repositoriet. + + + Antal sessioner at vise + + + Orientering af sessions-panelet + + + Vis Global System Media Transport Controls (GSMTC) eller medie-kontrolelementer i lydstyrke-flyoutet + + + Vis lydstyrke-kontrol i Global System Media Transport Controls (GSMTC) eller medie-flyoutet + + + Miniature justering + + + Mørk + + + Lys + + + Skjul automatisk + + + Kollapset + + + Synlig + + + Caps lock + + + Insert + + + Mum lock + + + Scroll lock + + + Vælg hvilke taster du vil vise flyoutet for + + + Udseende + + + Aktiver flytilstand-flyout + + + Aktiver lyd-flyout + + + Aktiver lysstyrke-flyout + + + Aktiver låsetaster-flyout + + + Flyout-tema + + + Flyout forsinkelse (ms) + + + Venstre + + + Medie + + + Lydstyrke + + + Højre + + + Topbjælke synlighed + + + Vis ikon på proceslinjen + + + Fra + + + Til + + + App-tema + + + Brug farvet proces-ikon + + + Gendan standard-indstillinger + + + Personalisering + + + Juster flyout til denne position + + + Genstart påkrævet for at anvende nogle indstillinger + + \ No newline at end of file diff --git a/ModernFlyouts/Properties/Strings.el.resx b/ModernFlyouts/Properties/Strings.el.resx index f4b5df95..56335e9e 100644 --- a/ModernFlyouts/Properties/Strings.el.resx +++ b/ModernFlyouts/Properties/Strings.el.resx @@ -243,7 +243,7 @@ Insert - Num Lock (Κλέιδωμα πλήκτρου Num) + Num Lock Scroll Lock (Κλείδωμα κύλισης) diff --git a/ModernFlyouts/Properties/Strings.en-GB.resx b/ModernFlyouts/Properties/Strings.en-GB.resx index 7d5c5f30..20da3a59 100644 --- a/ModernFlyouts/Properties/Strings.en-GB.resx +++ b/ModernFlyouts/Properties/Strings.en-GB.resx @@ -1,110 +1,5 @@  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx @@ -112,10 +7,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 About diff --git a/ModernFlyouts/Properties/Strings.resx b/ModernFlyouts/Properties/Strings.resx index e021c0c6..72b9e86b 100644 --- a/ModernFlyouts/Properties/Strings.resx +++ b/ModernFlyouts/Properties/Strings.resx @@ -404,6 +404,9 @@ Use colored tray icon + + Fade animation + Settings diff --git a/ModernFlyouts/Properties/Strings.ru.resx b/ModernFlyouts/Properties/Strings.ru.resx index 89358e0f..947597d8 100644 --- a/ModernFlyouts/Properties/Strings.ru.resx +++ b/ModernFlyouts/Properties/Strings.ru.resx @@ -127,10 +127,10 @@ Непрозрачность всплывающего окна - Позиция Flyout по умолчанию (для кнопки сброса выравнивания) + Позиция по умолчанию - Верхняя панель Flyout + Заголовок всплывающего окна Модули @@ -145,7 +145,7 @@ Яркость - Клавиши блокировки (Num Lock и т.д.) + Клавиши блокировки Автозагрузка @@ -157,7 +157,7 @@ Открыть настройки - Открепить верхнюю панель + Открепить заголовок ModernFlyouts @@ -166,7 +166,7 @@ Нет - Windows по умолчанию + Стандартные Windows По горизонтали @@ -199,7 +199,7 @@ Пожалуйста, перезапустите приложение, чтобы изменить язык должным образом - Системный по умолчанию + Как в системе Зависимости @@ -304,15 +304,15 @@ Использовать цветной значок в трее - Сброс всех настроек по умолчанию + Сбросить настройки Персонализация - Выровнять позицию всплывающего окна + Выровнять положение к этой точке - Перезагрузка необходима чтоб применить некоторые изменения. + Перезагрузка необходима для применения некоторых изменений. \ No newline at end of file diff --git a/ModernFlyouts/Properties/Strings.tr.resx b/ModernFlyouts/Properties/Strings.tr.resx index 80679977..01d9620d 100644 --- a/ModernFlyouts/Properties/Strings.tr.resx +++ b/ModernFlyouts/Properties/Strings.tr.resx @@ -16,7 +16,7 @@ Hakkında - Uçak Modu kullanılamıyor :( + Uçak modu kullanılamıyor :( Uçak modu kapalı @@ -28,7 +28,7 @@ Varsayılan konuma hizala - Bağlı Ses Cihazı Yok + Bağlı Ses Aygıtı Yok Kapat @@ -37,13 +37,13 @@ Çıkış - Uygulamadan güvenli bir şekilde çık + Uygulamadan güvenli olarak çık Genel - Araya Ekleme Modu + Insert Modu {0} kapalı @@ -57,16 +57,16 @@ Üzerine Yazma Modu - ÜstÇubuğu Sabitle + Üst Çubuğu sabitle - Varsayılanı Geri Yükle + Varsayılan Açılır Pencereleri geri yükle - Windows varsayılan açılır penceresini geri yükler ve bu uygulamadan güvenli bir şekilde çıkar + Windows varsayılan açılır penceresini geri yükler ve bu uygulamadan güvenli olarak çıkar - Diğer Denetimler + Daha Fazla Denetim Sonraki @@ -81,28 +81,28 @@ Önceki - Tekrarla: tümü + Yinele: tümü - Tekrarla: kapalı + Yinele: kapalı - Tekrarla: tek + Yinele: biri - Rastgele çal: kapalı + Karıştır: kapalı - Rastgele çal: açık + Karıştır: açık Durdur - Zaman Tüneli Bilgileri + Zaman Çubuğu Bilgileri - Ek + Diğer Davranış @@ -111,10 +111,10 @@ Varsayılan Açılır Pencere - Varsayılan açılır pencere seçeneğini seçin + Varsayılan açılır pencereyi seçin - Varsayılan olarak Windows Varsayılan Açılır Penceresini seçmek bu uygulamayı kapatmaz. Bu uygulama arka planda çalışmaya devam edecektir. Performansı artırmak için lütfen bu uygulamadan güvenli bir şekilde çıkın. + Varsayılan olarak Windows Açılır Penceresini seçmek bu uygulamayı kapatmaz. Bu uygulama arka planda çalışmaya devam edecektir. Performansı artırmak için lütfen bu uygulamadan güvenli olarak çıkın. Devre dışı @@ -123,13 +123,13 @@ Etkin - Açılır Pencere Arka Plan Saydamlığı + Açılır Pencere arka plan opaklığı - Açılır Pencere Varsayılan Konumu (Hizala düğmesi için) + Açılır Pencere varsayılan konumu - Açılır Pencere ÜstÇubuğu + Açılır Pencere Üst Çubuğu Açılır Pencere Modülleri @@ -147,7 +147,7 @@ Kilit tuşları - Başlangıçta çalıştırın + Başlangıçta çalıştır Ayarlar @@ -156,13 +156,13 @@ Ayarlar penceresini aç - ÜstÇubuk sabitlemesini kaldır + Üst Çubuk sabitlemesini kaldır - ModernAçılırPencereler + ModernFlyouts - Yok + Hiçbiri Windows varsayılanı @@ -174,10 +174,10 @@ Dikey - Bu uygulama, Windows 8'den bu yana Windows'da bulunan eski metro temalı açılır pencerelerin modern bir Akıcı Tasarım ile yerine geçecek şekilde tasarlanmıştır. + Bu uygulama, Windows 8'den bu yana Windows'da bulunan eski metro temalı açılır pencerelerin modern bir Akıcı Tasarım ile yerine geçmesi için tasarlanmıştır. - Katkıda Bulunanlar + Katkıda bulunanlar GitHub deposu @@ -186,40 +186,40 @@ Yeni bir sorun aç - Microsoft Mağazasında Değerlendir ve İncele + Microsoft Store'da Değerlendir ve İncele - Sürüm : + Sürüm: Dil - Dili düzgün değiştirmek için yeniden başlatma gerekiyor + Dili değiştirebilmek için uygulamayı yeniden başlatmanız gerekiyor - Sistem Varsayılanı + Sistem varsayılanı Bağlılıklar - Herhangi bir hata bulursanız, lütfen github deposunda yeni bir sorun açın. + Herhangi bir hata bulursanız lütfen github deposunda yeni bir sorun açın. - Gösterilen oturum sayısı + Gösterilecek oturum sayısı - Medya oturumları panel oryantasyonu + Medya oturum panellerinin yönü - Küresel Sistem Medya Taşıma Denetimlerini Göster (GSMTC) nam-ı diğer Medya kontrollerini Ses penceresinde göster + Küresel Sistem Medya İletim Denetimlerini (GSMTC), diğer adıyla medya kontrollerini, ses penceresinde göster - Ses kontrolünü, Küresel Sistem Medya Taşıma Kontrollerinde (GSMTC) nam-ı diğer Medya penceresinde göster + Ses kontrolünü; Küresel Sistem Medya İletim Kontrollerinde (GSMTC), diğer adıyla medya açılır penceresinde, göster - Küçük resim hizalama + Küçük resim hizalama yönü Koyu @@ -228,43 +228,43 @@ Açık - Otomatik gizle + Otomatik olarak gizle - Daraltılmış + Gizle - Görünür + Göster - Büyük harf kilidi + Caps Lock - Ekle + Insert - Num kilidi + Num Lock - Kaydırma kilidi + Scroll Lock - Açılır pencerenin gözükmesini istediğiniz tuşları seçin + Açılır pencerede gözükmesini istediğiniz tuşları seçin Görünüm - Uçak modu penceresini etkinleştirin + Uçak modu Açılır Penceresini etkinleştirin - Ses Penceresini etkinleştirin + Ses Açılır Penceresini etkinleştirin - Parlaklık Penceresini etkinleştirin + Parlaklık Açılır Penceresini etkinleştirin - Kilit tuşları Penceresini etkinleştirin + Kilit tuşları Açılır Penceresini etkinleştirin Açılır Pencere teması @@ -285,10 +285,10 @@ Sağ - ÜstÇubuk görünürlüğü + Üst Çubuk görünürlüğü - Sistem tepsisi alanında simgeyi göster + Sistem tepsisinde simge göster Kapalı @@ -300,18 +300,93 @@ Uygulama Teması - Renkli tepsi simgesini kullan + Renkli simge kullan - Tüm ayarları varsayılanlara sıfırla + Tüm ayarları sıfırla Kişiselleştirme - Açılır pencereyi bu konuma hizala + Açılır Pencereyi bu konuma hizala - Bazı değişiklikleri uygulamak için yeniden başlatmak gerekiyor + Bazı değişiklikleri uygulamak için uygulamayı yeniden başlatmanız gerekiyor + + + Medya küçük resmini medya denetiminin arka planı olarak kullan + + + Alt + + + Orta + + + Sol + + + Sağ + + + Üst + + + Otomatik + + + Aşağı + + + Sol + + + Sağ + + + Yukarı + + + Otomatik + + + Manuel + + + Yukarıya doğru + + + Aşağıya doğru + + + Ekran + + + Açılır Pencereyi görüntülemek için tercih edilen ekran monitörünü seçin + + + Açılır Pencere hizalaması + + + Açılır Pencere içerik sıralama yönü + + + Açılır Pencere genişleme yönü + + + Açılır Pencere yerleşimi + + + Yerleşim modu + + + Yatay hizalama + + + Düzen + + + Dikey hizalama \ No newline at end of file diff --git a/ModernFlyouts/Properties/Strings.uk.resx b/ModernFlyouts/Properties/Strings.uk.resx index 4b639b23..66f54ce4 100644 --- a/ModernFlyouts/Properties/Strings.uk.resx +++ b/ModernFlyouts/Properties/Strings.uk.resx @@ -16,13 +16,13 @@ Про програму - Режим польоту недоступний :( + Режим "у літаку" недоступний :( - Режим "у літаку" вимкнуто + Режим "у літаку" вимкнено - Режим "у літаку" ввімкнуто + Режим "у літаку" увімкнено Вирівняти за типовою позицією @@ -43,14 +43,14 @@ Загальні - Швидке вставлення + Режим вставки {0} вимкнено E.g. Caps lock is off - {0} на + {0} увімкнено E.g. Caps lock is on @@ -63,7 +63,7 @@ Відновити значення за замовчуванням - Відновлює виліт вікон за замовчуванням і безпечно виходить з цієї програми + Відновлює спливаюче меню за замовчуванням і безпечно завершує додаток Інші елементи керування @@ -81,40 +81,40 @@ Назад - Повторити: всі + Повтор: все - Повторити: вимкнено + Повтор: вимкнено - Повторити: один + Повтор: один раз Перемішування: вимкнено - Перемішування: на + Перемішування: увімкнено Зупинити - Відомості про часової шкали + Таймлайн - Додатковий + Додатково Поведінка - Виліт за замовчуванням + Спливаюче меню за замовчуванням - Виберіть виліт за замовчуванням + Виберіть спливаюче меню за замовчуванням - Вибір обльоту Windows за промовчанням не закриє цю програму. Ця програма буде як і раніше працювати у фоновому режимі. Будь ласка, закрийте цю програму безпечно, щоб підвищити продуктивність. + При виборі стокового спливаючого меню з Windows цей додаток буде працювати у фоновому режимі. Будь ласка, вийдіть безпечно з цього додатка, щоб поліпшити продуктивність. Вимкнено @@ -123,43 +123,43 @@ Увімкнуто - Непрозорість тла польоту + Непрозорість спливаючого меню - Положення за замовчуванням вилітає (для кнопки Вирівняти) + Позиція спливаючого меню за замовчуванням (для кнопки скидання вирівнювання) - Топ-панель польоту + Верхня панель спливаючого меню Модулі - Модуль польоту літакаМод-польоту + У літаку - Модуль аудіо-польоту + Аудіо - Модуль яскравості польоту + Яскравість - Модуль виліту lockKeys + Lock клавіші - Запуск під час запуску + Автозапуск - Настройки + Налаштування - Відкрити вікно налаштувань + Відкрити налаштування Відкріпити верхню панель - Сучасні флуаути + ModernFlyouts Немає @@ -171,22 +171,22 @@ Горизонтально - По вертикалі + Вертикально - Ця програма призначена для сучасної заміни fluent Design для старих тематичних вилітів метро, присутніх у Windows, починаючи з Windows 8. + Цей додаток розроблено для заміни старих спливаючих меню, присутніх у Windows з часів Windows 8, на сучасні. - Помічники + Співавтори Репозиторій GitHub - Відкриття нової проблеми + Повідомити про проблему - Оцінити та переглянути в Магазині Microsoft + Оцінити та переглянути в Microsoft Store Версія: @@ -204,28 +204,28 @@ Залежності - Якщо ви знайшли помилки, будь ласка, відкрийте нову проблему в репозиторії github. + Якщо ви знайшли помилки, будь ласка, повідомте про них в репозиторії github. Кількість сеансів для відображення - Орієнтація панелі сеансів мультимедіа + Орієнтація панелі мультимедіа - Показати глобальні елементи керування медіатранспортом (GSMTC) aka Media у виліті гучності + Показати засоби для керування медіа в спливаючому меню гучності - Показати регулятор гучності у глобальному системному елементі керування медіатранспортом (GSMTC) aka Media flyout + Показати регулятор гучності у засобах для керування медіа Вирівнювання мініатюр - Темний + Темна - Світло + Світла Автоматично приховувати @@ -240,16 +240,16 @@ Caps lock - Вставити + Insert - Num блокування + Num lock - Блокування прокрутки + Scroll lock - Виберіть клавіші, для яких потрібно відобразити + Виберіть клавіші, для яких потрібно відображувати спливаюче меню Оформлення @@ -258,19 +258,19 @@ Увімкнути виліт режиму польоту в режимі польоту - Увімкнути виліт звуку + Увімкнути модуль аудіо - Увімкнути виліт яскравості + Увімкнути модуль яскравості - Увімкнути виліт клавіш блокування + Увімкнути модуль Lock клавіш - Тема "Виліт" + Тема спливаючого меню - Час очікування виліту (мс) + Час очікування спливаючого меню (мс) Зліва @@ -303,15 +303,15 @@ Використовувати кольорову піктограму лотка - Скидання всіх настройок за замовчуванням + Скидання всіх налаштувань за замовчуванням Персоналізація - Вирівняти виліт до цієї позиції + Вирівняти позицію спливаючого меню - Перезавантаження, необхідне для застосування деяких змін + Перезавантаження, необхідне для застосування деяких зроблених змін \ No newline at end of file diff --git a/ModernFlyouts/Properties/Strings.zh-Hans.resx b/ModernFlyouts/Properties/Strings.zh-Hans.resx new file mode 100644 index 00000000..85d4b9ae --- /dev/null +++ b/ModernFlyouts/Properties/Strings.zh-Hans.resx @@ -0,0 +1,317 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 关于 + + + 设备不支持飞行模式 :( + + + 飞行模式已关闭 + + + 飞行模式已启用 + + + 移动到默认位置 + + + 没有已连接的音频设备 + + + 关闭 + + + 退出 + + + 安全退出应用 + + + 常规 + + + 插入模式 + + + {0} 已关闭 + E.g. Caps lock is off + + + {0} 已打开 + E.g. Caps lock is on + + + 覆写模式 + + + 固定顶栏 + + + 还原默认浮出控件 + + + 还原 Windows 的默认浮出控件并安全退出此应用程序 + + + 更多控件 + + + 下一曲 + + + 暂停 + + + 播放 + + + 上一曲 + + + 循环:全部循环 + + + 循环:关闭 + + + 循环:单曲循环 + + + 随机播放:关闭 + + + 随机播放:打开 + + + 停止 + + + 时间线信息 + + + 附加项 + + + 行为 + + + 默认浮出控件 + + + 选择默认的浮出控件 + + + 选择 Windows 默认浮出控件不会关闭此应用。此应用程序仍将在后台继续运行。请安全地退出此应用程序以提高性能。 + + + 已禁用 + + + 已启用 + + + 浮出控件背景不透明度 + + + 浮出控件默认位置(用于恢复默认位置按钮) + + + 浮出控件顶栏 + + + 浮出控件模块 + + + 飞行模式浮出控件模块 + + + 音频浮出控件模块 + + + 亮度浮出控件模块 + + + 锁定键浮出控件模块 + + + 开机时运行 + + + 设置 + + + 打开设置窗口 + + + 取消固定顶栏 + + + ModernFlyouts + + + + + + Windows 默认 + + + 水平 + + + 垂直 + + + 该程序用于将旧的 Windows 8 Metro 风格浮出控件覆盖为 Fluent Design 风格浮出控件。 + + + 贡献者 + + + GitHub 仓库 + + + 创建新 Issue + + + 去 Microsoft Store 评分并发送评价 + + + 版本: + + + 语言 + + + 请重新启动应用程序,以便完整更改语言 + + + 系统默认 + + + 依赖项 + + + 如果发现任何 bug,请在 GitHub 仓库中创建一个新 Issue。 + + + 显示的会话数 + + + 媒体面板方向 + + + 在音量浮出控件中显示系统全局媒体传输 / 媒体控制 + + + 在媒体浮出控件中显示音量控制 + + + 缩略图对齐方向 + + + 深色 + + + 浅色 + + + 自动隐藏 + + + 折叠 + + + 可见 + + + 大写锁定 + + + 插入 + + + 数字锁定 + + + 滚动锁定 + + + 选择要显示的浮出控件 + + + 外观 + + + 启用飞行模式浮出控件 + + + 启用音频浮出控件 + + + 启用亮度浮出控件 + + + 启用锁定键浮出控件 + + + 浮出控件主题 + + + 浮出控件超时(毫秒 / ms) + + + 左侧 + + + 媒体 + + + 音量 + + + 右侧 + + + 顶栏可见性 + + + 在系统托盘显示图标 + + + 关闭 + + + 打开 + + + 应用主题 + + + 使用彩色托盘图标 + + + 将所有设置重置为默认值 + + + 个性化 + + + 将浮出控件对齐到此位置 + + + 重新启动以应用某些更改 + + \ No newline at end of file diff --git a/ModernFlyouts/Properties/Strings.zh-Hant.resx b/ModernFlyouts/Properties/Strings.zh-Hant.resx new file mode 100644 index 00000000..6e56e589 --- /dev/null +++ b/ModernFlyouts/Properties/Strings.zh-Hant.resx @@ -0,0 +1,317 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 關於 + + + 這款應用程式是為了以現代的 Fluent Design,取代自 Windows 8 以來存在於 Windows 中的舊式 Metro 浮動視窗而設計的。 + + + 貢獻者 + + + 依賴 + + + 如果你發現任何 bug,請在 Github 儲存庫中開啟一個新問題回報(英文)。 + + + GitHub 儲存庫 + + + 開啟新問題回報 + + + 在 Microsoft Store 上評分並評論 + + + 版本 : + + + 飛航模式不可用 :( + + + 飛航模式關閉 + + + 飛航模式開啟 + + + 調整至預設位置 + + + 將顯示的工作階段數目 + + + 無已連結音訊裝置 + + + 媒體工作階段面板方向 + + + 通過媒體控制,在音量浮動視窗中顯示全域性系統媒體傳輸控制 (GSMTC) + + + 通過媒體控制,在媒體浮動視窗中顯示全域性系統媒體傳輸控制 (GSMTC) + + + 縮略圖對齊 + + + 關閉 + + + ModernFlyouts + + + + + + Windows 預設 + + + 深色 + + + 淺色 + + + 水平 + + + 垂直 + + + 自動隱藏 + + + 摺疊 + + + 可見 + + + 退出 + + + 安全退出應用程式 + + + 一般 + + + 大寫鎖定 + + + 插入 + + + 插入模式 + + + {0} 已關閉 + E.g. Caps lock is off + + + {0} 已開啟 + E.g. Caps lock is on + + + 數字鎖定 + + + 覆蓋寫入模式 + + + 滾動鎖定 + + + 選擇將顯示浮動視窗的按鍵 + + + 鎖定頂部列 + + + 恢復原始浮動視窗 + + + 恢復 Windows 預設浮動視窗並安全退出此應用程式 + + + 更多控制元件 + + + 下一曲 + + + 暫停 + + + 播放 + + + 上一曲 + + + 重複: 全部 + + + 重複: 關閉 + + + 重複: 單曲 + + + 隨機: 關閉 + + + 隨機: 開啟 + + + 停止 + + + 時間軸資訊 + + + 附加 + + + 外觀 + + + 行為 + + + 預設浮動視窗 + + + 選擇預設浮動視窗 + + + 選擇 Windows 預設浮動視窗為預設並不會關閉這個應用程式。該應用程式仍將在背景繼續運作。請安全退出此應用程式以提高效能。 + + + 禁用 + + + 啟用 + + + 開啟飛航模式浮動視窗 + + + 開啟音訊浮動視窗 + + + 開啟亮度浮動視窗 + + + 開啟鎖定鍵浮動視窗 + + + 浮動視窗背景不透明度 + + + 浮動視窗預設位置 + + + 浮動視窗主題 + + + 浮動視窗逾時 (ms) + + + 浮動視窗頂部列 + + + 語言 + + + 重新啟動以套用語言變更 + + + 左側 + + + 浮動視窗模組 + + + 飛航模式 + + + 音訊 + + + 媒體 + + + 音量 + + + 亮度 + + + 鎖定鍵 + + + 右側 + + + 開機啟動 + + + 系統預設 + + + 頂部列可見性 + + + 在系統工作列顯示圖示 + + + 設定 + + + 開啟設定視窗 + + + 解鎖頂部列 + + + 語法錯誤 + + + 開啟 + + + 程式主題 + + + 使用著色工作列圖示 + + + 重置所有設定至預設值 + + + 個人化 + + + 調整浮動視窗至此位置 + + + 需要重新啟動以套用某些變更 + + \ No newline at end of file diff --git a/ModernFlyouts/UI/UIManager.cs b/ModernFlyouts/UI/UIManager.cs index 252f7a16..e564bd47 100644 --- a/ModernFlyouts/UI/UIManager.cs +++ b/ModernFlyouts/UI/UIManager.cs @@ -149,6 +149,20 @@ public bool UseColoredTrayIcon } } + private bool flyoutAnimationEnabled = DefaultValuesStore.FlyoutAnimationEnabled; + + public bool FlyoutAnimationEnabled + { + get => flyoutAnimationEnabled; + set + { + if (SetProperty(ref flyoutAnimationEnabled, value)) + { + OnFadeAnimationEnabledChanged(); + } + } + } + #endregion #region Layout @@ -329,6 +343,7 @@ public void Initialize() TrayIconEnabled = AppDataHelper.TrayIconEnabled; UseColoredTrayIcon = AppDataHelper.UseColoredTrayIcon; + FlyoutAnimationEnabled = AppDataHelper.FlyoutAnimationEnabled; FlyoutTheme = AppDataHelper.FlyoutTheme; AppTheme = AppDataHelper.AppTheme; @@ -355,6 +370,11 @@ private void OnUseColoredTrayIconChanged() AppDataHelper.UseColoredTrayIcon = useColoredTrayIcon; } + private void OnFadeAnimationEnabledChanged() + { + AppDataHelper.FlyoutAnimationEnabled = flyoutAnimationEnabled; + } + private void OnSystemThemeChanged(object sender, SystemThemeChangedEventArgs args) { currentSystemTheme = args.IsSystemLightTheme ? ElementTheme.Light : ElementTheme.Dark; diff --git a/README.md b/README.md index eff7a4c4..e71dbf93 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ Next, we must thank **[@riverar](https://github.com/riverar)** for accepting our - [imgradeone](https://github.com/imgradeone) - Chinese (Simplified) translator. - [sewerynkalemba](https://github.com/sewerynkalemba) - Polish translator. - [ArmasF31](https://github.com/ArmasF31) - German translator. -- [ANT0x1](https://github.com/ANT0x1) - Russian translator. +- [ANT0x1](https://github.com/ANT0x1) - Russian & Ukrainian translator. - [Hymian7](https://github.com/Hymian7) - German translator. - [TheAgamer554](https://github.com/TheAgamer554) - Spanish translator. - [ShintakuNobuhiro](https://github.com/ShintakuNobuhiro) - Japanese translator.