コード例 #1
0
        public IWorkItem GetParameterFromSelectedSuggestion(IWorkItem selectedSuggestion)
        {
            OSD.Menu.Menu     bookmarkMenu     = new OSD.Menu.Menu(null, "Bookmarks", Settings.Current.EnsoLearnAsOpenCommandsFolder, true, false, true, false, null, true, new OSD.Menu.MenuItemChosenDelegate(MenuItemChoosen));
            OSD.Menu.MenuItem selectedMenuItem = OSD.Menu.Menu.ShowMenu(bookmarkMenu);
            if (selectedMenuItem != null)
            {
                string   shortcutFilePath = (string)selectedMenuItem.tag;
                Shortcut bookmarkShortcut = WorkItemsProviders.Shortcuts.Shortcuts.ReadShortcutFile(shortcutFilePath);
                bookmarkShortcut.provider = this;
                selectedSuggestion        = (IWorkItem)bookmarkShortcut;
            }
            else
            {
                selectedSuggestion = null;
            }

            return(selectedSuggestion);
        }
コード例 #2
0
        public void ExecuteCommand(Extension.IEnsoService service, Command command)
        {
            Logging.AddActionLog(string.Format("BookmarkManager: Executing command '{0}' ...", command.Name));
            if (command.Name == "bookmark as")
            {
                //MessagesHandler.Display( "Loading bookmark folders ...");

                this.service             = service;
                OSD.OSD.SettingsFilePath = "OSD.Bookmarks.ini";
                OSD.Menu.Menu bookmarkMenu = new OSD.Menu.Menu(null, "Bookmarks", Settings.Current.EnsoLearnAsOpenCommandsFolder, false, false, false, false, "[New Category]", false, new OSD.Menu.MenuItemChosenDelegate(MenuItemChoosen));

                Thread bringToFrontAssistant = new Thread(BringToFront);
                bringToFrontAssistant.Start("OSD");

                OSD.Menu.MenuItem selectedMenuItem = OSD.Menu.Menu.ShowMenu(bookmarkMenu);
                if (selectedMenuItem != null)
                {
                    string bookmarkFilePath = Path.Combine((string)selectedMenuItem.tag, command.parametersOnExecute[0].GetValueAsText() + ".url");
                    BookmarkManager.SaveLinkFile(bookmarkFilePath, command.parametersOnExecute[1].GetValueAsText());
                    string message = command.parametersOnExecute[1].GetValueAsText();
                    MessagesHandler.Display(string.Format("{0} saved as bookmark.", message));
                }
            }
            else
            if (command.Name == "bookmark all tabs as")
            {
                this.service             = service;
                OSD.OSD.SettingsFilePath = "OSD.Bookmarks.ini";
                OSD.Menu.Menu bookmarkMenu = new OSD.Menu.Menu(null, "Bookmarks", Settings.Current.EnsoLearnAsOpenCommandsFolder, false, false, false, false, "[New Category]", false, new OSD.Menu.MenuItemChosenDelegate(MenuItemChoosen));

                Thread bringToFrontAssistant = new Thread(BringToFront);
                bringToFrontAssistant.Start("OSD");

                OSD.Menu.MenuItem selectedMenuItem = OSD.Menu.Menu.ShowMenu(bookmarkMenu);

                if (selectedMenuItem != null)
                {
                    //string bookmarkFilePath = Path.Combine((string)selectedMenuItem.tag, command.parametersOnExecute[0].GetCaption() + "."+Entities.WorkItems.Shortcuts.extension);
                    CommandsProviders.FOpener.FOpener.SaveAllTabs(true, service, command.parametersOnExecute[0].GetCaption(), (string)selectedMenuItem.tag, "BookmarkManager");
                }
            }
            else
            if (command.Name == "bookmark all tabs in one category")
            {
                this.service             = service;
                OSD.OSD.SettingsFilePath = "OSD.Bookmarks.ini";
                OSD.Menu.Menu bookmarkMenu = new OSD.Menu.Menu(null, "Bookmarks", Settings.Current.EnsoLearnAsOpenCommandsFolder, false, false, false, false, "[New Category]", false, new OSD.Menu.MenuItemChosenDelegate(MenuItemChoosen));

                Thread bringToFrontAssistant = new Thread(BringToFront);
                bringToFrontAssistant.Start("OSD");

                OSD.Menu.MenuItem selectedMenuItem = OSD.Menu.Menu.ShowMenu(bookmarkMenu);

                if (selectedMenuItem != null)
                {
                    //string bookmarkFilePath = Path.Combine((string)selectedMenuItem.tag, command.parametersOnExecute[0].GetCaption() + "."+Entities.WorkItems.Shortcuts.extension);
                    CommandsProviders.FOpener.FOpener.SaveAllTabs(false, service, Path.GetFileNameWithoutExtension(selectedMenuItem.tag.ToString()), (string)selectedMenuItem.tag, "BookmarkManager");
                }
            }
            else if (command.Name == "open bookmark")
            {
                //MessagesHandler.Display( "Loading bookmark folders ...");
                OSD.OSD.SettingsFilePath = "OSD.Bookmarks.ini";
                OSD.Menu.Menu bookmarkMenu = new OSD.Menu.Menu(null, "Bookmarks", Settings.Current.EnsoLearnAsOpenCommandsFolder, true, false, true, false, "[All From This Category]", false, null);

                Thread bringToFrontAssistant = new Thread(BringToFront);
                bringToFrontAssistant.Start("OSD");

                OSD.Menu.MenuItem selectedMenuItem = OSD.Menu.Menu.ShowMenu(bookmarkMenu);
                if (selectedMenuItem != null)
                {
                    List <string> filePathsToOpen = new List <string>();
                    if (selectedMenuItem.text == "[All From This Category]")
                    {
                        List <string> filePathsInFolder = CraftSynth.BuildingBlocks.IO.FileSystem.GetFilePaths(selectedMenuItem.tag.ToString());
                        foreach (string filePathInFolder in filePathsInFolder)
                        {
                            if (filePathInFolder.EndsWith(Entities.WorkItems.Shortcuts.extension, StringComparison.InvariantCultureIgnoreCase) ||
                                filePathInFolder.EndsWith("lnk", StringComparison.InvariantCultureIgnoreCase) ||
                                filePathInFolder.EndsWith("url", StringComparison.InvariantCultureIgnoreCase)
                                )
                            {
                                filePathsToOpen.Add(filePathInFolder);
                            }
                        }
                    }
                    else
                    {
                        filePathsToOpen.Add(selectedMenuItem.tag.ToString());
                    }

                    foreach (string filePathToOpen in filePathsToOpen)
                    {
                        if (filePathToOpen.EndsWith(Entities.WorkItems.Shortcuts.extension, StringComparison.OrdinalIgnoreCase))
                        {
                            Entities.WorkItems.Shortcuts shortcuts = new Entities.WorkItems.Shortcuts(filePathToOpen);

                            Logging.AddActionLog(string.Format("BookmarkManager: Opening '{0}' in Firefox ...", shortcuts.shortcutsFilePath));
                            MessagesHandler.Display(string.Format("Opening {0} ...", shortcuts.caption));

                            foreach (Shortcut shortcut in shortcuts.shortcuts)
                            {
                                Logging.AddActionLog(string.Format("BookmarkManager: Opening '{0}' in Firefox ...", shortcut.targetPath));

                                CommandsProviders.FOpener.FOpener.OpenInFirefox(shortcut.targetPath, true);
                            }
                        }
                        else
                        {
                            MessagesHandler.Display(string.Format("Opening {0} ...", filePathToOpen));
                            CraftSynth.BuildingBlocks.WindowsNT.Misc.OpenFile(filePathToOpen);
                        }
                    }
                }
            }
            else

            // if (command.Name == "command name" && command.Postfix == "postfix [item] [item2]")
            //{
            //    MessagesHandler.Display( string.Format("Executing {0} ...", command.Name));

            //} else
            {
                throw new ApplicationException(string.Format("BookmarkManager: Command not found. Command: {0} {1}", command.Name, command.Postfix));
            }
        }