mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-15 11:17:53 +01:00
[Run] ViewModels Cleanup (#12209)
* view models cleanup * removed unused commands
This commit is contained in:
committed by
GitHub
parent
cdfb566137
commit
55923f2790
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) Microsoft Corporation
|
||||
// Copyright (c) Microsoft Corporation
|
||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
@@ -13,52 +13,13 @@ namespace PowerLauncher.ViewModel
|
||||
{
|
||||
private ICommand _command;
|
||||
|
||||
public string PluginName { get; set; }
|
||||
public string PluginName { get; }
|
||||
|
||||
private string _title;
|
||||
public string Title { get; }
|
||||
|
||||
public string Title
|
||||
{
|
||||
get => _title;
|
||||
set
|
||||
{
|
||||
if (_title != value)
|
||||
{
|
||||
_title = value;
|
||||
OnPropertyChanged(nameof(Title));
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Glyph { get; }
|
||||
|
||||
private string _glyph;
|
||||
|
||||
public string Glyph
|
||||
{
|
||||
get => _glyph;
|
||||
set
|
||||
{
|
||||
if (_glyph != value)
|
||||
{
|
||||
_glyph = value;
|
||||
OnPropertyChanged(nameof(Glyph));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string _fontFamily;
|
||||
|
||||
public string FontFamily
|
||||
{
|
||||
get => _fontFamily;
|
||||
set
|
||||
{
|
||||
if (_fontFamily != value)
|
||||
{
|
||||
_fontFamily = value;
|
||||
OnPropertyChanged(nameof(FontFamily));
|
||||
}
|
||||
}
|
||||
}
|
||||
public string FontFamily { get; }
|
||||
|
||||
public ICommand Command
|
||||
{
|
||||
@@ -78,12 +39,23 @@ namespace PowerLauncher.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public Key AcceleratorKey { get; set; }
|
||||
public Key AcceleratorKey { get; }
|
||||
|
||||
public ModifierKeys AcceleratorModifiers { get; set; }
|
||||
public ModifierKeys AcceleratorModifiers { get; }
|
||||
|
||||
public bool IsAcceleratorKeyEnabled { get; set; }
|
||||
|
||||
public ContextMenuItemViewModel(string pluginName, string title, string glyph, string fontFamily, Key acceleratorKey, ModifierKeys acceleratorModifiers, ICommand command)
|
||||
{
|
||||
PluginName = pluginName;
|
||||
Title = title;
|
||||
Glyph = glyph;
|
||||
FontFamily = fontFamily;
|
||||
Command = command;
|
||||
AcceleratorKey = acceleratorKey;
|
||||
AcceleratorModifiers = acceleratorModifiers;
|
||||
}
|
||||
|
||||
public void SendTelemetryEvent(LauncherResultActionEvent.TriggerType triggerType)
|
||||
{
|
||||
var eventData = new LauncherResultActionEvent()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) Microsoft Corporation
|
||||
// Copyright (c) Microsoft Corporation
|
||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
@@ -11,7 +11,6 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Threading;
|
||||
using interop;
|
||||
using Microsoft.PowerLauncher.Telemetry;
|
||||
@@ -51,7 +50,7 @@ namespace PowerLauncher.ViewModel
|
||||
private bool _saved;
|
||||
private ushort _hotkeyHandle;
|
||||
|
||||
internal HotkeyManager HotkeyManager { get; set; }
|
||||
internal HotkeyManager HotkeyManager { get; private set; }
|
||||
|
||||
public MainViewModel(PowerToysRunSettings settings)
|
||||
{
|
||||
@@ -257,8 +256,6 @@ namespace PowerLauncher.ViewModel
|
||||
SelectedResults.SelectPrevPage();
|
||||
});
|
||||
|
||||
SelectFirstResultCommand = new RelayCommand(_ => SelectedResults.SelectFirstResult());
|
||||
|
||||
OpenResultWithKeyboardCommand = new RelayCommand(index =>
|
||||
{
|
||||
OpenResultsEvent(index, false);
|
||||
@@ -269,31 +266,6 @@ namespace PowerLauncher.ViewModel
|
||||
OpenResultsEvent(index, true);
|
||||
});
|
||||
|
||||
LoadContextMenuCommand = new RelayCommand(_ =>
|
||||
{
|
||||
if (SelectedIsFromQueryResults())
|
||||
{
|
||||
SelectedResults = ContextMenu;
|
||||
}
|
||||
else
|
||||
{
|
||||
SelectedResults = Results;
|
||||
}
|
||||
});
|
||||
|
||||
LoadHistoryCommand = new RelayCommand(_ =>
|
||||
{
|
||||
if (SelectedIsFromQueryResults())
|
||||
{
|
||||
SelectedResults = History;
|
||||
History.SelectedIndex = _history.Items.Count - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
SelectedResults = Results;
|
||||
}
|
||||
});
|
||||
|
||||
ClearQueryCommand = new RelayCommand(_ =>
|
||||
{
|
||||
if (!string.IsNullOrEmpty(QueryText))
|
||||
@@ -306,10 +278,6 @@ namespace PowerLauncher.ViewModel
|
||||
});
|
||||
}
|
||||
|
||||
public Brush MainWindowBackground { get; set; }
|
||||
|
||||
public Brush MainWindowBorderBrush { get; set; }
|
||||
|
||||
private ResultsViewModel _results;
|
||||
|
||||
public ResultsViewModel Results
|
||||
@@ -402,27 +370,12 @@ namespace PowerLauncher.ViewModel
|
||||
{
|
||||
Results.Visibility = Visibility.Hidden;
|
||||
_queryTextBeforeLeaveResults = QueryText;
|
||||
|
||||
// Because of Fody's optimization
|
||||
// setter won't be called when property value is not changed.
|
||||
// so we need manually call Query()
|
||||
// http://stackoverflow.com/posts/25895769/revisions
|
||||
if (string.IsNullOrEmpty(QueryText))
|
||||
{
|
||||
Query();
|
||||
}
|
||||
else
|
||||
{
|
||||
QueryText = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
_selectedResults.Visibility = Visibility.Visible;
|
||||
}
|
||||
}
|
||||
|
||||
public Visibility ProgressBarVisibility { get; set; }
|
||||
|
||||
private Visibility _visibility;
|
||||
|
||||
public Visibility MainWindowVisibility
|
||||
@@ -451,37 +404,31 @@ namespace PowerLauncher.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public ICommand IgnoreCommand { get; set; }
|
||||
public ICommand IgnoreCommand { get; private set; }
|
||||
|
||||
public ICommand EscCommand { get; set; }
|
||||
public ICommand EscCommand { get; private set; }
|
||||
|
||||
public ICommand SelectNextItemCommand { get; set; }
|
||||
public ICommand SelectNextItemCommand { get; private set; }
|
||||
|
||||
public ICommand SelectPrevItemCommand { get; set; }
|
||||
public ICommand SelectPrevItemCommand { get; private set; }
|
||||
|
||||
public ICommand SelectNextContextMenuItemCommand { get; set; }
|
||||
public ICommand SelectNextContextMenuItemCommand { get; private set; }
|
||||
|
||||
public ICommand SelectPreviousContextMenuItemCommand { get; set; }
|
||||
public ICommand SelectPreviousContextMenuItemCommand { get; private set; }
|
||||
|
||||
public ICommand SelectNextTabItemCommand { get; set; }
|
||||
public ICommand SelectNextTabItemCommand { get; private set; }
|
||||
|
||||
public ICommand SelectPrevTabItemCommand { get; set; }
|
||||
public ICommand SelectPrevTabItemCommand { get; private set; }
|
||||
|
||||
public ICommand SelectNextPageCommand { get; set; }
|
||||
public ICommand SelectNextPageCommand { get; private set; }
|
||||
|
||||
public ICommand SelectPrevPageCommand { get; set; }
|
||||
public ICommand SelectPrevPageCommand { get; private set; }
|
||||
|
||||
public ICommand SelectFirstResultCommand { get; set; }
|
||||
public ICommand OpenResultWithKeyboardCommand { get; private set; }
|
||||
|
||||
public ICommand LoadContextMenuCommand { get; set; }
|
||||
public ICommand OpenResultWithMouseCommand { get; private set; }
|
||||
|
||||
public ICommand LoadHistoryCommand { get; set; }
|
||||
|
||||
public ICommand OpenResultWithKeyboardCommand { get; set; }
|
||||
|
||||
public ICommand OpenResultWithMouseCommand { get; set; }
|
||||
|
||||
public ICommand ClearQueryCommand { get; set; }
|
||||
public ICommand ClearQueryCommand { get; private set; }
|
||||
|
||||
public void Query()
|
||||
{
|
||||
|
||||
@@ -24,17 +24,13 @@ namespace PowerLauncher.ViewModel
|
||||
|
||||
public ObservableCollection<ContextMenuItemViewModel> ContextMenuItems { get; } = new ObservableCollection<ContextMenuItemViewModel>();
|
||||
|
||||
public ICommand ActivateContextButtonsHoverCommand { get; set; }
|
||||
public ICommand ActivateContextButtonsHoverCommand { get; }
|
||||
|
||||
public ICommand ActivateContextButtonsSelectionCommand { get; set; }
|
||||
public ICommand DeactivateContextButtonsHoverCommand { get; }
|
||||
|
||||
public ICommand DeactivateContextButtonsHoverCommand { get; set; }
|
||||
public bool IsSelected { get; private set; }
|
||||
|
||||
public ICommand DeactivateContextButtonsSelectionCommand { get; set; }
|
||||
|
||||
public bool IsSelected { get; set; }
|
||||
|
||||
public bool IsHovered { get; set; }
|
||||
public bool IsHovered { get; private set; }
|
||||
|
||||
private bool _areContextButtonsActive;
|
||||
|
||||
@@ -79,9 +75,7 @@ namespace PowerLauncher.ViewModel
|
||||
LoadContextMenu();
|
||||
|
||||
ActivateContextButtonsHoverCommand = new RelayCommand(ActivateContextButtonsHoverAction);
|
||||
ActivateContextButtonsSelectionCommand = new RelayCommand(ActivateContextButtonsSelectionAction);
|
||||
DeactivateContextButtonsHoverCommand = new RelayCommand(DeactivateContextButtonsHoverAction);
|
||||
DeactivateContextButtonsSelectionCommand = new RelayCommand(DeactivateContextButtonsSelectionAction);
|
||||
}
|
||||
|
||||
private void ActivateContextButtonsHoverAction(object sender)
|
||||
@@ -89,11 +83,6 @@ namespace PowerLauncher.ViewModel
|
||||
ActivateContextButtons(ActivationType.Hover);
|
||||
}
|
||||
|
||||
private void ActivateContextButtonsSelectionAction(object sender)
|
||||
{
|
||||
ActivateContextButtons(ActivationType.Selection);
|
||||
}
|
||||
|
||||
public void ActivateContextButtons(ActivationType activationType)
|
||||
{
|
||||
// Result does not contain any context menu items - we don't need to show the context menu ListView at all.
|
||||
@@ -122,11 +111,6 @@ namespace PowerLauncher.ViewModel
|
||||
DeactivateContextButtons(ActivationType.Hover);
|
||||
}
|
||||
|
||||
private void DeactivateContextButtonsSelectionAction(object sender)
|
||||
{
|
||||
DeactivateContextButtons(ActivationType.Selection);
|
||||
}
|
||||
|
||||
public void DeactivateContextButtons(ActivationType activationType)
|
||||
{
|
||||
if (activationType == ActivationType.Selection)
|
||||
@@ -156,15 +140,14 @@ namespace PowerLauncher.ViewModel
|
||||
ContextMenuItems.Clear();
|
||||
foreach (var r in results)
|
||||
{
|
||||
ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
PluginName = r.PluginName,
|
||||
Title = r.Title,
|
||||
Glyph = r.Glyph,
|
||||
FontFamily = r.FontFamily,
|
||||
AcceleratorKey = r.AcceleratorKey,
|
||||
AcceleratorModifiers = r.AcceleratorModifiers,
|
||||
Command = new RelayCommand(_ =>
|
||||
ContextMenuItems.Add(new ContextMenuItemViewModel(
|
||||
r.PluginName,
|
||||
r.Title,
|
||||
r.Glyph,
|
||||
r.FontFamily,
|
||||
r.AcceleratorKey,
|
||||
r.AcceleratorModifiers,
|
||||
new RelayCommand(_ =>
|
||||
{
|
||||
bool hideWindow =
|
||||
r.Action != null &&
|
||||
@@ -179,8 +162,7 @@ namespace PowerLauncher.ViewModel
|
||||
// TODO - Do we hide the window
|
||||
// MainWindowVisibility = Visibility.Collapsed;
|
||||
}
|
||||
}),
|
||||
});
|
||||
})));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -95,8 +95,6 @@ namespace PowerLauncher.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public Thickness Margin { get; set; }
|
||||
|
||||
private Visibility _visibility = Visibility.Hidden;
|
||||
|
||||
public Visibility Visibility
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Globalization;
|
||||
using Wox.Infrastructure.Storage;
|
||||
using Wox.Infrastructure.UserSettings;
|
||||
using Wox.Plugin;
|
||||
@@ -19,7 +18,7 @@ namespace PowerLauncher.ViewModel
|
||||
Settings = _storage.Load();
|
||||
}
|
||||
|
||||
public PowerToysRunSettings Settings { get; set; }
|
||||
public PowerToysRunSettings Settings { get; }
|
||||
|
||||
public void Save()
|
||||
{
|
||||
|
||||
@@ -62,14 +62,6 @@
|
||||
<None Include="README.md" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="FodyWeavers.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="FodyWeavers.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="JetBrains.Annotations" Version="2020.1.0" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="3.3.0">
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Windows.Input;
|
||||
using NUnit.Framework;
|
||||
using PowerLauncher.ViewModel;
|
||||
using Wox.Plugin;
|
||||
@@ -18,10 +19,7 @@ namespace Wox.Test
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu",
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel(null, null, null, null, Key.None, ModifierKeys.None, null));
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
// Assert
|
||||
@@ -35,10 +33,7 @@ namespace Wox.Test
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu",
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel(null, null, null, null, Key.None, ModifierKeys.None, null));
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
// Act
|
||||
@@ -55,10 +50,7 @@ namespace Wox.Test
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu",
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel(null, null, null, null, Key.None, ModifierKeys.None, null));
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
// Act
|
||||
@@ -75,18 +67,9 @@ namespace Wox.Test
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu 1",
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu 2",
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu 3",
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel(null, null, null, null, Key.None, ModifierKeys.None, null));
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel(null, null, null, null, Key.None, ModifierKeys.None, null));
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel(null, null, null, null, Key.None, ModifierKeys.None, null));
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
// Act
|
||||
@@ -106,10 +89,7 @@ namespace Wox.Test
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu",
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel(null, null, null, null, Key.None, ModifierKeys.None, null));
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
// Act
|
||||
@@ -127,10 +107,7 @@ namespace Wox.Test
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu",
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel(null, null, null, null, Key.None, ModifierKeys.None, null));
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
// Act
|
||||
@@ -148,10 +125,7 @@ namespace Wox.Test
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu",
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel(null, null, null, null, Key.None, ModifierKeys.None, null));
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
// Act
|
||||
|
||||
Reference in New Issue
Block a user