Skip to content

Commit c4cd51c

Browse files
committed
Change to search delay time
1 parent dec1e77 commit c4cd51c

File tree

14 files changed

+115
-118
lines changed

14 files changed

+115
-118
lines changed

Flow.Launcher.Infrastructure/UserSettings/PluginSettings.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public void UpdatePluginSettings(List<PluginMetadata> metadatas)
5151
settings.Version = metadata.Version;
5252
}
5353
settings.DefaultActionKeywords = metadata.ActionKeywords; // metadata provides default values
54-
settings.DefaultSearchDelaySpeed = metadata.SearchDelaySpeed; // metadata provides default values
54+
settings.DefaultSearchDelayTime = metadata.SearchDelayTime; // metadata provides default values
5555

5656
// update metadata values with settings
5757
if (settings.ActionKeywords?.Count > 0)
@@ -66,7 +66,7 @@ public void UpdatePluginSettings(List<PluginMetadata> metadatas)
6666
}
6767
metadata.Disabled = settings.Disabled;
6868
metadata.Priority = settings.Priority;
69-
metadata.SearchDelaySpeed = settings.SearchDelaySpeed;
69+
metadata.SearchDelayTime = settings.SearchDelayTime;
7070
}
7171
else
7272
{
@@ -80,8 +80,8 @@ public void UpdatePluginSettings(List<PluginMetadata> metadatas)
8080
ActionKeywords = metadata.ActionKeywords, // use default value
8181
Disabled = metadata.Disabled,
8282
Priority = metadata.Priority,
83-
DefaultSearchDelaySpeed = metadata.SearchDelaySpeed, // metadata provides default values
84-
SearchDelaySpeed = metadata.SearchDelaySpeed, // use default value
83+
DefaultSearchDelayTime = metadata.SearchDelayTime, // metadata provides default values
84+
SearchDelayTime = metadata.SearchDelayTime, // use default value
8585
};
8686
}
8787
}
@@ -120,10 +120,10 @@ public class Plugin
120120
public int Priority { get; set; }
121121

122122
[JsonIgnore]
123-
public SearchDelaySpeeds? DefaultSearchDelaySpeed { get; set; }
123+
public SearchDelayTime? DefaultSearchDelayTime { get; set; }
124124

125125
[JsonConverter(typeof(JsonStringEnumConverter))]
126-
public SearchDelaySpeeds? SearchDelaySpeed { get; set; }
126+
public SearchDelayTime? SearchDelayTime { get; set; }
127127

128128
/// <summary>
129129
/// Used only to save the state of the plugin in settings

Flow.Launcher.Infrastructure/UserSettings/Settings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ public bool HideNotifyIcon
323323
public bool SearchQueryResultsWithDelay { get; set; }
324324

325325
[JsonConverter(typeof(JsonStringEnumConverter))]
326-
public SearchDelaySpeeds SearchDelaySpeed { get; set; } = SearchDelaySpeeds.Medium;
326+
public SearchDelayTime SearchDelayTime { get; set; } = SearchDelayTime.Medium;
327327

328328
[JsonConverter(typeof(JsonStringEnumConverter))]
329329
public SearchWindowScreens SearchWindowScreen { get; set; } = SearchWindowScreens.Cursor;

Flow.Launcher.Plugin/PluginMetadata.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,10 @@ internal set
9999
public bool HideActionKeywordPanel { get; set; }
100100

101101
/// <summary>
102-
/// Plugin search delay speed. Null means use default search delay.
102+
/// Plugin search delay time. Null means use default search delay time.
103103
/// </summary>
104104
[JsonConverter(typeof(JsonStringEnumConverter))]
105-
public SearchDelaySpeeds? SearchDelaySpeed { get; set; } = null;
105+
public SearchDelayTime? SearchDelayTime { get; set; } = null;
106106

107107
/// <summary>
108108
/// Plugin icon path.

