Esempio n. 1
0
        /// <summary> Thread method which will start the UI message dispatching </summary>
        private void OnRunningUI()
        {
            if (!_application.IsHeadless)
            {
                _application.OnPreInitializeMainWindow();
                _mainWindow = UIFactory.NewShell <IMainWindow>();
                Platform.Instance.MainWindow = _mainWindow;
                MenuItemProvider.AddExtensionPointMenuItems(_mainWindow);
                ToolbarItemProvider.AddExtensionPointToolbarItems(_mainWindow);
                RestoreWindowState(_mainWindow);
                _application.OnPostInitializeMainWindow(_mainWindow);
            }
            else
            {
                _log.Info("Application will run headless");
            }

            _application.OnApplicationRun();

            try {
                _applicationController = FactoryProvider.Instance.GetApplicationController();
                _applicationController.RunApplication(_mainWindow);
            } catch (Exception ex) {
                _log.Error(ex.Message, ex);
            }

            if (!_application.IsHeadless)
            {
                MemorizeWindowState(_mainWindow);
            }

            _application.OnApplicationShutdown();
        }
        public void MenuItemProvider_ShouldDefaultReturnTheTrayMenuItemProvider()
        {
            _plugin.Initialize(_host.Object);

            var sut = new MenuItemProvider(_plugin, _host.Object);

            sut.TrayMenuItemProvider.Should().BeOfType <TrayMenuItemProvider>();
        }
Esempio n. 3
0
        public static MenuItem getMenuUp(MenuItemProvider menuProvider)
        {
            MenuItem lMenu = menuProvider.GetSelfMenuCreateDefinition ().menuUp;
            if (lMenu == null)
                lMenu = menuProvider.GetSelfMenuCreateDefinition ();

            return lMenu;
        }
        public void MenuItemProvider_ShouldReturnTheLegacyTrayMenuItemProvider_IfSetInConfig()
        {
            _plugin.Initialize(_host.Object);
            _plugin.Settings.LegacyTrayMenuProviderEnable = true;

            var sut = new MenuItemProvider(_plugin, _host.Object);

            sut.TrayMenuItemProvider.Should().BeOfType <LegacyTrayMenuItemProvider>();
        }
        public void MenuItemProvider_ShouldReturnNullForUnknownEnumValue()
        {
            _plugin.Initialize(_host.Object);

            var sut = new MenuItemProvider(_plugin, _host.Object);

            var mainMenuItem = sut.GetMenuItem((PluginMenuType)4);

            mainMenuItem.Should().BeNull();
        }
        public void MenuItemProvider_ShouldReturnNullForGroupMenuEntries()
        {
            _plugin.Initialize(_host.Object);

            var sut = new MenuItemProvider(_plugin, _host.Object);

            var mainMenuItem = sut.GetMenuItem(PluginMenuType.Group);

            mainMenuItem.Should().BeNull();
        }
 public MenuItem GetMenuItem(string pageAlias)
 {
     return(MenuItemProvider.GetMenuItems()
            .LatestVersion(_latestVersionEnabled)
            .Published(!_latestVersionEnabled)
            .OnSite(SiteContext.CurrentSiteName)
            .Culture(_cultureName)
            .CombineWithDefaultCulture()
            .WhereEquals("NodeAlias", pageAlias)
            .TopN(1));
 }
        public void MenuItemProvider_ShouldReturnTheCorrectEntryMenuEntries()
        {
            _plugin.Initialize(_host.Object);

            var sut = new MenuItemProvider(_plugin, _host.Object);

            var mainMenuItem = sut.GetMenuItem(PluginMenuType.Entry);

            mainMenuItem.Should().NotBeNull();
            mainMenuItem.HasDropDownItems.Should().BeTrue();
            mainMenuItem.DropDownItems.Should().HaveCount(3);
        }
        public void MenuItemProvider_ShouldReturnTheCorrectTrayMenuEntries()
        {
            _plugin.Initialize(_host.Object);

            var sut = new MenuItemProvider(_plugin, _host.Object);

            var trayMenuItem = sut.GetMenuItem(PluginMenuType.Tray);

            trayMenuItem.Should().NotBeNull();
            trayMenuItem.HasDropDownItems.Should().BeTrue();
            trayMenuItem.DropDownItems.Should().HaveCount(0, "because, the entries are added at opening of the menu.");
        }
