void Bookmarks::deleteBookmark() { QStringList bookmarkList; QList<QAction*> menuItems = _bookmarksMenu->actions(); for (int i = 0; i < menuItems.count(); ++i) { bookmarkList.append(menuItems[i]->text()); } bool ok = false; auto bookmarkName = OffscreenUi::getItem(OffscreenUi::ICON_PLACEMARK, "Delete Bookmark", "Select the bookmark to delete", bookmarkList, 0, false, &ok); if (!ok) { return; } bookmarkName = bookmarkName.trimmed(); if (bookmarkName.length() == 0) { return; } removeBookmarkFromMenu(Menu::getInstance(), bookmarkName); remove(bookmarkName); if (_bookmarksMenu->actions().count() == 0) { enableMenuItems(false); } }
void Bookmarks::bookmarkLocation() { bool ok = false; auto bookmarkName = OffscreenUi::getText(OffscreenUi::ICON_PLACEMARK, "Bookmark Location", "Name", QString(), &ok); if (!ok) { return; } bookmarkName = bookmarkName.trimmed().replace(QRegExp("(\r\n|[\r\n\t\v ])+"), " "); if (bookmarkName.length() == 0) { return; } auto addressManager = DependencyManager::get<AddressManager>(); QString bookmarkAddress = addressManager->currentAddress().toString(); Menu* menubar = Menu::getInstance(); if (contains(bookmarkName)) { auto offscreenUi = DependencyManager::get<OffscreenUi>(); auto duplicateBookmarkMessage = offscreenUi->createMessageBox(OffscreenUi::ICON_WARNING, "Duplicate Bookmark", "The bookmark name you entered already exists in your list.", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); duplicateBookmarkMessage->setProperty("informativeText", "Would you like to overwrite it?"); auto result = offscreenUi->waitForMessageBoxResult(duplicateBookmarkMessage); if (result != QMessageBox::Yes) { return; } removeLocationFromMenu(menubar, bookmarkName); } addLocationToMenu(menubar, bookmarkName, bookmarkAddress); insert(bookmarkName, bookmarkAddress); // Overwrites any item with the same bookmarkName. enableMenuItems(true); }
void Bookmarks::setupMenus(Menu* menubar, MenuWrapper* menu) { // Add menus/actions auto bookmarkAction = menubar->addActionToQMenuAndActionHash(menu, MenuOption::BookmarkLocation); QObject::connect(bookmarkAction, SIGNAL(triggered()), this, SLOT(bookmarkLocation()), Qt::QueuedConnection); _bookmarksMenu = menu->addMenu(MenuOption::Bookmarks); _deleteBookmarksAction = menubar->addActionToQMenuAndActionHash(menu, MenuOption::DeleteBookmark); QObject::connect(_deleteBookmarksAction, SIGNAL(triggered()), this, SLOT(deleteBookmark()), Qt::QueuedConnection); // Enable/Disable menus as needed enableMenuItems(_bookmarks.count() > 0); // Load bookmarks for (auto it = _bookmarks.begin(); it != _bookmarks.end(); ++it ) { QString bookmarkName = it.key(); QString bookmarkAddress = it.value().toString(); addLocationToMenu(menubar, bookmarkName, bookmarkAddress); } }
void Bookmarks::addBookmarkToFile(const QString& bookmarkName, const QVariant& bookmark) { Menu* menubar = Menu::getInstance(); if (contains(bookmarkName)) { auto offscreenUi = DependencyManager::get<OffscreenUi>(); auto duplicateBookmarkMessage = offscreenUi->createMessageBox(OffscreenUi::ICON_WARNING, "Duplicate Bookmark", "The bookmark name you entered already exists in your list.", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); duplicateBookmarkMessage->setProperty("informativeText", "Would you like to overwrite it?"); auto result = offscreenUi->waitForMessageBoxResult(duplicateBookmarkMessage); if (result != QMessageBox::Yes) { return; } removeBookmarkFromMenu(menubar, bookmarkName); } addBookmarkToMenu(menubar, bookmarkName, bookmark); insert(bookmarkName, bookmark); // Overwrites any item with the same bookmarkName. enableMenuItems(true); }
void KHelpMain::slotEnableMenuItems() { enableMenuItems(); }
KHelpMain::KHelpMain(const char *name) :KTopLevelWidget(name) { helpwin = new KHelpWindow(this, name); CHECK_PTR(helpwin); DOCS_PATH = kapp->kde_htmldir() + "/default/kdehelp/"; createMenu(); createLocationbar(); createToolbar(); createStatusbar(); setMenu(menu); setStatusBar(statusbar); addToolBar(toolbar); addToolBar(location); setView(helpwin); readConfig(); menu->show(); if (showStatusBar) enableStatusBar(KStatusBar::Show); else enableStatusBar(KStatusBar::Hide); if (showToolBar) enableToolBar(KToolBar::Show); else enableToolBar(KToolBar::Hide); helpwin->show(); helpWindowList.setAutoDelete(FALSE); helpWindowList.append( this ); helpWindowList.first()->enableMenuItems(); enableMenuItems(); if ( optionsDialog ) { connect( optionsDialog->fontOptions, SIGNAL(fontSize( int )), helpwin, SLOT(slotFontSize( int )) ); connect( optionsDialog->fontOptions, SIGNAL(standardFont( const char * )), helpwin, SLOT(slotStandardFont( const char * )) ); connect( optionsDialog->fontOptions, SIGNAL(fixedFont( const char * )), helpwin, SLOT(slotFixedFont( const char * )) ); connect( optionsDialog->colorOptions, SIGNAL(colorsChanged(const QColor&, const QColor&, const QColor&, const QColor&, const bool, const bool )), helpwin, SLOT(slotColorsChanged(const QColor&, const QColor&, const QColor&, const QColor&, const bool, const bool)) ); } setMinimumSize( 200, 100 ); connect (helpwin, SIGNAL ( enableMenuItems() ), this, SLOT ( slotEnableMenuItems() ) ); connect (helpwin, SIGNAL ( openNewWindow(const char *) ), this, SLOT ( slotNewWindow(const char *) ) ); connect (helpwin, SIGNAL ( setURL(const char *) ), this, SLOT ( slotSetStatusText(const char *) ) ); connect (helpwin, SIGNAL ( setLocation(const char *) ), this, SLOT ( slotSetLocation(const char *) ) ); connect (helpwin, SIGNAL ( bookmarkChanged(KBookmark *) ), this, SLOT ( slotBookmarkChanged(KBookmark *) ) ); connect( helpwin, SIGNAL( setTitle(const char *) ), this, SLOT( slotSetTitle(const char *) ) ); optionsMenu->setItemChecked( optionsMenu->idAt( 2 ), showToolBar ); optionsMenu->setItemChecked( optionsMenu->idAt( 3 ), showLocationBar); optionsMenu->setItemChecked( optionsMenu->idAt( 4 ), showStatusBar ); if (showLocationBar) location->enable(KToolBar::Show); else location->enable(KToolBar::Hide); // restore geometry settings KConfig *config = KApplication::getKApplication()->getConfig(); config->setGroup( "Appearance" ); QString geom = config->readEntry( "Geometry" ); if ( !geom.isEmpty() ) { int width, height; sscanf( geom, "%dx%d", &width, &height ); resize( width, height ); } // put bookmarks into boormark menu helpwin->slotBookmarkChanged(); }