Ejemplo n.º 1
0
        // ReSharper disable InconsistentNaming
        public static KeyValueFlatCustomList <ShortcutDefinition> MigrateShortcutSettings(Version from, Version to, KeyValueFlatCustomList <ShortcutDefinition> shortcuts)
        {
            var v1_6_04 = new Version(1, 6, 4, 0);
            var v1_6_06 = new Version(1, 6, 6, 0);
            var v1_6_17 = new Version(1, 6, 17, 0);
            var v1_6_19 = new Version(1, 6, 19, 0);
            var v1_6_30 = new Version(1, 6, 30, 0);

            if (from < v1_6_04)
            {
                if (shortcuts.All(sc => sc.Key != "DeleteFolder"))
                {
                    LoggerSingleton.Inst.Info("AppSettings", "(Migration) Insert shortcut for [DeleteFolder]");
                    shortcuts = shortcuts.Concat(Tuple.Create("DeleteFolder", new ShortcutDefinition(AlephShortcutScope.FolderList, AlephModifierKeys.None, AlephKey.Delete)));
                }
            }
            if (from < v1_6_04)
            {
                if (shortcuts.All(sc => sc.Key != "RenameFolder"))
                {
                    LoggerSingleton.Inst.Info("AppSettings", "(Migration) Insert shortcut for [RenameFolder]");
                    shortcuts = shortcuts.Concat(Tuple.Create("RenameFolder", new ShortcutDefinition(AlephShortcutScope.FolderList, AlephModifierKeys.None, AlephKey.F2)));
                }
            }
            if (from < v1_6_06)
            {
                if (shortcuts.All(sc => sc.Key != "NewNoteFromTextFile"))
                {
                    LoggerSingleton.Inst.Info("AppSettings", "(Migration) Insert shortcut for [NewNoteFromTextFile]");
                    shortcuts = shortcuts.Concat(Tuple.Create("NewNoteFromTextFile", new ShortcutDefinition(AlephShortcutScope.Window, AlephModifierKeys.Control, AlephKey.O)));
                }
            }
            if (from < v1_6_17)
            {
                if (shortcuts.All(sc => sc.Key != "DocumentSearchNext"))
                {
                    LoggerSingleton.Inst.Info("AppSettings", "(Migration) Insert shortcut for [DocumentSearchNext]");
                    shortcuts = shortcuts.Concat(Tuple.Create("DocumentSearchNext", new ShortcutDefinition(AlephShortcutScope.Window, AlephModifierKeys.None, AlephKey.F3)));
                }
            }
            if (from < v1_6_19)
            {
                if (shortcuts.All(sc => sc.Key != "FocusPrevNote"))
                {
                    LoggerSingleton.Inst.Info("AppSettings", "(Migration) Insert shortcut for [FocusPrevNote]");
                    shortcuts = shortcuts.Concat(Tuple.Create("FocusPrevNote", new ShortcutDefinition(AlephShortcutScope.NoteEdit, AlephModifierKeys.Alt, AlephKey.Up)));
                }
                if (shortcuts.All(sc => sc.Key != "FocusNextNote"))
                {
                    LoggerSingleton.Inst.Info("AppSettings", "(Migration) Insert shortcut for [FocusNextNote]");
                    shortcuts = shortcuts.Concat(Tuple.Create("FocusNextNote", new ShortcutDefinition(AlephShortcutScope.NoteEdit, AlephModifierKeys.Alt, AlephKey.Down)));
                }
            }
            if (from < v1_6_30)
            {
                if (shortcuts.All(sc => sc.Key != "DuplicateCurrentLine"))
                {
                    LoggerSingleton.Inst.Info("AppSettings", "(Migration) Insert shortcut for [DuplicateCurrentLine]");
                    shortcuts = shortcuts.Concat(Tuple.Create("DuplicateCurrentLine", new ShortcutDefinition(AlephShortcutScope.NoteEdit, AlephModifierKeys.Control, AlephKey.D)));
                }
            }

            return(shortcuts);
        }
Ejemplo n.º 2
0
        public void Migrate(Version from, Version to)
        {
            LoggerSingleton.Inst.Info("AppSettings", $"Migrate settings from {from} to {to}");

            _shortcuts = ShortcutManager.MigrateShortcutSettings(from, to, _shortcuts);
        }