Flow.Launcher.Plugin/SearchDelaySpeeds.cs

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
namespace Flow.Launcher.Plugin;
2+
3+
/// <summary>
4+
/// Enum for search delay time
5+
/// </summary>
6+
public enum SearchDelayTime
7+
{
8+
/// <summary>
9+
/// Long search delay time. 250ms.
10+
/// </summary>
11+
Long,
12+
13+
/// <summary>
14+
/// Moderately long search delay time. 200ms.
15+
/// </summary>
16+
ModeratelyLong,
17+
18+
/// <summary>
19+
/// Medium search delay time. 150ms. Default value.
20+
/// </summary>
21+
Medium,
22+
23+
/// <summary>
24+
/// Moderately short search delay time. 100ms.
25+
/// </summary>
26+
ModeratelyShort,
27+
28+
/// <summary>
29+
/// Short search delay time. 50ms.
30+
/// </summary>
31+
Short
32+
}

Flow.Launcher/Languages/en.xaml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,13 @@
104104
<system:String x:Key="shadowEffectNotAllowed">Shadow effect is not allowed while current theme has blur effect enabled</system:String>
105105
<system:String x:Key="searchDelay">Search Delay</system:String>
106106
<system:String x:Key="searchDelayToolTip">Delay for a while to search when typing. This reduces interface jumpiness and result load.</system:String>
107-
<system:String x:Key="searchDelaySpeed">Default Search Delay Speed</system:String>
108-
<system:String x:Key="searchDelaySpeedToolTip">Plugins default delay time after which search results appear when typing is stopped. Default is medium.</system:String>
109-
<system:String x:Key="SearchDelaySpeedSlow">Slow</system:String>
110-
<system:String x:Key="SearchDelaySpeedModeratelySlow">Moderately slow</system:String>
111-
<system:String x:Key="SearchDelaySpeedMedium">Medium</system:String>
112-
<system:String x:Key="SearchDelaySpeedModeratelyFast">Moderately fast</system:String>
113-
<system:String x:Key="SearchDelaySpeedFast">Fast</system:String>
107+
<system:String x:Key="searchDelayTime">Default Search Delay Time</system:String>
108+
<system:String x:Key="searchDelayTimeToolTip">Plugin default delay time after which search results appear when typing is stopped. Default is "Medium".</system:String>
109+
<system:String x:Key="SearchDelayTimeLong">Long</system:String>
110+
<system:String x:Key="SearchDelayTimeModeratelyLong">Moderately long</system:String>
111+
<system:String x:Key="SearchDelayTimeMedium">Medium</system:String>
112+
<system:String x:Key="SearchDelayTimeModeratelyShort">Moderately short</system:String>
113+
<system:String x:Key="SearchDelayTimeShort">Short</system:String>
114114

115115
<!-- Setting Plugin -->
116116
<system:String x:Key="searchplugin">Search Plugin</system:String>
@@ -127,8 +127,8 @@
127127
<system:String x:Key="currentActionKeywords">Current action keyword</system:String>
128128
<system:String x:Key="newActionKeyword">New action keyword</system:String>
129129
<system:String x:Key="actionKeywordsTooltip">Change Action Keywords</system:String>
130-
<system:String x:Key="pluginSearchDelaySpeed">Plugin seach delay speed</system:String>
131-
<system:String x:Key="pluginSearchDelaySpeedTooltip">Change Plugin Seach Delay Speed</system:String>
130+
<system:String x:Key="pluginSearchDelayTime">Plugin seach delay time</system:String>
131+
<system:String x:Key="pluginSearchDelayTimeTooltip">Change Plugin Seach Delay Time</system:String>
132132
<system:String x:Key="currentPriority">Current Priority</system:String>
133133
<system:String x:Key="newPriority">New Priority</system:String>
134134
<system:String x:Key="priority">Priority</system:String>
@@ -366,10 +366,10 @@
366366
<system:String x:Key="actionkeyword_tips">Enter the action keywords you like to use to start the plugin and use whitespace to divide them. Use * if you don't want to specify any, and the plugin will be triggered without any action keywords.</system:String>
367367

