[Settings][runner]Quick access system tray launcher (#22408)

* Init

* Fix running settings

* UI design

* Left click trigger
Wire up colorpicker and pt run

* Wire up others

* Update FlyoutWindow.xaml.cs

* Removed comments

* Update FlyoutWindow.xaml

* More work

* Open Settings page

* More UI work

* Resolve conflicts

* [General] SystemTray Flyout: Add update on tray items' visibility when module gets enabled/disabled
Also remove context menu opening on tray icon.

* Adding app list

* Adding more buttons, resolving conflicts

* [General] Flyout: improving opening, closing flyout/settings window. Implementing basic bahaviour on enabling/disabling modules.

* [General] FlyoutWindow: proceed with implementation. GPO works. Main functionallity works (launching and enabling apps).

* [general] flyout: fix exit button

* [general] flyout: implement double click handling

* Localization

* [Generel] Flyout: Re-implement flyout launching, add workaround: disable flyout hiding in case the user switches on modules on the all apps page
+ minor changes

* [general] flyout: restore the context menu when right clicking on system tray icon

* Fix spellchecker

* [installer] fixing missing dll files + suppress error on not signed script

* Fix spell checker

* Fix flyout not focusing when activated

* Refresh Settings UI enabled state when flyout changes

* fix spellcheck

* Remove VCM from the list

* [General] flyout: fix settings window opening. Switch to general page only if there is no page opened

* [general] flyout: add launching hosts app

* Fix CI build

* adding check on elevation when launching hosts

* Use localization strings that already exist

* Remove dll not present in arm64 build

* Adding GPO policy check for the launcher page items

* fix hosts launching

* Add telemetry

* Also hide from all apps list when gpo is force enabling

* fix spellchecker

* Improve focus issues

* Fix flickering Bitmap Icons

* Fix telemetry error

* Fix telemetry call

* Fix wrong comment

---------

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Laszlo Nemeth <laszlo.nemeth.hu@gmail.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
This commit is contained in:
Niels Laute
2023-01-31 00:00:11 +01:00
committed by GitHub
parent fb2b150a1d
commit c1c14b4f2e
79 changed files with 2881 additions and 426 deletions

View File

@@ -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;
using System.Runtime.CompilerServices;
using System.Text.Json;
using System.Text.Json.Serialization;
@@ -12,6 +13,8 @@ namespace Microsoft.PowerToys.Settings.UI.Library
{
public class EnabledModules
{
private Action notifyEnabledChangedAction;
public EnabledModules()
{
}
@@ -28,6 +31,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
{
LogTelemetryEvent(value);
fancyZones = value;
NotifyChange();
}
}
}
@@ -76,6 +80,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
{
LogTelemetryEvent(value);
shortcutGuide = value;
NotifyChange();
}
}
}
@@ -139,6 +144,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
{
LogTelemetryEvent(value);
powerLauncher = value;
NotifyChange();
}
}
}
@@ -155,6 +161,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
{
LogTelemetryEvent(value);
colorPicker = value;
NotifyChange();
}
}
}
@@ -267,6 +274,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
{
LogTelemetryEvent(value);
powerOCR = value;
NotifyChange();
}
}
}
@@ -283,6 +291,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
{
LogTelemetryEvent(value);
measureTool = value;
NotifyChange();
}
}
}
@@ -299,6 +308,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
{
LogTelemetryEvent(value);
hosts = value;
NotifyChange();
}
}
}
@@ -319,6 +329,11 @@ namespace Microsoft.PowerToys.Settings.UI.Library
}
}
private void NotifyChange()
{
notifyEnabledChangedAction?.Invoke();
}
public string ToJsonString()
{
return JsonSerializer.Serialize(this);
@@ -333,5 +348,10 @@ namespace Microsoft.PowerToys.Settings.UI.Library
};
PowerToysTelemetry.Log.WriteEvent(dataEvent);
}
internal void AddEnabledModuleChangeNotification(Action callBack)
{
notifyEnabledChangedAction = callBack;
}
}
}