Esempio n. 10
0
        private void App_OnStartup(object sender, StartupEventArgs e)
        {
            WcfMutexSingleInstanceRunner instanceRunner = new WcfMutexSingleInstanceRunner("8E756836-F0DE-490E-AEA5-EDAADF9C5FF8");

            if (!instanceRunner.Run(e))
            {
                instanceRunner.Dispose();
                Shutdown(0);
            }
            m_dispatcher = new DispatcherWrapper(Dispatcher.CurrentDispatcher);
            instanceRunner.SecondInstanceStarted += CreateSettingsWindow;


            #region Upgrade settings
            if (!HandMeAFile.Properties.Settings.Default.Updated)
            {
                HandMeAFile.Properties.Settings.Default.Updated = true;
                HandMeAFile.Properties.Settings.Default.Upgrade();
                HandMeAFile.Properties.Settings.Default.Save();
            }
            #endregion

            IClipboard clipboard = new ClipboardWrapper();
            m_packsRepository = new ClipboardFilesRepository(new ClipboardNotifier(), clipboard);
            m_settings        = new SettingsStorage(m_packsRepository, new FilePackSerializer(new XDocumentProvider()));
            m_packsRepository.Init(m_settings.FilePacks.Select(p => p.SetCount((p.ClipboardCount + 1) / 2)).ToArray());


            IProvideContextMenu contextMenuProvider = new ContextMenuProvider();

            IContextMenu     contextMenu      = contextMenuProvider.Provide(new IMenuItem[0]);
            IProvideMenuItem menuItemProvider = new MenuItemProvider();
            IMenuItem        settingsMenuItem = menuItemProvider.Provide("Settings");
            IMenuItem        exitMenuItem     = menuItemProvider.Provide("Exit");
            contextMenu.Add(menuItemProvider.Provide("-"));
            contextMenu.Add(settingsMenuItem);
            contextMenu.Add(exitMenuItem);
            settingsMenuItem.Click += CreateSettingsWindow;
            exitMenuItem.Click     += (senderObj, args) => Shutdown(0);
            m_contextUpdater        = new ContextMenuUpdater(m_packsRepository, contextMenu, menuItemProvider, clipboard);


            IRunTheTrayApp trayApplication = new TrayApplication(contextMenu,
                                                                 new ApplicationWrapper(this),
                                                                 new NotifyIconProvider(),
                                                                 new StaticIconProvider(new IconWrapper(HandMeAFile.Properties.Resources.HandMeAFile)),
                                                                 doubleClickAction: CreateSettingsWindow);
            trayApplication.Run();
        }
Esempio n. 11
0
        /// <summary>
        /// Initialization of the plugin, adding menus, handlers and forms.
        /// </summary>
        /// <param name="host">Plugin host for access to KeePass functions.</param>
        /// <returns>Successful loading of the plugin, if not the plugin is removed.</returns>
        public override bool Initialize(IPluginHost host)
        {
            // Internalize Host Handle.
            if (host == null)
            {
                return(false);
            }

            PluginHost = host;

            Settings           = new Settings(host.CustomConfig);
            TOTPEntryValidator = new TOTPEntryValidator(Settings);

            _menuItemProvider = new MenuItemProvider(this, PluginHost);

            // Instantiate Help Form.
            _helpForm = new FormHelp();

            // Register events.
            PluginHost.MainWindow.Shown += MainWindow_Shown;

            // Register auto-type function.
            if (Settings.AutoTypeEnable)
            {
                SprEngine.FilterCompile += SprEngine_FilterCompile;
                SprEngine.FilterPlaceholderHints.Add(Settings.AutoTypeFieldName.ExtWithBrackets());
            }

            // List Column TOTP.
            columnProvider = new TrayTOTP_ColumnProvider(this);
            PluginHost.ColumnProviderPool.Add(columnProvider);

            // Refresh Timer.
            _liRefreshTimer.Interval = Settings.EntryListRefreshRate;
            _liRefreshTimer.Enabled  = true;
            _liRefreshTimer.Tick    += OnTimerTick;

            //Time Correction.
            TimeCorrectionProvider.Interval = Convert.ToInt16(Settings.TimeCorrectionRefreshTime);
            TimeCorrections = new TimeCorrectionCollection(Settings.TimeCorrectionEnable);
            TimeCorrections.AddRangeFromList(Settings.TimeCorrectionList);

            PluginHost.MainWindow.UIStateUpdated += MainWindow_UIStateUpdated;

            return(true);
        }
        // GET: Loads and displays the site's navigation menu
        public ActionResult GetMenu()
        {
            // Loads all menu items using the page type's generated provider
            // Uses the menu item order from the content tree in the Kentico 'Pages' application
            var menuItems = MenuItemProvider.GetMenuItems()
                            .Columns("MenuItemText", "MenuItemPage")
                            .OrderBy("NodeOrder");

            // Loads the pages selected within the menu items
            // The data only contains values of the NodeGUID identifier column
            var pages = DocumentHelper.GetDocuments()
                        .WhereIn("NodeGUID", menuItems.Select(item => item.MenuItemPage).ToList())
                        .Columns("NodeGUID");

            // Creates a collection of view models based on the menu item and page data
            var model = menuItems.Select(item => new MenuItemViewModel()
            {
                MenuItemText = item.MenuItemText,
                // Gets the URL for the page whose GUID matches the given menu item's selected page
                MenuItemRelativeUrl = pages.FirstOrDefault(page => page.NodeGUID == item.MenuItemPage).RelativeURL
            });

            return(PartialView("_SiteMenu", model));
        }
Esempio n. 13
0
 public AutomationNamePropertyEvent(MenuItemProvider provider)
     : base(provider,
            AutomationElementIdentifiers.NameProperty)
 {
 }
