From aafbdebb9b8dcca8bfeffaf80685f760f1dbcb36 Mon Sep 17 00:00:00 2001
From: Garulf <535299+Garulf@users.noreply.github.com>
Date: Mon, 20 Dec 2021 02:20:26 -0500
Subject: [PATCH] Allow adjustment of offset in settings file
---
Flow.Launcher.Infrastructure/UserSettings/Settings.cs | 1 +
Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs | 8 ++++++--
Flow.Launcher/MainWindow.xaml | 1 +
Flow.Launcher/ViewModel/MainViewModel.cs | 8 ++++++++
4 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
index 8ecd6dc4b..b02ef0270 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
@@ -15,6 +15,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings
private string language = "en";
public string Hotkey { get; set; } = $"{KeyConstant.Alt} + {KeyConstant.Space}";
public string OpenResultModifiers { get; set; } = KeyConstant.Alt;
+ public int SuggestionTextOffset { get; set; } = 40;
public string ColorScheme { get; set; } = "System";
public bool ShowOpenResultHotkey { get; set; } = true;
public double WindowSize { get; set; } = 580;
diff --git a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
index 364a17d21..fd1e0de10 100644
--- a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
+++ b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
@@ -12,7 +12,8 @@ namespace Flow.Launcher.Converters
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
- if (values.Length != 3)
+
+ if (values.Length != 4)
{
return string.Empty;
}
@@ -53,7 +54,10 @@ namespace Flow.Launcher.Converters
// Check if Text will be larger then our QueryTextBox
System.Windows.Media.Typeface typeface = new Typeface(QueryTextBox.FontFamily, QueryTextBox.FontStyle, QueryTextBox.FontWeight, QueryTextBox.FontStretch);
System.Windows.Media.FormattedText ft = new FormattedText(QueryTextBox.Text, System.Globalization.CultureInfo.CurrentCulture, System.Windows.FlowDirection.LeftToRight, typeface, QueryTextBox.FontSize, Brushes.Black);
- if ((ft.Width + 40) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
+
+ var FormatOffset = (int)values[3];
+
+ if ((ft.Width + FormatOffset) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
{
return string.Empty;
};
diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml
index 75120322f..2c0a17144 100644
--- a/Flow.Launcher/MainWindow.xaml
+++ b/Flow.Launcher/MainWindow.xaml
@@ -164,6 +164,7 @@
+
diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs
index abf3a1d14..de44c6dd7 100644
--- a/Flow.Launcher/ViewModel/MainViewModel.cs
+++ b/Flow.Launcher/ViewModel/MainViewModel.cs
@@ -84,6 +84,7 @@ namespace Flow.Launcher.ViewModel
InitializeKeyCommands();
RegisterViewUpdate();
RegisterResultsUpdatedEvent();
+ SetSuggestionTextOffset();
SetOpenResultModifiers();
}
@@ -395,6 +396,8 @@ namespace Flow.Launcher.ViewModel
public double MainWindowWidth => _settings.WindowSize;
+ public int SuggestionTextOffset { get; set; }
+
public ICommand EscCommand { get; set; }
public ICommand SelectNextItemCommand { get; set; }
public ICommand SelectPrevItemCommand { get; set; }
@@ -720,6 +723,11 @@ namespace Flow.Launcher.ViewModel
OpenResultCommandModifiers = _settings.OpenResultModifiers ?? DefaultOpenResultModifiers;
}
+ private void SetSuggestionTextOffset()
+ {
+ SuggestionTextOffset = _settings.SuggestionTextOffset;
+ }
+
public void ToggleFlowLauncher()
{
if (!MainWindowVisibilityStatus)