mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-09-28 15:21:37 +12:00
[BUG] autostart activate not always working #28
https://github.com/Hofknecht/SystemTrayMenu/issues/28
This commit is contained in:
parent
47bba47ea4
commit
87e00358ed
6 changed files with 90 additions and 60 deletions
127
Config.cs
127
Config.cs
|
@ -1,59 +1,70 @@
|
|||
using Microsoft.WindowsAPICodePack.Dialogs;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace SystemTrayMenu
|
||||
{
|
||||
public class Config
|
||||
{
|
||||
public static string Language = "en";
|
||||
|
||||
public static string Path
|
||||
{
|
||||
get
|
||||
{
|
||||
return Properties.Settings.Default.PathDirectory;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool LoadOrSetByUser()
|
||||
using Microsoft.WindowsAPICodePack.Dialogs;
|
||||
using System.IO;
|
||||
|
||||
namespace SystemTrayMenu
|
||||
{
|
||||
public class Config
|
||||
{
|
||||
public static string Language = "en";
|
||||
|
||||
public static string Path
|
||||
{
|
||||
Properties.Settings.Default.Upgrade(); // configs located at "%localappdata%\<AssemblyCompany>\"
|
||||
bool pathOK = Directory.Exists(Properties.Settings.Default.PathDirectory);
|
||||
if (!pathOK)
|
||||
{
|
||||
pathOK = SetFolderByUser();
|
||||
}
|
||||
return pathOK;
|
||||
}
|
||||
|
||||
public static bool SetFolderByUser()
|
||||
{
|
||||
bool pathOK = false;
|
||||
bool userAborted = false;
|
||||
CommonOpenFileDialog dialog = new CommonOpenFileDialog();
|
||||
dialog.InitialDirectory = Path;
|
||||
dialog.IsFolderPicker = true;
|
||||
do
|
||||
{
|
||||
if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
|
||||
{
|
||||
if (Directory.Exists(dialog.FileName))
|
||||
{
|
||||
pathOK = true;
|
||||
Properties.Settings.Default.PathDirectory =
|
||||
dialog.FileName;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
userAborted = true;
|
||||
}
|
||||
}
|
||||
while (!pathOK && !userAborted);
|
||||
|
||||
return pathOK;
|
||||
}
|
||||
}
|
||||
}
|
||||
get
|
||||
{
|
||||
return Properties.Settings.Default.PathDirectory;
|
||||
}
|
||||
}
|
||||
|
||||
public static void UpgradeIfNotUpgraded()
|
||||
{
|
||||
if (!Properties.Settings.Default.IsUpgraded)
|
||||
{
|
||||
// configs located at "%localappdata%\<AssemblyCompany>\"
|
||||
Properties.Settings.Default.Upgrade();
|
||||
Properties.Settings.Default.IsUpgraded = true;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
}
|
||||
|
||||
public static bool LoadOrSetByUser()
|
||||
{
|
||||
bool pathOK = Directory.Exists(
|
||||
Properties.Settings.Default.PathDirectory);
|
||||
|
||||
if (!pathOK)
|
||||
{
|
||||
pathOK = SetFolderByUser();
|
||||
}
|
||||
return pathOK;
|
||||
}
|
||||
|
||||
public static bool SetFolderByUser()
|
||||
{
|
||||
bool pathOK = false;
|
||||
bool userAborted = false;
|
||||
CommonOpenFileDialog dialog = new CommonOpenFileDialog();
|
||||
dialog.InitialDirectory = Path;
|
||||
dialog.IsFolderPicker = true;
|
||||
do
|
||||
{
|
||||
if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
|
||||
{
|
||||
if (Directory.Exists(dialog.FileName))
|
||||
{
|
||||
pathOK = true;
|
||||
Properties.Settings.Default.PathDirectory =
|
||||
dialog.FileName;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
userAborted = true;
|
||||
}
|
||||
}
|
||||
while (!pathOK && !userAborted);
|
||||
|
||||
return pathOK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("0.9.1.243")]
|
||||
[assembly: AssemblyFileVersion("0.9.1.243")]
|
||||
[assembly: AssemblyVersion("0.9.1.244")]
|
||||
[assembly: AssemblyFileVersion("0.9.1.244")]
|
||||
|
|
12
Properties/Settings.Designer.cs
generated
12
Properties/Settings.Designer.cs
generated
|
@ -70,5 +70,17 @@ namespace SystemTrayMenu.Properties {
|
|||
this["HotKey"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool IsUpgraded {
|
||||
get {
|
||||
return ((bool)(this["IsUpgraded"]));
|
||||
}
|
||||
set {
|
||||
this["IsUpgraded"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,5 +14,8 @@
|
|||
<Setting Name="HotKey" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="IsUpgraded" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
|
@ -211,6 +211,7 @@ namespace SystemTrayMenu
|
|||
messageFilter.MouseLeave += fastLeave.Start;
|
||||
fastLeave.Leave += FadeHalfOrOutIfNeeded;
|
||||
|
||||
Config.UpgradeIfNotUpgraded();
|
||||
if (!Config.LoadOrSetByUser())
|
||||
{
|
||||
cancelAppRun = true;
|
||||
|
|
|
@ -19,6 +19,9 @@
|
|||
<setting name="HotKey" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="IsUpgraded" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
</SystemTrayMenu.Properties.Settings>
|
||||
</userSettings>
|
||||
<!--
|
||||
|
|
Loading…
Reference in a new issue