368368
<!-- Search Delay Settings Dialog -->
369-
<system:String x:Key="searchDelaySpeedTitle">Search Delay Speed Setting</system:String>
370-
<system:String x:Key="searchDelaySpeed_tips">Select the search delay speed you like to use for the plugin. Select Default if you don't want to specify any, and the plugin will use default search delay speed.</system:String>
371-
<system:String x:Key="currentSearchDelaySpeed">Current search delay speed</system:String>
372-
<system:String x:Key="newSearchDelaySpeed">New search delay speed</system:String>
369+
<system:String x:Key="searchDelayTimeTitle">Search Delay Time Setting</system:String>
370+
<system:String x:Key="searchDelayTime_tips">Select the search delay time you like to use for the plugin. Select "{0}" if you don't want to specify any, and the plugin will use default search delay time.</system:String>
371+
<system:String x:Key="currentSearchDelayTime">Current search delay time</system:String>
372+
<system:String x:Key="newSearchDelayTime">New search delay time</system:String>
373373

374374
<!-- Custom Query Hotkey Dialog -->
375375
<system:String x:Key="customeQueryHotkeyTitle">Custom Query Hotkey</system:String>

Flow.Launcher/Resources/Controls/InstalledPluginSearchDelay.xaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@
3232
VerticalAlignment="Center"
3333
DockPanel.Dock="Left"
3434
Style="{DynamicResource SettingTitleLabel}"
35-
Text="{DynamicResource pluginSearchDelaySpeed}" />
35+
Text="{DynamicResource pluginSearchDelayTime}" />
3636
<!-- Here Margin="0 -4.5 0 -4.5" is to remove redundant top bottom margin from Margin="{StaticResource SettingPanelMargin}" -->
3737
<Button
3838
Width="100"
3939
Margin="0 -4.5 0 -4.5"
4040
HorizontalAlignment="Right"
41-
Command="{Binding SetSearchDelaySpeedCommand}"
42-
Content="{Binding SearchDelaySpeedText}"
41+
Command="{Binding SetSearchDelayTimeCommand}"
42+
Content="{Binding SearchDelayTimeText}"
4343
Cursor="Hand"
4444
DockPanel.Dock="Right"
4545
FontWeight="Bold"
46-
ToolTip="{DynamicResource pluginSearchDelaySpeedTooltip}" />
46+
ToolTip="{DynamicResource pluginSearchDelayTimeTooltip}" />
4747
</DockPanel>
4848
</Border>
4949
</UserControl>

Flow.Launcher/SearchDelaySpeedWindow.xaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<Window
2-
x:Class="Flow.Launcher.SearchDelaySpeedWindow"
2+
x:Class="Flow.Launcher.SearchDelayTimeWindow"
33
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
44
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5-
Title="{DynamicResource searchDelaySpeedTitle}"
5+
Title="{DynamicResource searchDelayTimeTitle}"
66
Width="450"
77
Background="{DynamicResource PopuBGColor}"
88
Foreground="{DynamicResource PopupTextColor}"
99
Icon="Images\app.png"
10-
Loaded="SearchDelaySpeed_OnLoaded"
10+
Loaded="SearchDelayTimeWindow_OnLoaded"
1111
ResizeMode="NoResize"
1212
SizeToContent="Height"
1313
WindowStartupLocation="CenterScreen">
@@ -60,13 +60,13 @@
6060
Margin="0 0 0 0"
6161
FontSize="20"
6262
FontWeight="SemiBold"
63-
Text="{DynamicResource searchDelaySpeedTitle}"
63+
Text="{DynamicResource searchDelayTimeTitle}"
6464
TextAlignment="Left" />
6565
</StackPanel>
6666
<StackPanel>
6767
<TextBlock
6868
FontSize="14"
69-
Text="{DynamicResource searchDelaySpeed_tips}"
69+
Text="{DynamicResource searchDelayTime_tips}"
7070
TextAlignment="Left"
7171
TextWrapping="WrapWithOverflow" />
7272
</StackPanel>
@@ -78,9 +78,9 @@
7878
HorizontalAlignment="Left"
7979
VerticalAlignment="Center"
8080
FontSize="14"
81-
Text="{DynamicResource currentSearchDelaySpeed}" />
81+
Text="{DynamicResource currentSearchDelayTime}" />
8282
<TextBlock
83-
x:Name="tbOldSearchDelaySpeed"
83+
x:Name="tbOldSearchDelayTime"
8484
Grid.Row="0"
8585
Grid.Column="1"
8686
Margin="14 10 10 10"
@@ -97,7 +97,7 @@
9797
HorizontalAlignment="Left"
9898
VerticalAlignment="Center"
9999
FontSize="14"
100-
Text="{DynamicResource newSearchDelaySpeed}" />
100+
Text="{DynamicResource newSearchDelayTime}" />
101101
<ComboBox
102102
x:Name="tbDelay"
103103
MaxWidth="200"

