From 8684e4ec62b69e716fb7adade0afa669fcc30199 Mon Sep 17 00:00:00 2001 From: Paddy Xu Date: Sat, 15 Jul 2017 13:27:34 +0300 Subject: [PATCH] Share and window status button, Configuration system, check update every week --- QuickLook/App.config | 15 +++++++ QuickLook/App.xaml.cs | 24 ++++++++++ ...ter.cs => BooleanToVisibilityConverter.cs} | 6 +-- QuickLook/MainWindowTransparent.xaml | 30 ++++++++++++- QuickLook/MainWindowTransparent.xaml.cs | 45 ++++++++++++++----- QuickLook/Properties/Settings.Designer.cs | 24 ++++++++++ QuickLook/Properties/Settings.settings | 16 ++++--- QuickLook/QuickLook.csproj | 2 +- QuickLook/Translations.config | 4 +- 9 files changed, 142 insertions(+), 24 deletions(-) rename QuickLook/Converters/{BooleanTrueToVisibilityCollapsedConverter.cs => BooleanToVisibilityConverter.cs} (85%) diff --git a/QuickLook/App.config b/QuickLook/App.config index 0bd1fab..62ee605 100644 --- a/QuickLook/App.config +++ b/QuickLook/App.config @@ -1,10 +1,25 @@  + + +
+ + + + + + True + + + 2017-01-01 + + + \ No newline at end of file diff --git a/QuickLook/App.xaml.cs b/QuickLook/App.xaml.cs index 2931365..d5dc988 100644 --- a/QuickLook/App.xaml.cs +++ b/QuickLook/App.xaml.cs @@ -20,9 +20,11 @@ using System.IO; using System.Linq; using System.Reflection; using System.Threading; +using System.Threading.Tasks; using System.Windows; using System.Windows.Threading; using QuickLook.Helpers; +using QuickLook.Properties; namespace QuickLook { @@ -68,6 +70,8 @@ namespace QuickLook return; } + UpgradeSettings(); + CheckUpdate(); RunListener(e); // first instance: run and preview this file @@ -75,6 +79,26 @@ namespace QuickLook RemoteCallShowPreview(e); } + private void CheckUpdate() + { + if (DateTime.Now - Settings.Default.LastUpdate < TimeSpan.FromDays(7)) + return; + + Task.Delay(120 * 1000).ContinueWith(_ => Updater.CheckForUpdates(true)); + Settings.Default.LastUpdate = DateTime.Now; + Settings.Default.Save(); + } + + private void UpgradeSettings() + { + if (!Settings.Default.Upgraded) + return; + + Settings.Default.Upgrade(); + Settings.Default.Upgraded = false; + Settings.Default.Save(); + } + private void RemoteCallShowPreview(StartupEventArgs e) { PipeServerManager.SendMessage(e.Args.First()); diff --git a/QuickLook/Converters/BooleanTrueToVisibilityCollapsedConverter.cs b/QuickLook/Converters/BooleanToVisibilityConverter.cs similarity index 85% rename from QuickLook/Converters/BooleanTrueToVisibilityCollapsedConverter.cs rename to QuickLook/Converters/BooleanToVisibilityConverter.cs index bd3bb62..fe3c074 100644 --- a/QuickLook/Converters/BooleanTrueToVisibilityCollapsedConverter.cs +++ b/QuickLook/Converters/BooleanToVisibilityConverter.cs @@ -22,16 +22,16 @@ using System.Windows.Data; namespace QuickLook.Converters { - public sealed class BooleanTrueToVisibilityCollapsedConverter : DependencyObject, IValueConverter + public sealed class BooleanToVisibilityConverter : DependencyObject, IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) - return Visibility.Collapsed; + return Visibility.Visible; var v = (bool) value; - return v ? Visibility.Collapsed : Visibility.Visible; + return v ? Visibility.Visible : Visibility.Collapsed; } object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) diff --git a/QuickLook/MainWindowTransparent.xaml b/QuickLook/MainWindowTransparent.xaml index f4578eb..e482b99 100644 --- a/QuickLook/MainWindowTransparent.xaml +++ b/QuickLook/MainWindowTransparent.xaml @@ -18,6 +18,7 @@ + + + + + + +