Import the source code for Window Walker (#1177)

Import the codebase for Window Walker 

- Not loaded into the module list 
- Not added it to the installer list.
This commit is contained in:
Betsegaw Tadele
2020-01-31 15:14:37 -08:00
committed by GitHub
parent aa714f7d80
commit b4f81a0c2a
53 changed files with 14345 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
// 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. Code forked from Betsegaw Tadele's https://github.com/betsegaw/windowwalker/
using System;
using System.Deployment.Application;
using System.Windows;
using System.Windows.Input;
namespace WindowWalker
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void UpdateDisplayedVersionNumber()
{
// Since displaying version number is not critical to functionality, we don't need to do anything if it fails.
try
{
Version applicationVersion = new Version("0.0.0.0");
if (ApplicationDeployment.IsNetworkDeployed)
{
applicationVersion = ApplicationDeployment.CurrentDeployment.CurrentVersion;
}
if (ApplicationDeployment.CurrentDeployment.UpdateLocation.Host.Contains("develop"))
{
versionDisplay.Text = "(develop) " + applicationVersion.ToString();
}
else
{
versionDisplay.Text = applicationVersion.ToString();
}
}
catch
{
}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
DataContext = new ViewModels.WindowWalkerViewModel(this);
searchBox.Focus();
UpdateDisplayedVersionNumber();
HideWindow();
}
private void SearchBoxKeyUp(object sender, KeyEventArgs e)
{
var viewModel = (ViewModels.WindowWalkerViewModel)DataContext;
if (e.Key == Key.Escape)
{
if (viewModel.WindowHideCommand.CanExecute(null))
{
viewModel.WindowHideCommand.Execute(null);
}
}
else if (e.Key == Key.Down)
{
if (viewModel.WindowNavigateToNextResultCommand.CanExecute(null))
{
viewModel.WindowNavigateToNextResultCommand.Execute(null);
}
}
else if (e.Key == Key.Up)
{
if (viewModel.WindowNavigateToPreviousResultCommand.CanExecute(null))
{
viewModel.WindowNavigateToPreviousResultCommand.Execute(null);
}
}
else if (e.Key == Key.Enter)
{
if (viewModel.SwitchToSelectedWindowCommand.CanExecute(null))
{
viewModel.SwitchToSelectedWindowCommand.Execute(null);
}
}
}
private void Results_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var viewModel = (ViewModels.WindowWalkerViewModel)DataContext;
if (viewModel.SwitchToSelectedWindowCommand.CanExecute(null))
{
viewModel.SwitchToSelectedWindowCommand.Execute(null);
}
}
private void Window_Deactivated(object sender, EventArgs e)
{
HideWindow();
}
private void HideWindow()
{
var viewModel = (ViewModels.WindowWalkerViewModel)DataContext;
if (viewModel.WindowHideCommand.CanExecute(null))
{
viewModel.WindowHideCommand.Execute(null);
}
}
}
}