From 0244d86a370bcb5de422d3de831addb1b755db56 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 29 May 2025 15:17:47 +0800
Subject: [PATCH 01/25] Make converters be public
---
Flow.Launcher/Converters/BoolToIMEConversionModeConverter.cs | 4 ++--
Flow.Launcher/Converters/StringToKeyBindingConverter.cs | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Flow.Launcher/Converters/BoolToIMEConversionModeConverter.cs b/Flow.Launcher/Converters/BoolToIMEConversionModeConverter.cs
index 41e87991317..82da6d936b3 100644
--- a/Flow.Launcher/Converters/BoolToIMEConversionModeConverter.cs
+++ b/Flow.Launcher/Converters/BoolToIMEConversionModeConverter.cs
@@ -5,7 +5,7 @@
namespace Flow.Launcher.Converters;
-internal class BoolToIMEConversionModeConverter : IValueConverter
+public class BoolToIMEConversionModeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
@@ -22,7 +22,7 @@ public object ConvertBack(object value, Type targetType, object parameter, Cultu
}
}
-internal class BoolToIMEStateConverter : IValueConverter
+public class BoolToIMEStateConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
diff --git a/Flow.Launcher/Converters/StringToKeyBindingConverter.cs b/Flow.Launcher/Converters/StringToKeyBindingConverter.cs
index 21bf584e7a9..b7bca41c54e 100644
--- a/Flow.Launcher/Converters/StringToKeyBindingConverter.cs
+++ b/Flow.Launcher/Converters/StringToKeyBindingConverter.cs
@@ -5,7 +5,7 @@
namespace Flow.Launcher.Converters;
-class StringToKeyBindingConverter : IValueConverter
+public class StringToKeyBindingConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
From 647a1c770e48567f265d3b267854abd5d973afc1 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 29 May 2025 15:18:04 +0800
Subject: [PATCH 02/25] Add converters from ModernWPF
---
.../Converters/CornerRadiusFilterConverter.cs | 91 +++++++++++++++++++
.../Converters/PlacementRectangleConverter.cs | 32 +++++++
.../Converters/SharedSizeGroupConverter.cs | 19 ++++
3 files changed, 142 insertions(+)
create mode 100644 Flow.Launcher/Converters/CornerRadiusFilterConverter.cs
create mode 100644 Flow.Launcher/Converters/PlacementRectangleConverter.cs
create mode 100644 Flow.Launcher/Converters/SharedSizeGroupConverter.cs
diff --git a/Flow.Launcher/Converters/CornerRadiusFilterConverter.cs b/Flow.Launcher/Converters/CornerRadiusFilterConverter.cs
new file mode 100644
index 00000000000..fd43cafacac
--- /dev/null
+++ b/Flow.Launcher/Converters/CornerRadiusFilterConverter.cs
@@ -0,0 +1,91 @@
+using System;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Data;
+
+namespace Flow.Launcher.Converters;
+
+public class CornerRadiusFilterConverter : DependencyObject, IValueConverter
+{
+ public CornerRadiusFilterKind Filter { get; set; }
+
+ public double Scale { get; set; } = 1.0;
+
+ public static CornerRadius Convert(CornerRadius radius, CornerRadiusFilterKind filterKind)
+ {
+ CornerRadius result = radius;
+
+ switch (filterKind)
+ {
+ case CornerRadiusFilterKind.Top:
+ result.BottomLeft = 0;
+ result.BottomRight = 0;
+ break;
+ case CornerRadiusFilterKind.Right:
+ result.TopLeft = 0;
+ result.BottomLeft = 0;
+ break;
+ case CornerRadiusFilterKind.Bottom:
+ result.TopLeft = 0;
+ result.TopRight = 0;
+ break;
+ case CornerRadiusFilterKind.Left:
+ result.TopRight = 0;
+ result.BottomRight = 0;
+ break;
+ }
+
+ return result;
+ }
+
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ var cornerRadius = (CornerRadius)value;
+
+ var scale = Scale;
+ if (!double.IsNaN(scale))
+ {
+ cornerRadius.TopLeft *= scale;
+ cornerRadius.TopRight *= scale;
+ cornerRadius.BottomRight *= scale;
+ cornerRadius.BottomLeft *= scale;
+ }
+
+ var filterType = Filter;
+ if (filterType == CornerRadiusFilterKind.TopLeftValue ||
+ filterType == CornerRadiusFilterKind.BottomRightValue)
+ {
+ return GetDoubleValue(cornerRadius, filterType);
+ }
+
+ return Convert(cornerRadius, filterType);
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+
+ private static double GetDoubleValue(CornerRadius radius, CornerRadiusFilterKind filterKind)
+ {
+ switch (filterKind)
+ {
+ case CornerRadiusFilterKind.TopLeftValue:
+ return radius.TopLeft;
+ case CornerRadiusFilterKind.BottomRightValue:
+ return radius.BottomRight;
+ }
+ return 0;
+ }
+}
+
+public enum CornerRadiusFilterKind
+{
+ None,
+ Top,
+ Right,
+ Bottom,
+ Left,
+ TopLeftValue,
+ BottomRightValue
+}
diff --git a/Flow.Launcher/Converters/PlacementRectangleConverter.cs b/Flow.Launcher/Converters/PlacementRectangleConverter.cs
new file mode 100644
index 00000000000..130d04e160e
--- /dev/null
+++ b/Flow.Launcher/Converters/PlacementRectangleConverter.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Data;
+
+namespace Flow.Launcher.Converters;
+
+public class PlacementRectangleConverter : IMultiValueConverter
+{
+ public Thickness Margin { get; set; }
+
+ public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (values.Length == 2 &&
+ values[0] is double width &&
+ values[1] is double height)
+ {
+ var margin = Margin;
+ var topLeft = new Point(margin.Left, margin.Top);
+ var bottomRight = new Point(width - margin.Right, height - margin.Bottom);
+ var rect = new Rect(topLeft, bottomRight);
+ return rect;
+ }
+
+ return Rect.Empty;
+ }
+
+ public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+}
diff --git a/Flow.Launcher/Converters/SharedSizeGroupConverter.cs b/Flow.Launcher/Converters/SharedSizeGroupConverter.cs
new file mode 100644
index 00000000000..59478702749
--- /dev/null
+++ b/Flow.Launcher/Converters/SharedSizeGroupConverter.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Data;
+
+namespace Flow.Launcher.Converters;
+
+public class SharedSizeGroupConverter : IValueConverter
+{
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ return (Visibility)value != Visibility.Collapsed ? (string)parameter : null;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+}
From aefce9f1a5092a9f85023131d6f622c68231b52e Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 29 May 2025 15:18:14 +0800
Subject: [PATCH 03/25] Add helper from ModernWPF
---
Flow.Launcher/Helper/BorderHelper.cs | 33 ++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 Flow.Launcher/Helper/BorderHelper.cs
diff --git a/Flow.Launcher/Helper/BorderHelper.cs b/Flow.Launcher/Helper/BorderHelper.cs
new file mode 100644
index 00000000000..0f2a78e7dd6
--- /dev/null
+++ b/Flow.Launcher/Helper/BorderHelper.cs
@@ -0,0 +1,33 @@
+using System.Windows;
+using System.Windows.Controls;
+
+namespace Flow.Launcher.Helper;
+
+public static class BorderHelper
+{
+ #region Child
+
+ public static readonly DependencyProperty ChildProperty =
+ DependencyProperty.RegisterAttached(
+ "Child",
+ typeof(UIElement),
+ typeof(BorderHelper),
+ new PropertyMetadata(default(UIElement), OnChildChanged));
+
+ public static UIElement GetChild(Border border)
+ {
+ return (UIElement)border.GetValue(ChildProperty);
+ }
+
+ public static void SetChild(Border border, UIElement value)
+ {
+ border.SetValue(ChildProperty, value);
+ }
+
+ private static void OnChildChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
+ {
+ ((Border)d).Child = (UIElement)e.NewValue;
+ }
+
+ #endregion
+}
From 6ef2022293892d7b0db624dbcc15ba60da4528c0 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 29 May 2025 15:41:49 +0800
Subject: [PATCH 04/25] Use iNKORE.UI.WPF.Modern package
---
Flow.Launcher/App.xaml | 2 +-
Flow.Launcher/Flow.Launcher.csproj | 4 +---
Flow.Launcher/HotkeyControlDialog.xaml | 2 +-
Flow.Launcher/HotkeyControlDialog.xaml.cs | 2 +-
Flow.Launcher/MainWindow.xaml | 2 +-
Flow.Launcher/MainWindow.xaml.cs | 15 +++++++------
Flow.Launcher/Resources/Controls/Card.xaml | 2 +-
Flow.Launcher/Resources/Controls/ExCard.xaml | 2 +-
Flow.Launcher/Resources/Controls/InfoBar.xaml | 2 +-
.../Controls/InstalledPluginDisplay.xaml | 2 +-
.../Controls/InstalledPluginDisplay.xaml.cs | 2 +-
.../Resources/CustomControlTemplate.xaml | 18 ++++++++-------
Flow.Launcher/Resources/Dark.xaml | 22 +++++++++----------
Flow.Launcher/Resources/Light.xaml | 22 +++++++++----------
.../Resources/Pages/WelcomePage1.xaml | 2 +-
.../Resources/Pages/WelcomePage2.xaml | 2 +-
.../Resources/Pages/WelcomePage3.xaml | 2 +-
.../Resources/Pages/WelcomePage4.xaml | 2 +-
.../Resources/Pages/WelcomePage5.xaml | 2 +-
Flow.Launcher/SelectBrowserWindow.xaml | 2 +-
Flow.Launcher/SelectFileManagerWindow.xaml | 2 +-
.../SettingsPanePluginsViewModel.cs | 2 +-
.../ViewModels/SettingsPaneThemeViewModel.cs | 7 +++---
.../SettingPages/Views/SettingsPaneAbout.xaml | 2 +-
.../Views/SettingsPaneGeneral.xaml | 2 +-
.../Views/SettingsPaneHotkey.xaml | 2 +-
.../Views/SettingsPanePluginStore.xaml | 2 +-
.../Views/SettingsPanePlugins.xaml | 2 +-
.../SettingPages/Views/SettingsPaneProxy.xaml | 2 +-
.../SettingPages/Views/SettingsPaneTheme.xaml | 2 +-
Flow.Launcher/SettingWindow.xaml | 2 +-
Flow.Launcher/SettingWindow.xaml.cs | 2 +-
Flow.Launcher/Themes/Circle System.xaml | 2 +-
Flow.Launcher/Themes/Win10System.xaml | 2 +-
Flow.Launcher/Themes/Win11Light.xaml | 2 +-
Flow.Launcher/WelcomeWindow.xaml | 2 +-
Flow.Launcher/WelcomeWindow.xaml.cs | 2 +-
.../Views/ExplorerSettings.xaml | 2 +-
.../ProgramSuffixes.xaml | 2 +-
39 files changed, 77 insertions(+), 77 deletions(-)
diff --git a/Flow.Launcher/App.xaml b/Flow.Launcher/App.xaml
index 565bbe3c74c..30df7bb140e 100644
--- a/Flow.Launcher/App.xaml
+++ b/Flow.Launcher/App.xaml
@@ -2,7 +2,7 @@
x:Class="Flow.Launcher.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:ui="http://schemas.modernwpf.com/2019"
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
ShutdownMode="OnMainWindowClose"
Startup="OnStartup">
diff --git a/Flow.Launcher/Flow.Launcher.csproj b/Flow.Launcher/Flow.Launcher.csproj
index 8d43eff9870..7ddf3cf517f 100644
--- a/Flow.Launcher/Flow.Launcher.csproj
+++ b/Flow.Launcher/Flow.Launcher.csproj
@@ -89,14 +89,12 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
-
-
-
all
diff --git a/Flow.Launcher/HotkeyControlDialog.xaml b/Flow.Launcher/HotkeyControlDialog.xaml
index 1edce6d0634..7308984b83d 100644
--- a/Flow.Launcher/HotkeyControlDialog.xaml
+++ b/Flow.Launcher/HotkeyControlDialog.xaml
@@ -2,7 +2,7 @@
x:Class="Flow.Launcher.HotkeyControlDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:ui="http://schemas.modernwpf.com/2019"
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
Background="{DynamicResource PopuBGColor}"
BorderBrush="{DynamicResource PopupButtonAreaBorderColor}"
BorderThickness="0 1 0 0"
diff --git a/Flow.Launcher/HotkeyControlDialog.xaml.cs b/Flow.Launcher/HotkeyControlDialog.xaml.cs
index c7af8c5b8bb..0f772ea444a 100644
--- a/Flow.Launcher/HotkeyControlDialog.xaml.cs
+++ b/Flow.Launcher/HotkeyControlDialog.xaml.cs
@@ -9,7 +9,7 @@
using Flow.Launcher.Infrastructure.Hotkey;
using Flow.Launcher.Infrastructure.UserSettings;
using Flow.Launcher.Plugin;
-using ModernWpf.Controls;
+using iNKORE.UI.WPF.Modern.Controls;
namespace Flow.Launcher;
diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml
index 31bc2ba5046..4f2ae4e9741 100644
--- a/Flow.Launcher/MainWindow.xaml
+++ b/Flow.Launcher/MainWindow.xaml
@@ -6,7 +6,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:flowlauncher="clr-namespace:Flow.Launcher"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:ui="http://schemas.modernwpf.com/2019"
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:vm="clr-namespace:Flow.Launcher.ViewModel"
Name="FlowMainWindow"
Title="Flow Launcher"
diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs
index bb29d78e5e8..7f29f3e39e4 100644
--- a/Flow.Launcher/MainWindow.xaml.cs
+++ b/Flow.Launcher/MainWindow.xaml.cs
@@ -22,8 +22,9 @@
using Flow.Launcher.Infrastructure.UserSettings;
using Flow.Launcher.Plugin.SharedCommands;
using Flow.Launcher.ViewModel;
+using iNKORE.UI.WPF.Modern;
+using iNKORE.UI.WPF.Modern.Controls;
using Microsoft.Win32;
-using ModernWpf.Controls;
using DataObject = System.Windows.DataObject;
using Key = System.Windows.Input.Key;
using MouseButtons = System.Windows.Forms.MouseButtons;
@@ -89,7 +90,7 @@ public MainWindow()
InitSoundEffects();
DataObject.AddPastingHandler(QueryTextBox, QueryTextBox_OnPaste);
- ModernWpf.ThemeManager.Current.ActualApplicationThemeChanged += ThemeManager_ActualApplicationThemeChanged;
+ ThemeManager.Current.ActualApplicationThemeChanged += ThemeManager_ActualApplicationThemeChanged;
SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
}
@@ -99,9 +100,9 @@ public MainWindow()
#pragma warning disable VSTHRD100 // Avoid async void methods
- private void ThemeManager_ActualApplicationThemeChanged(ModernWpf.ThemeManager sender, object args)
+ private void ThemeManager_ActualApplicationThemeChanged(ThemeManager sender, object args)
{
- _theme.RefreshFrameAsync();
+ _ = _theme.RefreshFrameAsync();
}
private void OnSourceInitialized(object sender, EventArgs e)
@@ -161,11 +162,11 @@ private void OnLoaded(object sender, RoutedEventArgs _)
// Initialize color scheme
if (_settings.ColorScheme == Constant.Light)
{
- ModernWpf.ThemeManager.Current.ApplicationTheme = ModernWpf.ApplicationTheme.Light;
+ ThemeManager.Current.ApplicationTheme = ApplicationTheme.Light;
}
else if (_settings.ColorScheme == Constant.Dark)
{
- ModernWpf.ThemeManager.Current.ApplicationTheme = ModernWpf.ApplicationTheme.Dark;
+ ThemeManager.Current.ApplicationTheme = ApplicationTheme.Dark;
}
// Initialize position
@@ -1257,7 +1258,7 @@ protected virtual void Dispose(bool disposing)
_notifyIcon?.Dispose();
animationSoundWMP?.Close();
animationSoundWPF?.Dispose();
- ModernWpf.ThemeManager.Current.ActualApplicationThemeChanged -= ThemeManager_ActualApplicationThemeChanged;
+ ThemeManager.Current.ActualApplicationThemeChanged -= ThemeManager_ActualApplicationThemeChanged;
SystemEvents.PowerModeChanged -= SystemEvents_PowerModeChanged;
}
diff --git a/Flow.Launcher/Resources/Controls/Card.xaml b/Flow.Launcher/Resources/Controls/Card.xaml
index 33c1299a9c3..54d1474dd29 100644
--- a/Flow.Launcher/Resources/Controls/Card.xaml
+++ b/Flow.Launcher/Resources/Controls/Card.xaml
@@ -6,7 +6,7 @@
xmlns:local="clr-namespace:Flow.Launcher.Resources.Controls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
- xmlns:ui="http://schemas.modernwpf.com/2019"
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
diff --git a/Flow.Launcher/Resources/Controls/ExCard.xaml b/Flow.Launcher/Resources/Controls/ExCard.xaml
index a70c0f4ea46..857bf719dde 100644
--- a/Flow.Launcher/Resources/Controls/ExCard.xaml
+++ b/Flow.Launcher/Resources/Controls/ExCard.xaml
@@ -6,7 +6,7 @@
xmlns:local="clr-namespace:Flow.Launcher.Resources.Controls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
- xmlns:ui="http://schemas.modernwpf.com/2019"
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
mc:Ignorable="d">
diff --git a/Flow.Launcher/Resources/Controls/InfoBar.xaml b/Flow.Launcher/Resources/Controls/InfoBar.xaml
index 2ddcbdd0cc8..df75a75da7a 100644
--- a/Flow.Launcher/Resources/Controls/InfoBar.xaml
+++ b/Flow.Launcher/Resources/Controls/InfoBar.xaml
@@ -5,7 +5,7 @@
xmlns:cc="clr-namespace:Flow.Launcher.Resources.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:ui="http://schemas.modernwpf.com/2019"
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
d:DesignHeight="45"
d:DesignWidth="400"
mc:Ignorable="d">
diff --git a/Flow.Launcher/Resources/Controls/InstalledPluginDisplay.xaml b/Flow.Launcher/Resources/Controls/InstalledPluginDisplay.xaml
index 0842a64f345..3f197296d29 100644
--- a/Flow.Launcher/Resources/Controls/InstalledPluginDisplay.xaml
+++ b/Flow.Launcher/Resources/Controls/InstalledPluginDisplay.xaml
@@ -6,7 +6,7 @@
xmlns:converters="clr-namespace:Flow.Launcher.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:ui="http://schemas.modernwpf.com/2019"
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:viewModel="clr-namespace:Flow.Launcher.ViewModel"
d:DataContext="{d:DesignInstance viewModel:PluginViewModel}"
d:DesignHeight="300"
diff --git a/Flow.Launcher/Resources/Controls/InstalledPluginDisplay.xaml.cs b/Flow.Launcher/Resources/Controls/InstalledPluginDisplay.xaml.cs
index a27a007823c..20e60e89fb5 100644
--- a/Flow.Launcher/Resources/Controls/InstalledPluginDisplay.xaml.cs
+++ b/Flow.Launcher/Resources/Controls/InstalledPluginDisplay.xaml.cs
@@ -1,4 +1,4 @@
-using ModernWpf.Controls;
+using iNKORE.UI.WPF.Modern.Controls;
namespace Flow.Launcher.Resources.Controls;
diff --git a/Flow.Launcher/Resources/CustomControlTemplate.xaml b/Flow.Launcher/Resources/CustomControlTemplate.xaml
index 08b239c4159..075ba51b35e 100644
--- a/Flow.Launcher/Resources/CustomControlTemplate.xaml
+++ b/Flow.Launcher/Resources/CustomControlTemplate.xaml
@@ -1,8 +1,10 @@
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern">
Segoe UI
@@ -474,8 +476,8 @@
-
-
+
+
-
+
-
+
@@ -5169,13 +5169,13 @@
-
-
+
-
+
-
+
diff --git a/Flow.Launcher/Resources/Pages/WelcomePage1.xaml b/Flow.Launcher/Resources/Pages/WelcomePage1.xaml
index 620350ec9a9..f30e1a354b5 100644
--- a/Flow.Launcher/Resources/Pages/WelcomePage1.xaml
+++ b/Flow.Launcher/Resources/Pages/WelcomePage1.xaml
@@ -99,7 +99,7 @@
-
+
@@ -185,5 +185,5 @@
-
+
diff --git a/Flow.Launcher/Resources/Pages/WelcomePage2.xaml b/Flow.Launcher/Resources/Pages/WelcomePage2.xaml
index aed325e123a..1c700b304f2 100644
--- a/Flow.Launcher/Resources/Pages/WelcomePage2.xaml
+++ b/Flow.Launcher/Resources/Pages/WelcomePage2.xaml
@@ -34,7 +34,7 @@
-
+
@@ -121,5 +121,5 @@
-
+
diff --git a/Flow.Launcher/Resources/Pages/WelcomePage3.xaml b/Flow.Launcher/Resources/Pages/WelcomePage3.xaml
index 5be0fa6e6a4..0086ead7f18 100644
--- a/Flow.Launcher/Resources/Pages/WelcomePage3.xaml
+++ b/Flow.Launcher/Resources/Pages/WelcomePage3.xaml
@@ -40,7 +40,7 @@
FontSize="20"
FontWeight="SemiBold"
Text="{DynamicResource Welcome_Page3_Title}" />
-
-
+
diff --git a/Flow.Launcher/Resources/Pages/WelcomePage4.xaml b/Flow.Launcher/Resources/Pages/WelcomePage4.xaml
index 1ed00dd8fef..9e725e7c148 100644
--- a/Flow.Launcher/Resources/Pages/WelcomePage4.xaml
+++ b/Flow.Launcher/Resources/Pages/WelcomePage4.xaml
@@ -54,7 +54,7 @@
-
+
@@ -132,5 +132,5 @@
-
+
diff --git a/Flow.Launcher/Resources/Pages/WelcomePage5.xaml b/Flow.Launcher/Resources/Pages/WelcomePage5.xaml
index 338b68de604..5b3e40351ba 100644
--- a/Flow.Launcher/Resources/Pages/WelcomePage5.xaml
+++ b/Flow.Launcher/Resources/Pages/WelcomePage5.xaml
@@ -49,7 +49,7 @@
-
+
@@ -118,5 +118,5 @@
-
+
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml
index 3d7cbd2896b..8690c96d8c8 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml
@@ -17,7 +17,7 @@
-
-
+
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
index 3d63eb3d61b..5238b12bef2 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
@@ -18,7 +18,7 @@
-
-
+
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneHotkey.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneHotkey.xaml
index d85ec322e5c..90ed017f66d 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneHotkey.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneHotkey.xaml
@@ -14,7 +14,7 @@
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
-
-
+
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneProxy.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneProxy.xaml
index 8ecbc0a7515..2c9bca81c39 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneProxy.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneProxy.xaml
@@ -16,7 +16,7 @@
-
-
+
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneTheme.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneTheme.xaml
index b5b4362b178..15aca083b6d 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneTheme.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneTheme.xaml
@@ -23,7 +23,7 @@
-
-
@@ -268,7 +268,7 @@
Content="{DynamicResource resetCustomize}"
ToolTip="{DynamicResource resetCustomizeToolTip}" />
-
+
@@ -782,5 +782,5 @@
Text="{DynamicResource howToCreateTheme}"
Uri="{Binding LinkHowToCreateTheme}" />
-
+
diff --git a/Flow.Launcher/Themes/Base.xaml b/Flow.Launcher/Themes/Base.xaml
index 1844e25be37..cb98d6b06a0 100644
--- a/Flow.Launcher/Themes/Base.xaml
+++ b/Flow.Launcher/Themes/Base.xaml
@@ -2,6 +2,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib"
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:userSettings="clr-namespace:Flow.Launcher.Infrastructure.UserSettings;assembly=Flow.Launcher.Infrastructure">
0
0
@@ -46,20 +47,20 @@
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
SnapsToDevicePixels="True">
-
-
+
-
-
+
+
@@ -246,8 +247,8 @@
-
-
+
+
-
+
-
+
From 17ac4dfe1ff27df17483c52399646ed6ff2100df Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 31 May 2025 15:00:04 +0800
Subject: [PATCH 06/25] Remove blank lines
---
Flow.Launcher/SettingWindow.xaml | 3 ---
1 file changed, 3 deletions(-)
diff --git a/Flow.Launcher/SettingWindow.xaml b/Flow.Launcher/SettingWindow.xaml
index ba2e80e165b..9bc3d496ed3 100644
--- a/Flow.Launcher/SettingWindow.xaml
+++ b/Flow.Launcher/SettingWindow.xaml
@@ -266,8 +266,5 @@
-
-
-
From 4e70ad61bf4e865d079812c7b557c5533b3c091b Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 14 Jun 2025 23:51:40 +0800
Subject: [PATCH 07/25] Fix build issue
---
Flow.Launcher/ReleaseNotesWindow.xaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Flow.Launcher/ReleaseNotesWindow.xaml b/Flow.Launcher/ReleaseNotesWindow.xaml
index f0bdbadda19..b5767efc954 100644
--- a/Flow.Launcher/ReleaseNotesWindow.xaml
+++ b/Flow.Launcher/ReleaseNotesWindow.xaml
@@ -7,7 +7,7 @@
xmlns:local="clr-namespace:Flow.Launcher"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:mdxam="clr-namespace:MdXaml;assembly=MdXaml"
- xmlns:ui="http://schemas.modernwpf.com/2019"
+ xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:vm="clr-namespace:Flow.Launcher.ViewModel"
Title="{DynamicResource releaseNotes}"
Width="940"
From 9fb12ea7ab5d439d441809f71baa1a7a488e149f Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sun, 15 Jun 2025 00:08:31 +0800
Subject: [PATCH 08/25] Fix build issue
---
Flow.Launcher/ReleaseNotesWindow.xaml.cs | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/Flow.Launcher/ReleaseNotesWindow.xaml.cs b/Flow.Launcher/ReleaseNotesWindow.xaml.cs
index 59646f35ac5..9c5bb6cd79d 100644
--- a/Flow.Launcher/ReleaseNotesWindow.xaml.cs
+++ b/Flow.Launcher/ReleaseNotesWindow.xaml.cs
@@ -10,6 +10,7 @@
using System.Windows.Input;
using System.Windows.Media;
using Flow.Launcher.Infrastructure.Http;
+using iNKORE.UI.WPF.Modern;
namespace Flow.Launcher
{
@@ -21,16 +22,16 @@ public ReleaseNotesWindow()
{
InitializeComponent();
SeeMore.Uri = ReleaseNotes;
- ModernWpf.ThemeManager.Current.ActualApplicationThemeChanged += ThemeManager_ActualApplicationThemeChanged;
+ ThemeManager.Current.ActualApplicationThemeChanged += ThemeManager_ActualApplicationThemeChanged;
}
#region Window Events
- private void ThemeManager_ActualApplicationThemeChanged(ModernWpf.ThemeManager sender, object args)
+ private void ThemeManager_ActualApplicationThemeChanged(ThemeManager sender, object args)
{
Application.Current.Dispatcher.Invoke(() =>
{
- if (ModernWpf.ThemeManager.Current.ActualApplicationTheme == ModernWpf.ApplicationTheme.Light)
+ if (ThemeManager.Current.ActualApplicationTheme == ApplicationTheme.Light)
{
MarkdownViewer.MarkdownStyle = (Style)Application.Current.Resources["DocumentStyleGithubLikeLight"];
MarkdownViewer.Foreground = Brushes.Black;
@@ -58,7 +59,7 @@ private void OnCloseExecuted(object sender, ExecutedRoutedEventArgs e)
private void Window_Closed(object sender, EventArgs e)
{
- ModernWpf.ThemeManager.Current.ActualApplicationThemeChanged -= ThemeManager_ActualApplicationThemeChanged;
+ ThemeManager.Current.ActualApplicationThemeChanged -= ThemeManager_ActualApplicationThemeChanged;
}
#endregion
From fdb7307fdb3f603001347c80827905ec006cfaa4 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 5 Jul 2025 18:10:41 +0800
Subject: [PATCH 09/25] Fix build issue
---
Flow.Launcher/ViewModel/MainViewModel.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs
index 49f7ea6c535..8dfdae77339 100644
--- a/Flow.Launcher/ViewModel/MainViewModel.cs
+++ b/Flow.Launcher/ViewModel/MainViewModel.cs
@@ -21,8 +21,8 @@
using Flow.Launcher.Plugin;
using Flow.Launcher.Plugin.SharedCommands;
using Flow.Launcher.Storage;
+using iNKORE.UI.WPF.Modern;
using Microsoft.VisualStudio.Threading;
-using ModernWpf;
namespace Flow.Launcher.ViewModel
{
From b9737bb3934a0c898bf62af85a355d18b0d002b5 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 5 Jul 2025 18:16:03 +0800
Subject: [PATCH 10/25] Fix build issue
---
Flow.Launcher/PublicAPIInstance.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs
index a2e5f1f8591..8afe6fe615c 100644
--- a/Flow.Launcher/PublicAPIInstance.cs
+++ b/Flow.Launcher/PublicAPIInstance.cs
@@ -30,8 +30,8 @@
using Flow.Launcher.Plugin.SharedCommands;
using Flow.Launcher.Plugin.SharedModels;
using Flow.Launcher.ViewModel;
+using iNKORE.UI.WPF.Modern;
using JetBrains.Annotations;
-using ModernWpf;
using Squirrel;
using Stopwatch = Flow.Launcher.Infrastructure.Stopwatch;
From 156bd064f90146fd6cc721950b2bee2f5061ac61 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 19 Jul 2025 16:02:45 +0800
Subject: [PATCH 11/25] Enable GPU for setting window
---
Flow.Launcher/App.xaml.cs | 4 ++++
Flow.Launcher/Flow.Launcher.csproj | 2 +-
Flow.Launcher/SettingWindow.xaml.cs | 6 ------
3 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/Flow.Launcher/App.xaml.cs b/Flow.Launcher/App.xaml.cs
index 7e3915b2b5d..7e8a30613a4 100644
--- a/Flow.Launcher/App.xaml.cs
+++ b/Flow.Launcher/App.xaml.cs
@@ -21,6 +21,7 @@
using Flow.Launcher.Plugin;
using Flow.Launcher.SettingPages.ViewModels;
using Flow.Launcher.ViewModel;
+using iNKORE.UI.WPF.Modern.Common;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.VisualStudio.Threading;
@@ -54,6 +55,9 @@ public partial class App : IDisposable, ISingleInstanceApp
public App()
{
+ // Do not use bitmap cache since it can cause WPF second window freezing issue
+ ShadowAssist.UseBitmapCache = false;
+
// Initialize settings
_settings.WMPInstalled = WindowsMediaPlayerHelper.IsWindowsMediaPlayerInstalled();
diff --git a/Flow.Launcher/Flow.Launcher.csproj b/Flow.Launcher/Flow.Launcher.csproj
index 8a476b00ada..d71e3d00859 100644
--- a/Flow.Launcher/Flow.Launcher.csproj
+++ b/Flow.Launcher/Flow.Launcher.csproj
@@ -89,7 +89,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs
index 7d711e60d38..b04e3fafb9b 100644
--- a/Flow.Launcher/SettingWindow.xaml.cs
+++ b/Flow.Launcher/SettingWindow.xaml.cs
@@ -43,12 +43,6 @@ private void OnLoaded(object sender, RoutedEventArgs e)
{
RefreshMaximizeRestoreButton();
- // Fix (workaround) for the window freezes after lock screen (Win+L) or sleep
- // https://stackoverflow.com/questions/4951058/software-rendering-mode-wpf
- HwndSource hwndSource = PresentationSource.FromVisual(this) as HwndSource;
- HwndTarget hwndTarget = hwndSource.CompositionTarget;
- hwndTarget.RenderMode = RenderMode.SoftwareOnly; // Must use software only render mode here
-
UpdatePositionAndState();
_viewModel.PropertyChanged += ViewModel_PropertyChanged;
From 935b58a118272fcf2c88598573d483668fcccc36 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 19 Jul 2025 19:38:59 +0800
Subject: [PATCH 12/25] Remove unused usings
---
Flow.Launcher/SettingWindow.xaml.cs | 1 -
1 file changed, 1 deletion(-)
diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs
index b04e3fafb9b..c394e40cd29 100644
--- a/Flow.Launcher/SettingWindow.xaml.cs
+++ b/Flow.Launcher/SettingWindow.xaml.cs
@@ -3,7 +3,6 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
-using System.Windows.Interop;
using CommunityToolkit.Mvvm.DependencyInjection;
using Flow.Launcher.Infrastructure;
using Flow.Launcher.Infrastructure.UserSettings;
From 7c8dcab6bbc68c60bd8894eefd6db6f7bfc24c6a Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Tue, 22 Jul 2025 18:56:26 +0800
Subject: [PATCH 13/25] Improve code quality
---
Flow.Launcher/Resources/CustomControlTemplate.xaml | 2 +-
Flow.Launcher/Themes/Base.xaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Flow.Launcher/Resources/CustomControlTemplate.xaml b/Flow.Launcher/Resources/CustomControlTemplate.xaml
index a418ad0e427..91458f9b526 100644
--- a/Flow.Launcher/Resources/CustomControlTemplate.xaml
+++ b/Flow.Launcher/Resources/CustomControlTemplate.xaml
@@ -967,7 +967,7 @@
-
+
diff --git a/Flow.Launcher/Themes/Base.xaml b/Flow.Launcher/Themes/Base.xaml
index 520e176bc72..537681ff47b 100644
--- a/Flow.Launcher/Themes/Base.xaml
+++ b/Flow.Launcher/Themes/Base.xaml
@@ -251,7 +251,7 @@
-
+
-
+
+ Loaded="ContentFrame_Loaded">
From 93a46b8ec3d4e8dffc94df7b7232519b3e2c8ead Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Wed, 20 Aug 2025 14:04:17 +0800
Subject: [PATCH 16/25] Add theme dictionary keys
---
Flow.Launcher/App.xaml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Flow.Launcher/App.xaml b/Flow.Launcher/App.xaml
index 30df7bb140e..b9e5c496acc 100644
--- a/Flow.Launcher/App.xaml
+++ b/Flow.Launcher/App.xaml
@@ -10,17 +10,17 @@
-
+
-
+
-
+
From 78e8f851f36c16706bb51203fb2a1f02acd1ae43 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 21 Aug 2025 10:00:12 +0800
Subject: [PATCH 17/25] Improve SelectFileManagerWindow
---
Flow.Launcher/SelectFileManagerWindow.xaml | 4 ++--
Flow.Launcher/SelectFileManagerWindow.xaml.cs | 6 ------
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/Flow.Launcher/SelectFileManagerWindow.xaml b/Flow.Launcher/SelectFileManagerWindow.xaml
index f6763991928..0069c9485c5 100644
--- a/Flow.Launcher/SelectFileManagerWindow.xaml
+++ b/Flow.Launcher/SelectFileManagerWindow.xaml
@@ -75,9 +75,9 @@
-
+
-
+
Date: Thu, 21 Aug 2025 10:04:29 +0800
Subject: [PATCH 18/25] Improve ReleaseNotesWindow
---
Flow.Launcher/ReleaseNotesWindow.xaml | 10 +++++++---
Flow.Launcher/ReleaseNotesWindow.xaml.cs | 3 +--
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/Flow.Launcher/ReleaseNotesWindow.xaml b/Flow.Launcher/ReleaseNotesWindow.xaml
index 3d7959f646d..babb4613726 100644
--- a/Flow.Launcher/ReleaseNotesWindow.xaml
+++ b/Flow.Launcher/ReleaseNotesWindow.xaml
@@ -16,6 +16,7 @@
MinHeight="600"
Background="{DynamicResource PopuBGColor}"
Closed="Window_Closed"
+ DataContext="{Binding RelativeSource={RelativeSource Self}}"
Foreground="{DynamicResource PopupTextColor}"
Loaded="Window_Loaded"
ResizeMode="CanResize"
@@ -44,7 +45,7 @@
-
+
@@ -161,8 +162,11 @@
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="5"
- Margin="18 0 18 0">
-
+ Margin="8 0 18 0">
+
diff --git a/Flow.Launcher/ReleaseNotesWindow.xaml.cs b/Flow.Launcher/ReleaseNotesWindow.xaml.cs
index fed4c0cc4dd..9ce06a49a27 100644
--- a/Flow.Launcher/ReleaseNotesWindow.xaml.cs
+++ b/Flow.Launcher/ReleaseNotesWindow.xaml.cs
@@ -16,12 +16,11 @@ namespace Flow.Launcher
{
public partial class ReleaseNotesWindow : Window
{
- private static readonly string ReleaseNotes = Properties.Settings.Default.GithubRepo + "/releases";
+ public string ReleaseNotes => Properties.Settings.Default.GithubRepo + "/releases";
public ReleaseNotesWindow()
{
InitializeComponent();
- SeeMore.Uri = ReleaseNotes;
ThemeManager.Current.ActualApplicationThemeChanged += ThemeManager_ActualApplicationThemeChanged;
}
From e940686ee130234256c607c23d7ac2bdb8a1d5cb Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 21 Aug 2025 10:07:29 +0800
Subject: [PATCH 19/25] Use SettingsCard & SettingsExpander & HyperLinkButton &
InfoBar from UI.Modern.WPF
---
.../SettingPages/Views/SettingsPaneAbout.xaml | 145 ++--
.../Views/SettingsPaneGeneral.xaml | 676 ++++++++--------
.../Views/SettingsPaneHotkey.xaml | 733 +++++++++---------
.../Views/SettingsPanePluginStore.xaml | 14 +-
.../Views/SettingsPanePlugins.xaml | 12 +-
.../SettingPages/Views/SettingsPaneProxy.xaml | 70 +-
.../SettingPages/Views/SettingsPaneTheme.xaml | 640 +++++++--------
7 files changed, 1176 insertions(+), 1114 deletions(-)
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml
index bbbc71e479f..6ff1a1b02b3 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml
@@ -4,6 +4,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cc="clr-namespace:Flow.Launcher.Resources.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:settingsVm="clr-namespace:Flow.Launcher.SettingPages.ViewModels"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
@@ -18,7 +19,6 @@
@@ -30,80 +30,82 @@
Text="{DynamicResource about}"
TextAlignment="left" />
-
-
+
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+ Description="{DynamicResource userdatapathToolTip}"
+ Header="{DynamicResource userdatapath}">
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
-
+
-
-
-
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
@@ -32,272 +32,268 @@
Text="{DynamicResource general}"
TextAlignment="left" />
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
-
+
-
+
-
-
+ Description="{DynamicResource showAtTopmostToolTip}"
+ Header="{DynamicResource showAtTopmost}">
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
-
-
+
-
-
-
-
+ Text="{Binding Settings.CustomWindowTop}"
+ TextWrapping="NoWrap" />
-
-
+
+
-
+ Description="{DynamicResource ignoreHotkeysOnFullscreenToolTip}"
+ Header="{DynamicResource ignoreHotkeysOnFullscreen}">
+
+
+
+
-
+
-
+ Description="{Binding AlwaysPreviewToolTip}"
+ Header="{DynamicResource AlwaysPreview}">
+
+
+
+
-
+
-
+ Description="{DynamicResource autoUpdatesTooltip}"
+ Header="{DynamicResource autoUpdates}">
+
+
+
+
-
+
+
+
+
+
+
-
-
+
-
-
-
-
+
-
-
-
-
-
-
-
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+ Description="{DynamicResource dialogJumpToolTip}"
+ Header="{DynamicResource dialogJump}">
+
+
+
+
+
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description="{DynamicResource homePageToolTip}"
+ Header="{DynamicResource homePage}">
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description="{DynamicResource defaultFileManagerToolTip}"
+ Header="{DynamicResource defaultFileManager}">
+
+
+
+
-
+
+
+
+
+
+
-
-
+
-
+
-
+
-
+
-
+
-
+ Description="{DynamicResource typingStartEnTooltip}"
+ Header="{DynamicResource typingStartEn}">
+
+
+
+
-
+
-
+ Description="{DynamicResource ShouldUsePinyinToolTip}"
+ Header="{DynamicResource ShouldUsePinyin}">
+
+
+
+
-
+
-
-
-
-
-
-
-
-
+ IsEqualToBool=True}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneHotkey.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneHotkey.xaml
index c45ac7a37e4..9c87fabadd3 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneHotkey.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneHotkey.xaml
@@ -5,6 +5,7 @@
xmlns:cc="clr-namespace:Flow.Launcher.Resources.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:flowlauncher="clr-namespace:Flow.Launcher"
+ xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:userSettings="clr-namespace:Flow.Launcher.Infrastructure.UserSettings;assembly=Flow.Launcher.Infrastructure"
@@ -27,437 +28,461 @@
Text="{DynamicResource hotkeys}"
TextAlignment="left" />
-
+
+
+
+
+
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ Description="{DynamicResource dialogJumpHotkeyToolTip}"
+ Header="{DynamicResource dialogJumpHotkey}">
+
+
+
+
-
+
-
-
-
+ Description="{DynamicResource hotkeyPresetsToolTip}"
+ Header="{DynamicResource hotkeyPresets}">
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Style="{StaticResource SettingSeparatorStyle}" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Style="{StaticResource SettingSeparatorStyle}" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml b/Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml
index 1bf4be830cf..a1ddff9888b 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml
@@ -3,6 +3,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
@@ -51,21 +52,22 @@
Grid.Column="1"
Margin="5 24 0 0">
-
+ Orientation="Horizontal"
+ Spacing="8">
-
+
@@ -94,14 +96,12 @@
@@ -150,7 +150,7 @@
-
+
-
+ Orientation="Horizontal"
+ Spacing="8">
@@ -109,7 +109,7 @@
-
+
-
+
-
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
-
+
-
+
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneTheme.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneTheme.xaml
index 2a65089b338..33a4b8c517e 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneTheme.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneTheme.xaml
@@ -6,6 +6,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ext="clr-namespace:Flow.Launcher.Resources.MarkupExtensions"
xmlns:flowlauncher="clr-namespace:Flow.Launcher"
+ xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:userSettings="clr-namespace:Flow.Launcher.Infrastructure.UserSettings;assembly=Flow.Launcher.Infrastructure"
@@ -392,301 +393,313 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Content="{DynamicResource browserMoreThemes}"
+ NavigateUri="{Binding LinkThemeGallery}" />
-
-
-
-
-
-
-
-
-
-
+ Description="{DynamicResource KeepMaxResultsToolTip}"
+ Header="{DynamicResource KeepMaxResults}">
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+ Width="100"
+ ItemsSource="{Binding MaxResultsRange}"
+ SelectedItem="{Binding Settings.MaxResultsToShow}" />
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+ MinWidth="150"
+ Text="{Binding PlaceholderText}"
+ TextWrapping="NoWrap" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+ Description="{DynamicResource SoundEffectTip}"
+ Header="{DynamicResource SoundEffect}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ Description="{DynamicResource useGlyphUIEffect}"
+ Header="{DynamicResource useGlyphUI}">
+
+
+
+
-
+
-
-
-
-
-
-
-
-
+ Description="{DynamicResource showBadgesToolTip}"
+ Header="{DynamicResource showBadges}">
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
-
+
-
+
+
+
+
+
-
+
-
+ Content="{DynamicResource howToCreateTheme}"
+ NavigateUri="{Binding LinkHowToCreateTheme}" />
From 119ff61e17f2328a0ef8165f4cea65299e56e52c Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 21 Aug 2025 10:08:42 +0800
Subject: [PATCH 20/25] Remove all unused resources
---
.../Resources/CustomControlTemplate.xaml | 3005 +----------------
Flow.Launcher/Resources/Dark.xaml | 1518 +--------
Flow.Launcher/Resources/Light.xaml | 1523 +--------
3 files changed, 104 insertions(+), 5942 deletions(-)
diff --git a/Flow.Launcher/Resources/CustomControlTemplate.xaml b/Flow.Launcher/Resources/CustomControlTemplate.xaml
index 91458f9b526..94dbc0b7fa4 100644
--- a/Flow.Launcher/Resources/CustomControlTemplate.xaml
+++ b/Flow.Launcher/Resources/CustomControlTemplate.xaml
@@ -3,6 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:Flow.Launcher.Converters"
xmlns:helper="clr-namespace:Flow.Launcher.Helper"
+ xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
xmlns:mdagif="clr-namespace:MdXaml.AnimatedGif;assembly=MdXaml.AnimatedGif"
xmlns:mdhtml="clr-namespace:MdXaml.Html;assembly=MdXaml.Html"
xmlns:mdplugins="clr-namespace:MdXaml.Plugins;assembly=MdXaml.Plugins"
@@ -52,7 +53,6 @@
-
@@ -92,7 +92,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0,0,0,4
- 12,6,0,6
- 11,5,32,6
- 32
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0,0,0,4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 8,5,8,6
-
-
-
-
-
-
-
-
+
0:0:0.033
0:0:0.367
0.1,0.9 0.2,1.0
@@ -2143,7 +719,8 @@
-
+
+
-
-
-
-
-
-
-
-
- 0,0,8,0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 40
- 4,4,4,4
- 1
- 1
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- F1 M 17.939453 5.439453 L 7.5 15.888672 L 2.060547 10.439453 L 2.939453 9.560547 L 7.5 14.111328 L 17.060547 4.560547 Z
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- M 5.029297 19.091797 L 14.111328 10 L 5.029297 0.908203 L 5.908203 0.029297 L 15.888672 10 L 5.908203 19.970703 Z
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
48
@@ -4423,7 +1611,7 @@
-
+
@@ -5165,10 +2353,8 @@
-
+
+
@@ -5491,14 +2677,12 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/Flow.Launcher/Resources/Dark.xaml b/Flow.Launcher/Resources/Dark.xaml
index 4e5a3032011..d6116591832 100644
--- a/Flow.Launcher/Resources/Dark.xaml
+++ b/Flow.Launcher/Resources/Dark.xaml
@@ -1,9 +1,9 @@
@@ -112,10 +112,13 @@
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1,1,1,1
- 0,0,0,0
- 1,1,1,1
- 1,1,1,1
-
-
-
-
-
-
-
- 1,1,1,1
- 0,0,0,1
-
-
- 4,4,4,4
- 4,4,4,4
-
-
-
-
-
-
-
-
- #FF000000
- #33000000
- #99000000
- #CC000000
- #66000000
- #FFFFFFFF
- #33FFFFFF
- #99FFFFFF
- #CCFFFFFF
- #66FFFFFF
- #45FFFFFF
- #FFF2F2F2
- #FF000000
- #33000000
- #66000000
- #CC000000
- #FF333333
- #FF858585
- #FF767676
- #FF171717
- #FF1F1F1F
- #FF323232
- #FF2B2B2B
- #FFFFFFFF
- #FF767676
- #19FFFFFF
- #33FFFFFF
- #FFF000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 24
- 48
- 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 374
- 0
- 1
- 0,2,0,2
- -1,0,-1,0
- 12,11,0,13
-
-
-
- 12
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 64
- 1
- 1
- 0
- 0,4,0,4
- Normal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 11,5,11,7
- 11,11,11,13
- 11,11,11,13
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 160
- 240
- 480
- 198
-
-
-
-
-
-
-
- 1
- 0,0,0,1
- 0,1,0,0
- 0
- 0
- 0
-
-
- 1
- 1,1,1,0
- 1,0,1,1
-
-
-
- 320
- 548
- 184
- 756
- 130
- 202
- 32
- 32
- 56
- 1
- 0,0,4,0
- 0,0,0,0
- 0,0,0,0
- 0,0,0,0
- 0,24,0,0
- 0,0,0,12
- 24,18,24,24
-
-
-
-
-
-
- 0.6
- 0.8
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0,0,0,4
- 1
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
- 758
- 456
- 40
- 96
- 240
- 1
- 0
- 12,11,12,12
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
- 44
- 44
- 20
- 20
-
-
-
-
-
-
- -40.5
- 0.55
- 0.80
- 0.80
- 0.50
- 0.95
- 10.0
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
- 1
- 32
- 1
- 0,0
- 24,0,0,0
- 11,9,11,10
- 11,4,11,7
- 28,0,0,0
- 56,0,0,0
- 12,4,12,4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
- 0
-
-
-
-
-
-
-
- 0.8
- 1.0
- 0
- 2
-
-
- 24
- 40
- 14
- -25
- 12,0,12,0
- 12,0,12,0
- 0
- 0,6,0,0
- 12,14,0,13
- 350
- Bold
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0.6
- 4
- 0
- #33FFFFFF
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4
- 2
- 0
- 0,0,0,4
- Normal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
- 320
- 48
- 0,0,1,0
- 1,0,0,0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 80
- 1
- 1
- 0,0,0,4
- 0,0,20,0
- 20,0,0,0
- Normal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 12
- 1
- 8,5,8,7
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
- 64
- 1
- 2
- 0,9.5,0,9.5
- 0,0,-2,0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- False
-
-
-
-
-
\ No newline at end of file
diff --git a/Flow.Launcher/Resources/Light.xaml b/Flow.Launcher/Resources/Light.xaml
index 877e00e7d0c..8b8bd257131 100644
--- a/Flow.Launcher/Resources/Light.xaml
+++ b/Flow.Launcher/Resources/Light.xaml
@@ -1,8 +1,8 @@
@@ -102,12 +102,12 @@
#f6f6f6
-
-
+
+
@@ -152,1519 +152,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1,1,1,0
- 0,0,0,2
- 1,1,1,0
- 1,1,1,1
-
-
-
-
-
-
-
- 1,1,1,1
- 0,0,0,1
-
-
-
- 4,4,4,4
- 4,4,4,4
-
-
-
-
-
-
-
-
-
- #FFFFFFFF
- #33FFFFFF
- #99FFFFFF
- #CCFFFFFF
- #66FFFFFF
- #FF000000
- #33000000
- #99000000
- #CC000000
- #66000000
-
- #3E000000
- #FF171717
- #FF000000
- #33000000
- #66000000
- #CC000000
- #FFCCCCCC
- #FF7A7A7A
- #FFCCCCCC
- #FFF2F2F2
- #FFE6E6E6
- #FFE6E6E6
- #FFF2F2F2
- #FFFFFFFF
- #FF767676
- #19000000
- #33000000
- #C50500
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 24
- 48
- 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 374
- 0
- 1
- 0,2,0,2
- -1,0,-1,0
- 10,11,0,13
-
-
-
- 12
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 64
- 1
- 1
- 0
- 0,4,0,4
- Normal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 11,5,11,7
- 11,11,11,13
- 11,11,11,13
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 160
- 240
- 480
- 198
-
-
-
-
-
-
-
- 1
- 0,0,0,1
- 0,1,0,0
- 0
- 0
- 0
-
-
- 1
- 1,1,1,0
- 1,0,1,1
-
-
-
- 320
- 548
- 184
- 756
- 130
- 202
- 32
- 32
- 56
- 1
- 0,0,4,0
- 0,0,0,0
- 0,0,0,0
- 0,0,0,0
- 0,24,0,0
- 0,0,0,12
- 24,18,24,24
-
-
-
-
-
-
- 0.4
- 0.6
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0,0,0,4
- 1
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
- 758
- 456
- 40
- 96
- 240
- 1
- 0
- 12,11,12,12
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
- 44
- 44
- 20
- 20
-
-
-
-
-
-
- -40.5
- 0.55
- 0.80
- 0.80
- 0.50
- 0.95
- 10.0
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
- 1
- 32
- 1
- 0,0
- 24,0,0,0
- 11,9,11,10
- 11,4,11,7
- 28,0,0,0
- 56,0,0,0
- 12,4,12,4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
- 0
-
-
-
-
-
-
-
- 0.8
- 1.0
- 0
- 2
-
-
- 24
- 40
- 14
- -25
- 12,0,12,0
- 12,0,12,0
- 0
- 0,6,0,0
- 12,14,0,13
- 350
- Bold
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0.6
- 4
- 0
- #29C50500
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4
- 2
- 0
- 0,0,0,4
- Normal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
- 320
- 48
- 0,0,1,0
- 1,0,0,0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 80
- 1
- 1
- 0,0,0,4
- 0,0,20,0
- 20,0,0,0
- Normal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 12
- 1
- 8,5,8,7
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
- 64
- 1
- 2
- 0,9.5,0,9.5
- 0,0,-2,0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- False
-
-
-
-
-
-
+
\ No newline at end of file
From 1b6932099190550251169dedf30598c9f92b473c Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 21 Aug 2025 10:09:20 +0800
Subject: [PATCH 21/25] Add TODOs to fix crashes & compability
---
Flow.Launcher/App.xaml | 5 +++++
Flow.Launcher/Resources/CustomControlTemplate.xaml | 6 ++++++
2 files changed, 11 insertions(+)
diff --git a/Flow.Launcher/App.xaml b/Flow.Launcher/App.xaml
index b9e5c496acc..56c32a75850 100644
--- a/Flow.Launcher/App.xaml
+++ b/Flow.Launcher/App.xaml
@@ -2,6 +2,7 @@
x:Class="Flow.Launcher.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
ShutdownMode="OnMainWindowClose"
Startup="OnStartup">
@@ -33,6 +34,10 @@
+
+
+ 0
+ 0
\ No newline at end of file
diff --git a/Flow.Launcher/Resources/CustomControlTemplate.xaml b/Flow.Launcher/Resources/CustomControlTemplate.xaml
index 94dbc0b7fa4..1e31d9de401 100644
--- a/Flow.Launcher/Resources/CustomControlTemplate.xaml
+++ b/Flow.Launcher/Resources/CustomControlTemplate.xaml
@@ -173,6 +173,12 @@
+
+
+
+
+
+
+
48
From 01f34599856caefa574bde9be5429dd1de5c7904 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 21 Aug 2025 10:49:36 +0800
Subject: [PATCH 24/25] Remove unused controls
---
Flow.Launcher/Resources/Controls/Card.xaml | 139 --------
Flow.Launcher/Resources/Controls/Card.xaml.cs | 67 ----
.../Resources/Controls/CardGroup.xaml | 32 --
.../Resources/Controls/CardGroup.xaml.cs | 47 ---
.../Controls/CardGroupCardStyleSelector.cs | 21 --
Flow.Launcher/Resources/Controls/ExCard.xaml | 312 ------------------
.../Resources/Controls/ExCard.xaml.cs | 57 ----
.../Resources/Controls/HyperLink.xaml | 14 -
.../Resources/Controls/HyperLink.xaml.cs | 39 ---
Flow.Launcher/Resources/Controls/InfoBar.xaml | 81 -----
.../Resources/Controls/InfoBar.xaml.cs | 222 -------------
11 files changed, 1031 deletions(-)
delete mode 100644 Flow.Launcher/Resources/Controls/Card.xaml
delete mode 100644 Flow.Launcher/Resources/Controls/Card.xaml.cs
delete mode 100644 Flow.Launcher/Resources/Controls/CardGroup.xaml
delete mode 100644 Flow.Launcher/Resources/Controls/CardGroup.xaml.cs
delete mode 100644 Flow.Launcher/Resources/Controls/CardGroupCardStyleSelector.cs
delete mode 100644 Flow.Launcher/Resources/Controls/ExCard.xaml
delete mode 100644 Flow.Launcher/Resources/Controls/ExCard.xaml.cs
delete mode 100644 Flow.Launcher/Resources/Controls/HyperLink.xaml
delete mode 100644 Flow.Launcher/Resources/Controls/HyperLink.xaml.cs
delete mode 100644 Flow.Launcher/Resources/Controls/InfoBar.xaml
delete mode 100644 Flow.Launcher/Resources/Controls/InfoBar.xaml.cs
diff --git a/Flow.Launcher/Resources/Controls/Card.xaml b/Flow.Launcher/Resources/Controls/Card.xaml
deleted file mode 100644
index fdd54d587c4..00000000000
--- a/Flow.Launcher/Resources/Controls/Card.xaml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Flow.Launcher/Resources/Controls/Card.xaml.cs b/Flow.Launcher/Resources/Controls/Card.xaml.cs
deleted file mode 100644
index 6a70dded2c9..00000000000
--- a/Flow.Launcher/Resources/Controls/Card.xaml.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-using System.Windows;
-using UserControl = System.Windows.Controls.UserControl;
-
-namespace Flow.Launcher.Resources.Controls
-{
- public partial class Card : UserControl
- {
- public enum CardType
- {
- Default,
- Inside,
- InsideFit,
- First,
- Middle,
- Last
- }
-
- public Card()
- {
- InitializeComponent();
- }
-
- public string Title
- {
- get { return (string)GetValue(TitleProperty); }
- set { SetValue(TitleProperty, value); }
- }
- public static readonly DependencyProperty TitleProperty =
- DependencyProperty.Register(nameof(Title), typeof(string), typeof(Card), new PropertyMetadata(string.Empty));
-
- public string Sub
- {
- get { return (string)GetValue(SubProperty); }
- set { SetValue(SubProperty, value); }
- }
- public static readonly DependencyProperty SubProperty =
- DependencyProperty.Register(nameof(Sub), typeof(string), typeof(Card), new PropertyMetadata(string.Empty));
-
- public string Icon
- {
- get { return (string)GetValue(IconProperty); }
- set { SetValue(IconProperty, value); }
- }
- public static readonly DependencyProperty IconProperty =
- DependencyProperty.Register(nameof(Icon), typeof(string), typeof(Card), new PropertyMetadata(string.Empty));
-
- ///
- /// Gets or sets additional content for the UserControl
- ///
- public object AdditionalContent
- {
- get { return (object)GetValue(AdditionalContentProperty); }
- set { SetValue(AdditionalContentProperty, value); }
- }
- public static readonly DependencyProperty AdditionalContentProperty =
- DependencyProperty.Register(nameof(AdditionalContent), typeof(object), typeof(Card),
- new PropertyMetadata(null));
- public CardType Type
- {
- get { return (CardType)GetValue(TypeProperty); }
- set { SetValue(TypeProperty, value); }
- }
- public static readonly DependencyProperty TypeProperty =
- DependencyProperty.Register(nameof(Type), typeof(CardType), typeof(Card),
- new PropertyMetadata(CardType.Default));
- }
-}
diff --git a/Flow.Launcher/Resources/Controls/CardGroup.xaml b/Flow.Launcher/Resources/Controls/CardGroup.xaml
deleted file mode 100644
index f48bf4b6c9f..00000000000
--- a/Flow.Launcher/Resources/Controls/CardGroup.xaml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Flow.Launcher/Resources/Controls/CardGroup.xaml.cs b/Flow.Launcher/Resources/Controls/CardGroup.xaml.cs
deleted file mode 100644
index b9588275c7f..00000000000
--- a/Flow.Launcher/Resources/Controls/CardGroup.xaml.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using System;
-using System.Collections.ObjectModel;
-using System.Windows;
-using System.Windows.Controls;
-
-namespace Flow.Launcher.Resources.Controls;
-
-public partial class CardGroup : UserControl
-{
- public enum CardGroupPosition
- {
- NotInGroup,
- First,
- Middle,
- Last
- }
-
- public new ObservableCollection Content
- {
- get { return (ObservableCollection)GetValue(ContentProperty); }
- set { SetValue(ContentProperty, value); }
- }
-
- public static new readonly DependencyProperty ContentProperty =
- DependencyProperty.Register(nameof(Content), typeof(ObservableCollection), typeof(CardGroup));
-
- public static readonly DependencyProperty PositionProperty = DependencyProperty.RegisterAttached(
- "Position", typeof(CardGroupPosition), typeof(CardGroup),
- new FrameworkPropertyMetadata(CardGroupPosition.NotInGroup, FrameworkPropertyMetadataOptions.AffectsRender)
- );
-
- public static void SetPosition(UIElement element, CardGroupPosition value)
- {
- element.SetValue(PositionProperty, value);
- }
-
- public static CardGroupPosition GetPosition(UIElement element)
- {
- return (CardGroupPosition)element.GetValue(PositionProperty);
- }
-
- public CardGroup()
- {
- InitializeComponent();
- Content = new ObservableCollection();
- }
-}
diff --git a/Flow.Launcher/Resources/Controls/CardGroupCardStyleSelector.cs b/Flow.Launcher/Resources/Controls/CardGroupCardStyleSelector.cs
deleted file mode 100644
index 605934e80c1..00000000000
--- a/Flow.Launcher/Resources/Controls/CardGroupCardStyleSelector.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Windows;
-using System.Windows.Controls;
-
-namespace Flow.Launcher.Resources.Controls;
-
-public class CardGroupCardStyleSelector : StyleSelector
-{
- public Style FirstStyle { get; set; }
- public Style MiddleStyle { get; set; }
- public Style LastStyle { get; set; }
-
- public override Style SelectStyle(object item, DependencyObject container)
- {
- var itemsControl = ItemsControl.ItemsControlFromItemContainer(container);
- var index = itemsControl.ItemContainerGenerator.IndexFromContainer(container);
-
- if (index == 0) return FirstStyle;
- if (index == itemsControl.Items.Count - 1) return LastStyle;
- return MiddleStyle;
- }
-}
diff --git a/Flow.Launcher/Resources/Controls/ExCard.xaml b/Flow.Launcher/Resources/Controls/ExCard.xaml
deleted file mode 100644
index 857bf719dde..00000000000
--- a/Flow.Launcher/Resources/Controls/ExCard.xaml
+++ /dev/null
@@ -1,312 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Flow.Launcher/Resources/Controls/ExCard.xaml.cs b/Flow.Launcher/Resources/Controls/ExCard.xaml.cs
deleted file mode 100644
index f149951f039..00000000000
--- a/Flow.Launcher/Resources/Controls/ExCard.xaml.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using System.Windows;
-using System.Windows.Controls;
-
-namespace Flow.Launcher.Resources.Controls
-{
- public partial class ExCard : UserControl
- {
- public ExCard()
- {
- InitializeComponent();
- }
- public string Title
- {
- get { return (string)GetValue(TitleProperty); }
- set { SetValue(TitleProperty, value); }
- }
- public static readonly DependencyProperty TitleProperty =
- DependencyProperty.Register(nameof(Title), typeof(string), typeof(ExCard), new PropertyMetadata(string.Empty));
-
- public string Sub
- {
- get { return (string)GetValue(SubProperty); }
- set { SetValue(SubProperty, value); }
- }
- public static readonly DependencyProperty SubProperty =
- DependencyProperty.Register(nameof(Sub), typeof(string), typeof(ExCard), new PropertyMetadata(string.Empty));
-
- public string Icon
- {
- get { return (string)GetValue(IconProperty); }
- set { SetValue(IconProperty, value); }
- }
- public static readonly DependencyProperty IconProperty =
- DependencyProperty.Register(nameof(Icon), typeof(string), typeof(ExCard), new PropertyMetadata(string.Empty));
-
- ///
- /// Gets or sets additional content for the UserControl
- ///
- public object AdditionalContent
- {
- get { return (object)GetValue(AdditionalContentProperty); }
- set { SetValue(AdditionalContentProperty, value); }
- }
- public static readonly DependencyProperty AdditionalContentProperty =
- DependencyProperty.Register(nameof(AdditionalContent), typeof(object), typeof(ExCard),
- new PropertyMetadata(null));
-
- public object SideContent
- {
- get { return (object)GetValue(SideContentProperty); }
- set { SetValue(SideContentProperty, value); }
- }
- public static readonly DependencyProperty SideContentProperty =
- DependencyProperty.Register(nameof(SideContent), typeof(object), typeof(ExCard),
- new PropertyMetadata(null));
- }
-}
diff --git a/Flow.Launcher/Resources/Controls/HyperLink.xaml b/Flow.Launcher/Resources/Controls/HyperLink.xaml
deleted file mode 100644
index 9ea550afd51..00000000000
--- a/Flow.Launcher/Resources/Controls/HyperLink.xaml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
diff --git a/Flow.Launcher/Resources/Controls/HyperLink.xaml.cs b/Flow.Launcher/Resources/Controls/HyperLink.xaml.cs
deleted file mode 100644
index 855cccdbd60..00000000000
--- a/Flow.Launcher/Resources/Controls/HyperLink.xaml.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Navigation;
-
-namespace Flow.Launcher.Resources.Controls;
-
-public partial class HyperLink : UserControl
-{
- public static readonly DependencyProperty UriProperty = DependencyProperty.Register(
- nameof(Uri), typeof(string), typeof(HyperLink), new PropertyMetadata(default(string))
- );
-
- public string Uri
- {
- get => (string)GetValue(UriProperty);
- set => SetValue(UriProperty, value);
- }
-
- public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
- nameof(Text), typeof(string), typeof(HyperLink), new PropertyMetadata(default(string))
- );
-
- public string Text
- {
- get => (string)GetValue(TextProperty);
- set => SetValue(TextProperty, value);
- }
-
- public HyperLink()
- {
- InitializeComponent();
- }
-
- private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
- {
- App.API.OpenUrl(e.Uri);
- e.Handled = true;
- }
-}
diff --git a/Flow.Launcher/Resources/Controls/InfoBar.xaml b/Flow.Launcher/Resources/Controls/InfoBar.xaml
deleted file mode 100644
index df75a75da7a..00000000000
--- a/Flow.Launcher/Resources/Controls/InfoBar.xaml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Flow.Launcher/Resources/Controls/InfoBar.xaml.cs b/Flow.Launcher/Resources/Controls/InfoBar.xaml.cs
deleted file mode 100644
index ebf763e22ab..00000000000
--- a/Flow.Launcher/Resources/Controls/InfoBar.xaml.cs
+++ /dev/null
@@ -1,222 +0,0 @@
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Media;
-
-namespace Flow.Launcher.Resources.Controls
-{
- public partial class InfoBar : UserControl
- {
- public InfoBar()
- {
- InitializeComponent();
- Loaded += InfoBar_Loaded;
- }
-
- private void InfoBar_Loaded(object sender, RoutedEventArgs e)
- {
- UpdateStyle();
- UpdateTitleVisibility();
- UpdateMessageVisibility();
- UpdateOrientation();
- UpdateIconAlignmentAndMargin();
- UpdateIconVisibility();
- UpdateCloseButtonVisibility();
- }
-
- public static readonly DependencyProperty TypeProperty =
- DependencyProperty.Register(nameof(Type), typeof(InfoBarType), typeof(InfoBar), new PropertyMetadata(InfoBarType.Info, OnTypeChanged));
-
- public InfoBarType Type
- {
- get => (InfoBarType)GetValue(TypeProperty);
- set => SetValue(TypeProperty, value);
- }
-
- private static void OnTypeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- if (d is InfoBar infoBar)
- {
- infoBar.UpdateStyle();
- }
- }
-
- public static readonly DependencyProperty MessageProperty =
- DependencyProperty.Register(nameof(Message), typeof(string), typeof(InfoBar), new PropertyMetadata(string.Empty, OnMessageChanged));
-
- public string Message
- {
- get => (string)GetValue(MessageProperty);
- set
- {
- SetValue(MessageProperty, value);
- }
- }
-
- private static void OnMessageChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- if (d is InfoBar infoBar)
- {
- infoBar.UpdateMessageVisibility();
- }
- }
-
- private void UpdateMessageVisibility()
- {
- PART_Message.Visibility = string.IsNullOrEmpty(Message) ? Visibility.Collapsed : Visibility.Visible;
- }
-
- public static readonly DependencyProperty TitleProperty =
- DependencyProperty.Register(nameof(Title), typeof(string), typeof(InfoBar), new PropertyMetadata(string.Empty, OnTitleChanged));
-
- public string Title
- {
- get => (string)GetValue(TitleProperty);
- set
- {
- SetValue(TitleProperty, value);
- UpdateTitleVisibility(); // Visibility update when change Title
- }
- }
-
- private static void OnTitleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- if (d is InfoBar infoBar)
- {
- infoBar.UpdateTitleVisibility();
- }
- }
-
- private void UpdateTitleVisibility()
- {
- PART_Title.Visibility = string.IsNullOrEmpty(Title) ? Visibility.Collapsed : Visibility.Visible;
- }
-
- public static readonly DependencyProperty IsIconVisibleProperty =
- DependencyProperty.Register(nameof(IsIconVisible), typeof(bool), typeof(InfoBar), new PropertyMetadata(true, OnIsIconVisibleChanged));
-
- public bool IsIconVisible
- {
- get => (bool)GetValue(IsIconVisibleProperty);
- set => SetValue(IsIconVisibleProperty, value);
- }
-
- public static readonly DependencyProperty LengthProperty =
- DependencyProperty.Register(nameof(Length), typeof(InfoBarLength), typeof(InfoBar), new PropertyMetadata(InfoBarLength.Short, OnLengthChanged));
-
- public InfoBarLength Length
- {
- get { return (InfoBarLength)GetValue(LengthProperty); }
- set { SetValue(LengthProperty, value); }
- }
-
- private static void OnLengthChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- if (d is InfoBar infoBar)
- {
- infoBar.UpdateOrientation();
- infoBar.UpdateIconAlignmentAndMargin();
- }
- }
-
- private void UpdateOrientation()
- {
- PART_StackPanel.Orientation = Length == InfoBarLength.Long ? Orientation.Vertical : Orientation.Horizontal;
- }
-
- private void UpdateIconAlignmentAndMargin()
- {
- if (Length == InfoBarLength.Short)
- {
- PART_IconBorder.VerticalAlignment = VerticalAlignment.Center;
- PART_IconBorder.Margin = new Thickness(0, 0, 12, 0);
- }
- else
- {
- PART_IconBorder.VerticalAlignment = VerticalAlignment.Top;
- PART_IconBorder.Margin = new Thickness(0, 2, 12, 0);
- }
- }
-
- public static readonly DependencyProperty ClosableProperty =
- DependencyProperty.Register(nameof(Closable), typeof(bool), typeof(InfoBar), new PropertyMetadata(true, OnClosableChanged));
-
- public bool Closable
- {
- get => (bool)GetValue(ClosableProperty);
- set => SetValue(ClosableProperty, value);
- }
-
- private void PART_CloseButton_Click(object sender, RoutedEventArgs e)
- {
- Visibility = Visibility.Collapsed;
- }
-
- private void UpdateStyle()
- {
- switch (Type)
- {
- case InfoBarType.Info:
- PART_Border.Background = (Brush)FindResource("InfoBarInfoBG");
- PART_IconBorder.Background = (Brush)FindResource("InfoBarInfoIcon");
- PART_Icon.Glyph = "\xF13F";
- break;
- case InfoBarType.Success:
- PART_Border.Background = (Brush)FindResource("InfoBarSuccessBG");
- PART_IconBorder.Background = (Brush)FindResource("InfoBarSuccessIcon");
- PART_Icon.Glyph = "\xF13E";
- break;
- case InfoBarType.Warning:
- PART_Border.Background = (Brush)FindResource("InfoBarWarningBG");
- PART_IconBorder.Background = (Brush)FindResource("InfoBarWarningIcon");
- PART_Icon.Glyph = "\xF13C";
- break;
- case InfoBarType.Error:
- PART_Border.Background = (Brush)FindResource("InfoBarErrorBG");
- PART_IconBorder.Background = (Brush)FindResource("InfoBarErrorIcon");
- PART_Icon.Glyph = "\xF13D";
- break;
- default:
- PART_Border.Background = (Brush)FindResource("InfoBarInfoBG");
- PART_IconBorder.Background = (Brush)FindResource("InfoBarInfoIcon");
- PART_Icon.Glyph = "\xF13F";
- break;
- }
- }
-
- private static void OnIsIconVisibleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- var infoBar = (InfoBar)d;
- infoBar.UpdateIconVisibility();
- }
-
- private static void OnClosableChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- var infoBar = (InfoBar)d;
- infoBar.UpdateCloseButtonVisibility();
- }
-
- private void UpdateIconVisibility()
- {
- PART_IconBorder.Visibility = IsIconVisible ? Visibility.Visible : Visibility.Collapsed;
- }
-
- private void UpdateCloseButtonVisibility()
- {
- PART_CloseButton.Visibility = Closable ? Visibility.Visible : Visibility.Collapsed;
- }
- }
-
- public enum InfoBarType
- {
- Info,
- Success,
- Warning,
- Error
- }
-
- public enum InfoBarLength
- {
- Short,
- Long
- }
-}
From 06f805e3726cc29b28d83ccef7ba98efaac23989 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Thu, 21 Aug 2025 10:49:41 +0800
Subject: [PATCH 25/25] Organize resources
---
Flow.Launcher/Resources/Dark.xaml | 29 ++++-------------------------
Flow.Launcher/Resources/Light.xaml | 25 +++----------------------
2 files changed, 7 insertions(+), 47 deletions(-)
diff --git a/Flow.Launcher/Resources/Dark.xaml b/Flow.Launcher/Resources/Dark.xaml
index d6116591832..51d1e2b2754 100644
--- a/Flow.Launcher/Resources/Dark.xaml
+++ b/Flow.Launcher/Resources/Dark.xaml
@@ -55,14 +55,12 @@
-
-
-
-
+
+
@@ -76,8 +74,6 @@
- #272727
-
#202020
#2b2b2b
#1d1d1d
@@ -107,8 +103,6 @@
#f5f5f5
#464646
#ffffff
-
- #272727
@@ -119,20 +113,12 @@
-
+
-
-
-
-
-
-
+
@@ -153,11 +139,4 @@
0,0,0,0
1,1,1,1
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Flow.Launcher/Resources/Light.xaml b/Flow.Launcher/Resources/Light.xaml
index 8b8bd257131..f196db299d8 100644
--- a/Flow.Launcher/Resources/Light.xaml
+++ b/Flow.Launcher/Resources/Light.xaml
@@ -51,12 +51,12 @@
-
+
@@ -71,8 +71,6 @@
- #f6f6f6
-
#f3f3f3
#ffffff
#e5e5e5
@@ -99,8 +97,6 @@
#f5f5f5
#878787
#1b1b1b
-
- #f6f6f6
@@ -111,20 +107,12 @@
-
+
-
-
-
-
-
-
+
@@ -145,11 +133,4 @@
1,1,1,1
0,0,0,0
-
-
-
-
-
-
-
\ No newline at end of file