diff --git a/ModernKeePass/App.xaml.cs b/ModernKeePass/App.xaml.cs index 7485dc3..ec0e157 100644 --- a/ModernKeePass/App.xaml.cs +++ b/ModernKeePass/App.xaml.cs @@ -63,10 +63,10 @@ namespace ModernKeePass /// Invoked when the application is launched normally by the end user. Other entry points /// will be used such as when the application is launched to open a specific file. /// - /// Details about the launch request and process. - protected override async void OnLaunched(LaunchActivatedEventArgs e) + /// Details about the launch request and process. + protected override async void OnLaunched(LaunchActivatedEventArgs args) { - OnLaunchOrActivated(e); + OnLaunchOrActivated(args); await HockeyClient.Current.SendCrashesAsync(/* sendWithoutAsking: true */); } @@ -81,7 +81,7 @@ namespace ModernKeePass #if DEBUG if (System.Diagnostics.Debugger.IsAttached) { - //DebugSettings.EnableFrameRateCounter = true; + DebugSettings.EnableFrameRateCounter = true; } #endif @@ -109,9 +109,9 @@ namespace ModernKeePass Window.Current.Content = rootFrame; } - if (e is LaunchActivatedEventArgs) + var lauchActivatedEventArgs = e as LaunchActivatedEventArgs; + if (lauchActivatedEventArgs != null) { - var lauchActivatedEventArgs = (LaunchActivatedEventArgs) e; if (rootFrame.Content == null) { // When the navigation stack isn't restored navigate to the first page, @@ -119,20 +119,8 @@ namespace ModernKeePass // parameter rootFrame.Navigate(typeof(MainPage), lauchActivatedEventArgs.Arguments); } - /*else - { - // App is "launched" via the Toast Activation event - UndoEntityDelete(lauchActivatedEventArgs.Arguments); - }*/ } - // This is only available on Windows 10... - /*else if (e is ToastNotificationActivatedEventArgs) - { - var toastActivationArgs = e as ToastNotificationActivatedEventArgs; - - // Parse the query string (using QueryString.NET) - UndoEntityDelete(QueryString.Parse(toastActivationArgs.Argument)); - }*/ + // Ensure the current window is active Window.Current.Activate(); } diff --git a/ModernKeePass/Common/MessageDialogHelper.cs b/ModernKeePass/Common/MessageDialogHelper.cs index 3bf8d03..72772d0 100644 --- a/ModernKeePass/Common/MessageDialogHelper.cs +++ b/ModernKeePass/Common/MessageDialogHelper.cs @@ -74,7 +74,7 @@ namespace ModernKeePass.Common // Create the message dialog and set its content var messageDialog = new MessageDialog(message, title); - // Add commands and set their callbacks; + // Add commands and set their callbacks messageDialog.Commands.Add(new UICommand(dismissActionText, cancelCommand)); // Set the command that will be invoked by default diff --git a/ModernKeePass/Common/ObservableDictionary.cs b/ModernKeePass/Common/ObservableDictionary.cs index 48dab88..f5845eb 100644 --- a/ModernKeePass/Common/ObservableDictionary.cs +++ b/ModernKeePass/Common/ObservableDictionary.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using Windows.Foundation.Collections; @@ -15,15 +14,15 @@ namespace ModernKeePass.Common { public ObservableDictionaryChangedEventArgs(CollectionChange change, string key) { - this.CollectionChange = change; - this.Key = key; + CollectionChange = change; + Key = key; } public CollectionChange CollectionChange { get; private set; } public string Key { get; private set; } } - private Dictionary _dictionary = new Dictionary(); + private readonly Dictionary _dictionary = new Dictionary(); public event MapChangedEventHandler MapChanged; private void InvokeMapChanged(CollectionChange change, string key) @@ -37,13 +36,13 @@ namespace ModernKeePass.Common public void Add(string key, object value) { - this._dictionary.Add(key, value); - this.InvokeMapChanged(CollectionChange.ItemInserted, key); + _dictionary.Add(key, value); + InvokeMapChanged(CollectionChange.ItemInserted, key); } public void Add(KeyValuePair item) { - this.Add(item.Key, item.Value); + Add(item.Key, item.Value); } public void AddRange(IEnumerable> values) @@ -56,9 +55,9 @@ namespace ModernKeePass.Common public bool Remove(string key) { - if (this._dictionary.Remove(key)) + if (_dictionary.Remove(key)) { - this.InvokeMapChanged(CollectionChange.ItemRemoved, key); + InvokeMapChanged(CollectionChange.ItemRemoved, key); return true; } return false; @@ -67,10 +66,10 @@ namespace ModernKeePass.Common public bool Remove(KeyValuePair item) { object currentValue; - if (this._dictionary.TryGetValue(item.Key, out currentValue) && - Object.Equals(item.Value, currentValue) && this._dictionary.Remove(item.Key)) + if (_dictionary.TryGetValue(item.Key, out currentValue) && + Equals(item.Value, currentValue) && _dictionary.Remove(item.Key)) { - this.InvokeMapChanged(CollectionChange.ItemRemoved, item.Key); + InvokeMapChanged(CollectionChange.ItemRemoved, item.Key); return true; } return false; @@ -80,53 +79,53 @@ namespace ModernKeePass.Common { get { - return this._dictionary[key]; + return _dictionary[key]; } set { - this._dictionary[key] = value; - this.InvokeMapChanged(CollectionChange.ItemChanged, key); + _dictionary[key] = value; + InvokeMapChanged(CollectionChange.ItemChanged, key); } } public void Clear() { - var priorKeys = this._dictionary.Keys.ToArray(); - this._dictionary.Clear(); + var priorKeys = _dictionary.Keys.ToArray(); + _dictionary.Clear(); foreach (var key in priorKeys) { - this.InvokeMapChanged(CollectionChange.ItemRemoved, key); + InvokeMapChanged(CollectionChange.ItemRemoved, key); } } public ICollection Keys { - get { return this._dictionary.Keys; } + get { return _dictionary.Keys; } } public bool ContainsKey(string key) { - return this._dictionary.ContainsKey(key); + return _dictionary.ContainsKey(key); } public bool TryGetValue(string key, out object value) { - return this._dictionary.TryGetValue(key, out value); + return _dictionary.TryGetValue(key, out value); } public ICollection Values { - get { return this._dictionary.Values; } + get { return _dictionary.Values; } } public bool Contains(KeyValuePair item) { - return this._dictionary.Contains(item); + return _dictionary.Contains(item); } public int Count { - get { return this._dictionary.Count; } + get { return _dictionary.Count; } } public bool IsReadOnly @@ -136,18 +135,18 @@ namespace ModernKeePass.Common public IEnumerator> GetEnumerator() { - return this._dictionary.GetEnumerator(); + return _dictionary.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { - return this._dictionary.GetEnumerator(); + return _dictionary.GetEnumerator(); } public void CopyTo(KeyValuePair[] array, int arrayIndex) { int arraySize = array.Length; - foreach (var pair in this._dictionary) + foreach (var pair in _dictionary) { if (arrayIndex >= arraySize) break; array[arrayIndex++] = pair; diff --git a/ModernKeePass/Common/RelayCommand.cs b/ModernKeePass/Common/RelayCommand.cs index 72739be..232f4cf 100644 --- a/ModernKeePass/Common/RelayCommand.cs +++ b/ModernKeePass/Common/RelayCommand.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Input; namespace ModernKeePass.Common @@ -55,7 +51,7 @@ namespace ModernKeePass.Common /// true if this command can be executed; otherwise, false. public bool CanExecute(object parameter) { - return _canExecute == null ? true : _canExecute(); + return _canExecute?.Invoke() ?? true; } /// diff --git a/ModernKeePass/Common/SuspensionManager.cs b/ModernKeePass/Common/SuspensionManager.cs index b0eb4c0..da57a4e 100644 --- a/ModernKeePass/Common/SuspensionManager.cs +++ b/ModernKeePass/Common/SuspensionManager.cs @@ -1,11 +1,8 @@ using System; using System.Collections.Generic; using System.IO; -using System.Linq; using System.Runtime.Serialization; -using System.Text; using System.Threading.Tasks; -using Windows.ApplicationModel; using Windows.Storage; using Windows.Storage.Streams; using Windows.UI.Xaml; @@ -23,7 +20,7 @@ namespace ModernKeePass.Common internal sealed class SuspensionManager { private static Dictionary _sessionState = new Dictionary(); - private static List _knownTypes = new List(); + private static readonly List _knownTypes = new List(); private const string sessionStateFilename = "_sessionState.xml"; /// @@ -33,20 +30,14 @@ namespace ModernKeePass.Common /// and should be as compact as possible. Strings /// and other self-contained data types are strongly recommended. /// - public static Dictionary SessionState - { - get { return _sessionState; } - } + public static Dictionary SessionState => _sessionState; /// /// List of custom types provided to the when /// reading and writing session state. Initially empty, additional types may be /// added to customize the serialization process. /// - public static List KnownTypes - { - get { return _knownTypes; } - } + public static List KnownTypes => _knownTypes; /// /// Save the current . Any instances diff --git a/ModernKeePass/Converters/BooleanToVisibilityConverter.cs b/ModernKeePass/Converters/BooleanToVisibilityConverter.cs index 787bbd1..178bfb6 100644 --- a/ModernKeePass/Converters/BooleanToVisibilityConverter.cs +++ b/ModernKeePass/Converters/BooleanToVisibilityConverter.cs @@ -8,20 +8,20 @@ namespace ModernKeePass.Converters { public object Convert(object value, Type targetType, object parameter, string language) { - var boolean = value is bool ? (bool) value : false; + var boolean = value as bool? ?? false; return boolean ? Visibility.Visible : Visibility.Collapsed; } // No need to implement this public object ConvertBack(object value, Type targetType, object parameter, string language) { - var visibility = value is Visibility ? (Visibility) value : Visibility.Visible; + var visibility = value as Visibility? ?? Visibility.Visible; switch (visibility) { case Visibility.Visible: return true; case Visibility.Collapsed: return false; default: - throw new ArgumentOutOfRangeException(); + throw new ArgumentOutOfRangeException(nameof(value)); } } } diff --git a/ModernKeePass/Converters/IntToSymbolConverter.cs b/ModernKeePass/Converters/IntToSymbolConverter.cs index b858a6b..f8fb553 100644 --- a/ModernKeePass/Converters/IntToSymbolConverter.cs +++ b/ModernKeePass/Converters/IntToSymbolConverter.cs @@ -40,12 +40,9 @@ namespace ModernKeePass.Converters case PwIcon.Screen: return Symbol.GoToStart; case PwIcon.EnergyCareful: return Symbol.FourBars; case PwIcon.Disk: return Symbol.Save; - //case PwIcon.PaperQ: return Symbol.; - //case PwIcon.TerminalEncrypted: return Symbol.; case PwIcon.Console: return Symbol.SlideShow; case PwIcon.Printer: return Symbol.Scan; case PwIcon.ProgramIcons: return Symbol.GoToStart; - //case PwIcon.Run: return Symbol.; case PwIcon.Settings: case PwIcon.Tool: return Symbol.Repair; case PwIcon.Archive: return Symbol.Crop; @@ -53,15 +50,12 @@ namespace ModernKeePass.Converters case PwIcon.Clock: return Symbol.Clock; case PwIcon.EMailSearch: return Symbol.Find; case PwIcon.PaperFlag: return Symbol.Flag; - //case PwIcon.Memory: return Symbol.; case PwIcon.TrashBin: return Symbol.Delete; case PwIcon.Expired: return Symbol.Cancel; case PwIcon.Info: return Symbol.Help; - //case PwIcon.Package: return Symbol.; case PwIcon.Folder: case PwIcon.FolderOpen: case PwIcon.FolderPackage: return Symbol.Folder; - //case PwIcon.LockOpen: return Symbol.; case PwIcon.PaperLocked: return Symbol.ProtectedDocument; case PwIcon.Checked: return Symbol.Accept; case PwIcon.Pen: return Symbol.Edit; @@ -71,10 +65,6 @@ namespace ModernKeePass.Converters case PwIcon.UserKey: return Symbol.ContactPresence; case PwIcon.Home: return Symbol.Home; case PwIcon.Star: return Symbol.OutlineStar; - //case PwIcon.Tux: return Symbol.; - //case PwIcon.Feather: return Symbol.; - //case PwIcon.Apple: return Symbol.; - //case PwIcon.Wiki: return Symbol.; case PwIcon.Money: return Symbol.Shop; case PwIcon.Certificate: return Symbol.PreviewLink; case PwIcon.BlackBerry: return Symbol.CellPhone; @@ -87,392 +77,8 @@ namespace ModernKeePass.Converters var symbol = (Symbol) value; switch (symbol) { - /*case Symbol.Previous: - break; - case Symbol.Next: - break; - case Symbol.Play: - break; - case Symbol.Pause: - break; - case Symbol.Edit: - break; - case Symbol.Save: - break; - case Symbol.Clear: - break;*/ case Symbol.Delete: return PwIcon.TrashBin; - /*case Symbol.Remove: - break; - case Symbol.Add: - break; - case Symbol.Cancel: - break; - case Symbol.Accept: - break; - case Symbol.More: - break; - case Symbol.Redo: - break; - case Symbol.Undo: - break; - case Symbol.Home: - break; - case Symbol.Up: - break; - case Symbol.Forward: - break; - case Symbol.Back: - break; - case Symbol.Favorite: - break; - case Symbol.Camera: - break; - case Symbol.Setting: - break; - case Symbol.Video: - break; - case Symbol.Sync: - break; - case Symbol.Download: - break; - case Symbol.Mail: - break; - case Symbol.Find: - break; - case Symbol.Help: - break; - case Symbol.Upload: - break; - case Symbol.Emoji: - break; - case Symbol.TwoPage: - break; - case Symbol.LeaveChat: - break; - case Symbol.MailForward: - break; - case Symbol.Clock: - break; - case Symbol.Send: - break; - case Symbol.Crop: - break; - case Symbol.RotateCamera: - break; - case Symbol.People: - break; - case Symbol.OpenPane: - break; - case Symbol.ClosePane: - break; - case Symbol.World: - break; - case Symbol.Flag: - break; - case Symbol.PreviewLink: - break; - case Symbol.Globe: - break; - case Symbol.Trim: - break; - case Symbol.AttachCamera: - break; - case Symbol.ZoomIn: - break; - case Symbol.Bookmarks: - break; - case Symbol.Document: - break; - case Symbol.ProtectedDocument: - break; - case Symbol.Page: - break; - case Symbol.Bullets: - break; - case Symbol.Comment: - break; - case Symbol.MailFilled: - break; - case Symbol.ContactInfo: - break; - case Symbol.HangUp: - break; - case Symbol.ViewAll: - break; - case Symbol.MapPin: - break; - case Symbol.Phone: - break; - case Symbol.VideoChat: - break; - case Symbol.Switch: - break; - case Symbol.Contact: - break; - case Symbol.Rename: - break; - case Symbol.Pin: - break; - case Symbol.MusicInfo: - break; - case Symbol.Go: - break; - case Symbol.Keyboard: - break; - case Symbol.DockLeft: - break; - case Symbol.DockRight: - break; - case Symbol.DockBottom: - break; - case Symbol.Remote: - break; - case Symbol.Refresh: - break; - case Symbol.Rotate: - break; - case Symbol.Shuffle: - break; - case Symbol.List: - break; - case Symbol.Shop: - break; - case Symbol.SelectAll: - break; - case Symbol.Orientation: - break; - case Symbol.Import: - break; - case Symbol.ImportAll: - break; - case Symbol.BrowsePhotos: - break; - case Symbol.WebCam: - break; - case Symbol.Pictures: - break; - case Symbol.SaveLocal: - break; - case Symbol.Caption: - break; - case Symbol.Stop: - break; - case Symbol.ShowResults: - break; - case Symbol.Volume: - break; - case Symbol.Repair: - break; - case Symbol.Message: - break; - case Symbol.Page2: - break; - case Symbol.CalendarDay: - break; - case Symbol.CalendarWeek: - break; - case Symbol.Calendar: - break; - case Symbol.Character: - break; - case Symbol.MailReplyAll: - break; - case Symbol.Read: - break; - case Symbol.Link: - break; - case Symbol.Account: - break; - case Symbol.ShowBcc: - break; - case Symbol.HideBcc: - break; - case Symbol.Cut: - break; - case Symbol.Attach: - break; - case Symbol.Paste: - break; - case Symbol.Filter: - break; - case Symbol.Copy: - break; - case Symbol.Emoji2: - break; - case Symbol.Important: - break; - case Symbol.MailReply: - break; - case Symbol.SlideShow: - break; - case Symbol.Sort: - break; - case Symbol.Manage: - break; - case Symbol.AllApps: - break; - case Symbol.DisconnectDrive: - break; - case Symbol.MapDrive: - break; - case Symbol.NewWindow: - break; - case Symbol.OpenWith: - break; - case Symbol.ContactPresence: - break; - case Symbol.Priority: - break; - case Symbol.GoToToday: - break; - case Symbol.Font: - break; - case Symbol.FontColor: - break; - case Symbol.Contact2: - break; - case Symbol.Folder: - break; - case Symbol.Audio: - break; - case Symbol.Placeholder: - break; - case Symbol.View: - break; - case Symbol.SetLockScreen: - break; - case Symbol.SetTile: - break; - case Symbol.ClosedCaption: - break; - case Symbol.StopSlideShow: - break; - case Symbol.Permissions: - break; - case Symbol.Highlight: - break; - case Symbol.DisableUpdates: - break; - case Symbol.UnFavorite: - break; - case Symbol.UnPin: - break; - case Symbol.OpenLocal: - break; - case Symbol.Mute: - break; - case Symbol.Italic: - break; - case Symbol.Underline: - break; - case Symbol.Bold: - break; - case Symbol.MoveToFolder: - break; - case Symbol.LikeDislike: - break; - case Symbol.Dislike: - break; - case Symbol.Like: - break; - case Symbol.AlignRight: - break; - case Symbol.AlignCenter: - break; - case Symbol.AlignLeft: - break; - case Symbol.Zoom: - break; - case Symbol.ZoomOut: - break; - case Symbol.OpenFile: - break; - case Symbol.OtherUser: - break; - case Symbol.Admin: - break; - case Symbol.Street: - break; - case Symbol.Map: - break; - case Symbol.ClearSelection: - break; - case Symbol.FontDecrease: - break; - case Symbol.FontIncrease: - break; - case Symbol.FontSize: - break; - case Symbol.CellPhone: - break; - case Symbol.ReShare: - break; - case Symbol.Tag: - break; - case Symbol.RepeatOne: - break; - case Symbol.RepeatAll: - break; - case Symbol.OutlineStar: - break; - case Symbol.SolidStar: - break; - case Symbol.Calculator: - break; - case Symbol.Directions: - break; - case Symbol.Target: - break; - case Symbol.Library: - break; - case Symbol.PhoneBook: - break; - case Symbol.Memo: - break; - case Symbol.Microphone: - break; - case Symbol.PostUpdate: - break; - case Symbol.BackToWindow: - break; - case Symbol.FullScreen: - break; - case Symbol.NewFolder: - break; - case Symbol.CalendarReply: - break; - case Symbol.UnSyncFolder: - break; - case Symbol.ReportHacked: - break; - case Symbol.SyncFolder: - break; - case Symbol.BlockContact: - break; - case Symbol.SwitchApps: - break; - case Symbol.AddFriend: - break; - case Symbol.TouchPointer: - break; - case Symbol.GoToStart: - break; - case Symbol.ZeroBars: - break; - case Symbol.OneBar: - break; - case Symbol.TwoBars: - break; - case Symbol.ThreeBars: - break; - case Symbol.FourBars: - break; - case Symbol.Scan: - break; - case Symbol.Preview: - break;*/ default: return PwIcon.Folder; } diff --git a/ModernKeePass/Converters/InverseBooleanToVisibilityConverter.cs b/ModernKeePass/Converters/InverseBooleanToVisibilityConverter.cs index abd84ef..e354271 100644 --- a/ModernKeePass/Converters/InverseBooleanToVisibilityConverter.cs +++ b/ModernKeePass/Converters/InverseBooleanToVisibilityConverter.cs @@ -8,20 +8,20 @@ namespace ModernKeePass.Converters { public object Convert(object value, Type targetType, object parameter, string language) { - var boolean = value is bool ? (bool)value : false; + var boolean = value as bool? ?? false; return boolean ? Visibility.Collapsed : Visibility.Visible; } // No need to implement this public object ConvertBack(object value, Type targetType, object parameter, string language) { - var visibility = value is Visibility ? (Visibility)value : Visibility.Visible; + var visibility = value as Visibility? ?? Visibility.Visible; switch (visibility) { case Visibility.Visible: return false; case Visibility.Collapsed: return true; default: - throw new ArgumentOutOfRangeException(); + throw new ArgumentOutOfRangeException(nameof(value)); } } } diff --git a/ModernKeePass/Interfaces/IDatabaseService.cs b/ModernKeePass/Interfaces/IDatabaseService.cs index f4b680e..4c24e6d 100644 --- a/ModernKeePass/Interfaces/IDatabaseService.cs +++ b/ModernKeePass/Interfaces/IDatabaseService.cs @@ -11,7 +11,6 @@ namespace ModernKeePass.Interfaces { string Name { get; } bool RecycleBinEnabled { get; set; } - //int Status { get; set; } GroupVm RootGroup { get; set; } GroupVm RecycleBin { get; set; } StorageFile DatabaseFile { get; set; } diff --git a/ModernKeePass/Services/DatabaseService.cs b/ModernKeePass/Services/DatabaseService.cs index 910c6ae..3de74dd 100644 --- a/ModernKeePass/Services/DatabaseService.cs +++ b/ModernKeePass/Services/DatabaseService.cs @@ -22,7 +22,6 @@ namespace ModernKeePass.Services private StorageFile _realDatabaseFile; private StorageFile _databaseFile; private GroupVm _recycleBin; - private CompositeKey _compositeKey; public GroupVm RootGroup { get; set; } @@ -57,11 +56,7 @@ namespace ModernKeePass.Services } } - public CompositeKey CompositeKey - { - get { return _compositeKey; } - set { _compositeKey = value; } - } + public CompositeKey CompositeKey { get; set; } public PwUuid DataCipher { @@ -112,7 +107,7 @@ namespace ModernKeePass.Services throw new ArgumentNullException(nameof(key)); } - _compositeKey = key; + CompositeKey = key; var ioConnection = IOConnectionInfo.FromFile(DatabaseFile); if (createNew) { @@ -153,7 +148,7 @@ namespace ModernKeePass.Services public async Task ReOpen() { - await Open(_compositeKey); + await Open(CompositeKey); } /// diff --git a/ModernKeePass/Services/LicenseService.cs b/ModernKeePass/Services/LicenseService.cs index f81f60d..efa276e 100644 --- a/ModernKeePass/Services/LicenseService.cs +++ b/ModernKeePass/Services/LicenseService.cs @@ -20,8 +20,7 @@ namespace ModernKeePass.Services } public IReadOnlyDictionary Products { get; } - - //private LicenseInformation _licenseInformation; + private readonly HashSet _consumedTransactionIds = new HashSet(); public LicenseService() @@ -51,7 +50,7 @@ namespace ModernKeePass.Services case ProductPurchaseStatus.AlreadyPurchased: return (int) PurchaseResult.AlreadyPurchased; default: - throw new ArgumentOutOfRangeException(); + throw new ArgumentOutOfRangeException(nameof(purchaseResults.Status)); } } diff --git a/ModernKeePass/Services/SingletonServiceBase.cs b/ModernKeePass/Services/SingletonServiceBase.cs index 21e8758..65ee330 100644 --- a/ModernKeePass/Services/SingletonServiceBase.cs +++ b/ModernKeePass/Services/SingletonServiceBase.cs @@ -4,6 +4,8 @@ namespace ModernKeePass.Services { public abstract class SingletonServiceBase where T : new() { + protected SingletonServiceBase() { } + private static readonly Lazy LazyInstance = new Lazy(() => new T()); diff --git a/ModernKeePass/Views/EntryDetailPage.xaml.cs b/ModernKeePass/Views/EntryDetailPage.xaml.cs index 2771d7b..bae5996 100644 --- a/ModernKeePass/Views/EntryDetailPage.xaml.cs +++ b/ModernKeePass/Views/EntryDetailPage.xaml.cs @@ -1,5 +1,4 @@ -using System; -using Windows.UI.Xaml; +using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Navigation; using ModernKeePass.Common; @@ -28,22 +27,8 @@ namespace ModernKeePass.Views { InitializeComponent(); NavigationHelper = new NavigationHelper(this); - NavigationHelper.LoadState += navigationHelper_LoadState; } - /// - /// Remplit la page à l'aide du contenu passé lors de la navigation. Tout état enregistré est également - /// fourni lorsqu'une page est recréée à partir d'une session antérieure. - /// - /// - /// Source de l'événement ; en général - /// - /// Données d'événement qui fournissent le paramètre de navigation transmis à - /// lors de la requête initiale de cette page et - /// un dictionnaire d'état conservé par cette page durant une session - /// antérieure. L'état n'aura pas la valeur Null lors de la première visite de la page. - private void navigationHelper_LoadState(object sender, LoadStateEventArgs e) {} - #region Inscription de NavigationHelper /// Les méthodes fournies dans cette section sont utilisées simplement pour permettre diff --git a/ModernKeePass/Views/GroupDetailPage.xaml.cs b/ModernKeePass/Views/GroupDetailPage.xaml.cs index 3fa5fdf..a006854 100644 --- a/ModernKeePass/Views/GroupDetailPage.xaml.cs +++ b/ModernKeePass/Views/GroupDetailPage.xaml.cs @@ -31,22 +31,8 @@ namespace ModernKeePass.Views { InitializeComponent(); NavigationHelper = new NavigationHelper(this); - NavigationHelper.LoadState += navigationHelper_LoadState; } - /// - /// Populates the page with content passed during navigation. Any saved state is also - /// provided when recreating a page from a prior session. - /// - /// - /// The source of the event; typically - /// - /// Event data that provides both the navigation parameter passed to - /// when this page was initially requested and - /// a dictionary of state preserved by this page during an earlier - /// session. The state will be null the first time a page is visited. - private void navigationHelper_LoadState(object sender, LoadStateEventArgs e) {} - #region NavigationHelper registration /// The methods provided in this section are simply used to allow @@ -62,10 +48,15 @@ namespace ModernKeePass.Views { NavigationHelper.OnNavigatedTo(e); - if (e.Parameter is PasswordEventArgs) - DataContext = ((PasswordEventArgs) e.Parameter).RootGroup; - else if (e.Parameter is GroupVm) - DataContext = (GroupVm) e.Parameter; + var args = e.Parameter as PasswordEventArgs; + if (args != null) + DataContext = args.RootGroup; + else + { + var vm = e.Parameter as GroupVm; + if (vm != null) + DataContext = vm; + } } protected override void OnNavigatedFrom(NavigationEventArgs e) @@ -134,7 +125,7 @@ namespace ModernKeePass.Views private void SemanticZoom_ViewChangeStarted(object sender, SemanticZoomViewChangedEventArgs e) { // We need to synchronize the two lists (zoomed-in and zoomed-out) because the source is different - if (e.IsSourceZoomedInView == false) + if (!e.IsSourceZoomedInView) { e.DestinationItem.Item = e.SourceItem.Item; }