Set default shortcut for activating launcher, creating settings.json … (#5206)

* Set default shortcut for activating launcher, creating settings.json on a start if it does not exists

* After review fixes
This commit is contained in:
martinchrzan 2020-07-25 08:50:29 +02:00 committed by GitHub
parent d7721065dc
commit 5a2385c66b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 4 deletions

View file

@ -46,7 +46,7 @@ namespace Microsoft.PowerToys.Settings.UI.Lib
public PowerLauncherProperties() public PowerLauncherProperties()
{ {
OpenPowerLauncher = new HotkeySettings(); OpenPowerLauncher = new HotkeySettings(false, false, true, false, 32);
OpenFileLocation = new HotkeySettings(); OpenFileLocation = new HotkeySettings();
CopyPathLocation = new HotkeySettings(); CopyPathLocation = new HotkeySettings();
OpenConsole = new HotkeySettings(); OpenConsole = new HotkeySettings();
@ -55,6 +55,7 @@ namespace Microsoft.PowerToys.Settings.UI.Lib
IgnoreHotkeysInFullscreen = false; IgnoreHotkeysInFullscreen = false;
DisableDriveDetectionWarning = false; DisableDriveDetectionWarning = false;
ClearInputOnLaunch = false; ClearInputOnLaunch = false;
MaximumNumberOfResults = 4;
} }
} }
} }

View file

@ -36,11 +36,20 @@ namespace PowerLauncher
{ {
Monitor.Enter(_watcherSyncObject); Monitor.Enter(_watcherSyncObject);
var retry = true; var retry = true;
for (int i = 0; retry && i < MAX_RETRIES; i++) var retryCount = 0;
while(retry)
{ {
retry = false;
try try
{ {
retryCount++;
if (!SettingsUtils.SettingsExists(PowerLauncherSettings.ModuleName))
{
Debug.WriteLine("PT Run settings.json was missing, creating a new one");
var defaultSettings = new PowerLauncherSettings();
defaultSettings.Save();
}
var overloadSettings = SettingsUtils.GetSettings<PowerLauncherSettings>(PowerLauncherSettings.ModuleName); var overloadSettings = SettingsUtils.GetSettings<PowerLauncherSettings>(PowerLauncherSettings.ModuleName);
var openPowerlauncher = ConvertHotkey(overloadSettings.Properties.OpenPowerLauncher); var openPowerlauncher = ConvertHotkey(overloadSettings.Properties.OpenPowerLauncher);
@ -77,12 +86,17 @@ namespace PowerLauncher
{ {
_settings.ClearInputOnLaunch = overloadSettings.Properties.ClearInputOnLaunch; _settings.ClearInputOnLaunch = overloadSettings.Properties.ClearInputOnLaunch;
} }
retry = false;
} }
// the settings application can hold a lock on the settings.json file which will result in a IOException. // the settings application can hold a lock on the settings.json file which will result in a IOException.
// This should be changed to properly synch with the settings app instead of retrying. // This should be changed to properly synch with the settings app instead of retrying.
catch (IOException e) catch (IOException e)
{ {
retry = true; if (retryCount > MAX_RETRIES)
{
retry = false;
}
Thread.Sleep(1000); Thread.Sleep(1000);
Debug.WriteLine(e.Message); Debug.WriteLine(e.Message);
} }