public ShortcutController(IDiscovery discovery, IContextManager contextManager, IBindingValidator bindingValidator, IShortcutProfileStore profileStore, ILastUsedProfileIdProvider lastUsedProfileIdProvider)
        {
            m_Discovery                 = discovery;
            this.bindingValidator       = bindingValidator;
            m_LastUsedProfileIdProvider = lastUsedProfileIdProvider;

            profileManager = new ShortcutProfileManager(m_Discovery.GetAllShortcuts(), bindingValidator, profileStore);
            profileManager.shortcutBindingChanged += OnShortcutBindingChanged;
            profileManager.activeProfileChanged   += OnActiveProfileChanged;
            profileManager.ReloadProfiles();

            var conflictResolverView = new ConflictResolverView();
            var conflictResolver     = new ConflictResolver(profileManager, contextManager, conflictResolverView);

            this.contextManager = contextManager;

            m_Directory = new Directory(profileManager.GetAllShortcuts());
            trigger     = new Trigger(m_Directory, conflictResolver);

            ActivateLastUsedProfile();
            MigrateUserSpecifiedPrefKeys();

            ModeService.modeChanged += HandleModeChanged;
        }
Example #2
0
 public ShortcutProfileManager(IEnumerable <ShortcutEntry> baseProfile, IBindingValidator bindingValidator, IShortcutProfileStore profileStore)
 {
     UpdateBaseProfile(baseProfile);
     m_ProfileStore     = profileStore;
     m_BindingValidator = bindingValidator;
 }