Esempio n. 14
0
 public InvokePatternInvokedEvent(MenuItemProvider provider)
     : base(provider, InvokePatternIdentifiers.InvokedEvent)
 {
 }
		public AutomationBoundingRectanglePropertyEvent (MenuItemProvider provider) 
			: base (provider, AutomationElementIdentifiers.BoundingRectangleProperty)
		{
			this.itemProvider = provider;
		}
Esempio n. 16
0
 public SelectionItemProviderBehavior(MenuItemProvider itemProvider) :
     base(itemProvider)
 {
     menuItem = itemProvider.MenuItem;
 }
Esempio n. 17
0
 public ToggleProviderBehavior(MenuItemProvider itemProvider) :
     base(itemProvider)
 {
     this.itemProvider = itemProvider;
 }
		public AutomationIsEnabledPropertyEvent (MenuItemProvider provider) 
			: base (provider,
			        AutomationElementIdentifiers.IsEnabledProperty)
		{
		}
Esempio n. 19
0
		public ToggleProviderBehavior (MenuItemProvider itemProvider) :
			base (itemProvider)
		{
			this.itemProvider = itemProvider;
		}
Esempio n. 20
0
 public AutomationBoundingRectanglePropertyEvent(MenuItemProvider provider)
     : base(provider, AutomationElementIdentifiers.BoundingRectangleProperty)
 {
     this.itemProvider = provider;
 }
 public AutomationIsEnabledPropertyEvent(MenuItemProvider provider)
     : base(provider,
            AutomationElementIdentifiers.IsEnabledProperty)
 {
 }
		public ExpandCollapseProviderBehavior (MenuItemProvider itemProvider) :
			base (itemProvider)
		{
			this.itemProvider = itemProvider;
			menuItem = this.itemProvider.Component as SWF.MenuItem;
		}
 public ExpandCollapsePatternExpandCollapseStateEvent(MenuItemProvider itemProvider) :
     base(itemProvider, ExpandCollapsePatternIdentifiers.ExpandCollapseStateProperty)
 {
     this.itemProvider = itemProvider;
 }
Esempio n. 24
0
		public InvokePatternInvokedEvent (MenuItemProvider provider) 
			: base (provider, InvokePatternIdentifiers.InvokedEvent)
		{
		}
Esempio n. 25
0
        private void setNewPath(MenuItem menuItem)
        {
            lstBox.Items.Clear();

            menuProvider = Tools.menuProviderFactory(menuItem);

            foreach (MenuItem lMenuItem in menuProvider.GetMenuItemList(edtFind.Text)) {
                string caption = lMenuItem.caption;
                // TODO - zajistit filtr
                if (!String.IsNullOrWhiteSpace(edtFind.Text)) {
                    string smallCaption = Tools.RemoveDiacritics(caption.ToLower());
                    string smallFind = Tools.RemoveDiacritics(edtFind.Text.ToLower());
                    if (smallCaption.Contains(smallFind)) {
                        lstBox.Items.Add(caption);
                    }
                } else {
                    lstBox.Items.Add(caption);
                }
            }

            int searchBoxHeight = (edtFind.Visible ? edtFind.Height : 0);

            int itemsHeight = searchBoxHeight + lstBox.Items.Count * lstBox.ItemHeight;
            this.ClientSize = new Size(this.ClientSize.Width, itemsHeight);

            int maxHeigth = Screen.FromControl(this).Bounds.Height;
            if (this.Height > maxHeigth) this.Height = maxHeigth;

            if ((this.Height + this.Top) > maxHeigth)
                this.Top = maxHeigth - this.Height;

            if (centerOnScreenToolStripMenuItem.Checked && (this.Height < maxHeigth)) {
                this.StartPosition = FormStartPosition.CenterScreen;
                this.Top = (maxHeigth / 2) - (this.Height /2);
            }

            setMouseCursor ();

            if (!edtFind.Focused) {
                lstBox.Select();
            }

            if (String.IsNullOrEmpty(lstBox.Text) && (lstBox.Items.Count > 0)) {
                lstBox.SetSelected(0,true); // select first item
            }
        }
 public ExpandCollapseProviderBehavior(MenuItemProvider itemProvider) :
     base(itemProvider)
 {
     this.itemProvider = itemProvider;
     menuItem          = this.itemProvider.Component as SWF.MenuItem;
 }
Esempio n. 27
0
 public InvokeProviderBehavior(MenuItemProvider provider)
     : base(provider)
 {
     this.itemProvider = provider;
 }
Esempio n. 28
0
		public AutomationNamePropertyEvent (MenuItemProvider provider) 
			: base (provider,
			        AutomationElementIdentifiers.NameProperty)
		{
		}
		public SelectionItemProviderBehavior (MenuItemProvider itemProvider) :
			base (itemProvider)
		{
			menuItem = itemProvider.MenuItem;
		}
Esempio n. 30
0
		public InvokeProviderBehavior (MenuItemProvider provider)
			: base (provider)
		{
			this.itemProvider = provider;
		}