Flow.Launcher/SearchDelaySpeedWindow.xaml.cs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,31 +7,31 @@
77

88
namespace Flow.Launcher;
99

10-
public partial class SearchDelaySpeedWindow : Window
10+
public partial class SearchDelayTimeWindow : Window
1111
{
1212
private readonly PluginViewModel _pluginViewModel;
1313

14-
public SearchDelaySpeedWindow(PluginViewModel pluginViewModel)
14+
public SearchDelayTimeWindow(PluginViewModel pluginViewModel)
1515
{
1616
InitializeComponent();
1717
_pluginViewModel = pluginViewModel;
1818
}
1919

20-
private void SearchDelaySpeed_OnLoaded(object sender, RoutedEventArgs e)
20+
private void SearchDelayTimeWindow_OnLoaded(object sender, RoutedEventArgs e)
2121
{
22-
tbOldSearchDelaySpeed.Text = _pluginViewModel.SearchDelaySpeedText;
23-
var searchDelaySpeeds = DropdownDataGeneric<SearchDelaySpeeds>.GetValues<SearchDelaySpeedData>("SearchDelaySpeed");
24-
SearchDelaySpeedData selected = null;
25-
// Because default value is SearchDelaySpeeds.Slow, we need to get selected value before adding default value
26-
if (_pluginViewModel.PluginSearchDelay != null)
22+
tbOldSearchDelayTime.Text = _pluginViewModel.SearchDelayTimeText;
23+
var searchDelayTimes = DropdownDataGeneric<SearchDelayTime>.GetValues<SearchDelayTimeData>("SearchDelayTime");
24+
SearchDelayTimeData selected = null;
25+
// Because default value is SearchDelayTime.Slow, we need to get selected value before adding default value
26+
if (_pluginViewModel.PluginSearchDelayTime != null)
2727
{
28-
selected = searchDelaySpeeds.FirstOrDefault(x => x.Value == _pluginViewModel.PluginSearchDelay);
28+
selected = searchDelayTimes.FirstOrDefault(x => x.Value == _pluginViewModel.PluginSearchDelayTime);
2929
}
3030
// Add default value to the beginning of the list
3131
// When _pluginViewModel.PluginSearchDelay equals null, we will select this
32-
searchDelaySpeeds.Insert(0, new SearchDelaySpeedData { Display = App.API.GetTranslation(PluginViewModel.DefaultLocalizationKey), LocalizationKey = PluginViewModel.DefaultLocalizationKey });
33-
selected ??= searchDelaySpeeds.FirstOrDefault();
34-
tbDelay.ItemsSource = searchDelaySpeeds;
32+
searchDelayTimes.Insert(0, new SearchDelayTimeData { Display = App.API.GetTranslation("default"), LocalizationKey = "default" });
33+
selected ??= searchDelayTimes.FirstOrDefault();
34+
tbDelay.ItemsSource = searchDelayTimes;
3535
tbDelay.SelectedItem = selected;
3636
tbDelay.Focus();
3737
}
@@ -43,13 +43,13 @@ private void BtnCancel_OnClick(object sender, RoutedEventArgs e)
4343

4444
private void btnDone_OnClick(object sender, RoutedEventArgs _)
4545
{
46-
// Update search delay speed
47-
var selected = tbDelay.SelectedItem as SearchDelaySpeedData;
48-
SearchDelaySpeeds? changedValue = selected?.LocalizationKey != PluginViewModel.DefaultLocalizationKey ? selected.Value : null;
49-
_pluginViewModel.PluginSearchDelay = changedValue;
46+
// Update search delay time
47+
var selected = tbDelay.SelectedItem as SearchDelayTimeData;
48+
SearchDelayTime? changedValue = selected?.LocalizationKey != "default" ? selected.Value : null;
49+
_pluginViewModel.PluginSearchDelayTime = changedValue;
5050

51-
// Update search delay speed text and close window
52-
_pluginViewModel.OnSearchDelaySpeedChanged();
51+
// Update search delay time text and close window
52+
_pluginViewModel.OnSearchDelayTimeChanged();
5353
Close();
5454
}
5555
}

Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class SearchWindowScreenData : DropdownDataGeneric<SearchWindowScreens> {
3131
public class SearchWindowAlignData : DropdownDataGeneric<SearchWindowAligns> { }
3232
public class SearchPrecisionData : DropdownDataGeneric<SearchPrecisionScore> { }
3333
public class LastQueryModeData : DropdownDataGeneric<LastQueryMode> { }
34-
public class SearchDelaySpeedData : DropdownDataGeneric<SearchDelaySpeeds> { }
34+
public class SearchDelayTimeData : DropdownDataGeneric<SearchDelayTime> { }
3535

3636
public bool StartFlowLauncherOnSystemStartup
3737
{
@@ -144,22 +144,22 @@ public bool PortableMode
144144
public List<LastQueryModeData> LastQueryModes { get; } =
145145
DropdownDataGeneric<LastQueryMode>.GetValues<LastQueryModeData>("LastQuery");
146146

147-
public List<SearchDelaySpeedData> SearchDelaySpeeds { get; } =
148-
DropdownDataGeneric<SearchDelaySpeeds>.GetValues<SearchDelaySpeedData>("SearchDelaySpeed");
147+
public List<SearchDelayTimeData> SearchDelayTimes { get; } =
148+
DropdownDataGeneric<SearchDelayTime>.GetValues<SearchDelayTimeData>("SearchDelayTime");
149149

150-
public SearchDelaySpeedData SearchDelaySpeed
150+
public SearchDelayTimeData SearchDelayTime
151151
{
152-
get => SearchDelaySpeeds.FirstOrDefault(x => x.Value == Settings.SearchDelaySpeed) ??
153-
SearchDelaySpeeds.FirstOrDefault(x => x.Value == Plugin.SearchDelaySpeeds.Medium) ??
154-
SearchDelaySpeeds.FirstOrDefault();
152+
get => SearchDelayTimes.FirstOrDefault(x => x.Value == Settings.SearchDelayTime) ??
153+
SearchDelayTimes.FirstOrDefault(x => x.Value == Plugin.SearchDelayTime.Medium) ??
154+
SearchDelayTimes.FirstOrDefault();
155155
set
156156
{
157157
if (value == null)
158158
return;
159159

160-
if (Settings.SearchDelaySpeed != value.Value)
160+
if (Settings.SearchDelayTime != value.Value)
161161
{
162-
Settings.SearchDelaySpeed = value.Value;
162+
Settings.SearchDelayTime = value.Value;
163163
}
164164
}
165165
}
@@ -170,7 +170,7 @@ private void UpdateEnumDropdownLocalizations()
170170
DropdownDataGeneric<SearchWindowAligns>.UpdateLabels(SearchWindowAligns);
171171
DropdownDataGeneric<SearchPrecisionScore>.UpdateLabels(SearchPrecisionScores);
172172
DropdownDataGeneric<LastQueryMode>.UpdateLabels(LastQueryModes);
173-
DropdownDataGeneric<SearchDelaySpeeds>.UpdateLabels(SearchDelaySpeeds);
173+
DropdownDataGeneric<SearchDelayTime>.UpdateLabels(SearchDelayTimes);
174174
}
175175

176176
public string Language

0 commit comments

Comments
 (0)