void KonqSidebarBookmarkModule::slotDelete() { KonqSidebarBookmarkItem *bi = dynamic_cast<KonqSidebarBookmarkItem*>( tree()->selectedItem() ); if (!bi) return; KBookmark bookmark = bi->bookmark(); bool folder = bookmark.isGroup(); if (KMessageBox::warningYesNo( tree(), folder ? i18n("Are you sure you wish to remove the bookmark folder\n\"%1\"?").arg(bookmark.text()) : i18n("Are you sure you wish to remove the bookmark\n\"%1\"?").arg(bookmark.text()), folder ? i18n("Bookmark Folder Deletion") : i18n("Bookmark Deletion"), KGuiItem( i18n("&Delete"), "editdelete"), KStdGuiItem::cancel()) != KMessageBox::Yes ) return; KBookmarkGroup parentBookmark = bookmark.parentGroup(); parentBookmark.deleteBookmark( bookmark ); KonqBookmarkManager::self()->emitChanged( parentBookmark ); }
KFilePlacesModel::KFilePlacesModel(QObject *parent) : QAbstractItemModel(parent), d(new Private(this)) { const QString file = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/user-places.xbel"; d->bookmarkManager = KBookmarkManager::managerForExternalFile(file); // Let's put some places in there if it's empty. KBookmarkGroup root = d->bookmarkManager->root(); if (root.first().isNull() || !QFile::exists(file)) { // NOTE: The context for these I18N_NOOP2 calls has to be "KFile System Bookmarks". // The real i18nc call is made later, with this context, so the two must match. // // createSystemBookmark actually does nothing with its third argument, // but we have to give it something so the I18N_NOOP2 calls stay here for now. // // (coles, 13th May 2009) KFilePlacesItem::createSystemBookmark(d->bookmarkManager, QStringLiteral("Home"), I18N_NOOP2("KFile System Bookmarks", "Home"), QUrl::fromLocalFile(QDir::homePath()), QStringLiteral("user-home")); KFilePlacesItem::createSystemBookmark(d->bookmarkManager, QStringLiteral("Network"), I18N_NOOP2("KFile System Bookmarks", "Network"), QUrl(QStringLiteral("remote:/")), QStringLiteral("network-workgroup")); #if defined(_WIN32_WCE) // adding drives foreach (const QFileInfo &info, QDir::drives()) { QString driveIcon = "drive-harddisk"; KFilePlacesItem::createSystemBookmark(d->bookmarkManager, info.absoluteFilePath(), info.absoluteFilePath(), QUrl::fromLocalFile(info.absoluteFilePath()), driveIcon); }
void KonqSidebarBookmarkModule::slotCreateFolder() { KonqSidebarBookmarkItem *bi = dynamic_cast<KonqSidebarBookmarkItem*>( tree()->selectedItem() ); KBookmarkGroup parentGroup; if (bi) { if (bi->bookmark().isGroup()) { parentGroup = bi->bookmark().toGroup(); } else { parentGroup = bi->bookmark().parentGroup(); } } else if(tree()->selectedItem() == m_topLevelItem) { parentGroup = s_bookmarkManager->root(); } else { return; } bool ok; const QString str = KInputDialog::getText(i18nc("@title:window", "Create New Bookmark Folder"), i18n("New folder:"), QString(), &ok, tree()); if (!ok) { return; } KBookmark bookmark = parentGroup.createNewFolder(str); if (bi && !(bi->bookmark().isGroup())) { parentGroup.moveBookmark(bookmark, bi->bookmark()); } s_bookmarkManager->emitChanged( parentGroup ); }
void ImportCommand::redo() { KBookmarkGroup bkGroup; if (!folder().isNull()) { doCreateHoldingFolder(bkGroup); } else { // import into the root, after cleaning it up bkGroup = GlobalBookmarkManager::self()->root(); delete m_cleanUpCmd; m_cleanUpCmd = DeleteCommand::deleteAll(m_model, bkGroup); new DeleteCommand(m_model, bkGroup.address(), true /* contentOnly */, m_cleanUpCmd); m_cleanUpCmd->redo(); // import at the root m_group = ""; } doExecute(bkGroup); // notify the model that the data has changed // // FIXME Resetting the model completely has the unwanted // side-effect of collapsing all items in tree views // (and possibly other side effects) m_model->resetModel(); }
void KonqSidebarBookmarkModule::slotOpenTab() { KonqSidebarBookmarkItem *bi = dynamic_cast<KonqSidebarBookmarkItem*>( tree()->selectedItem() ); KBookmark bookmark; if (bi) { bookmark = bi->bookmark(); } else if(tree()->selectedItem() == m_topLevelItem) bookmark = s_bookmarkManager->root(); else return; KParts::OpenUrlArguments args; args.setActionRequestedByUser(true); KParts::BrowserArguments browserArguments; browserArguments.setNewTab(true); if (bookmark.isGroup()) { KBookmarkGroup group = bookmark.toGroup(); bookmark = group.first(); while (!bookmark.isNull()) { if (!bookmark.isGroup() && !bookmark.isSeparator()) { emit tree()->createNewWindow(bookmark.url(), args, browserArguments); } bookmark = group.next(bookmark); } } else { emit tree()->createNewWindow(bookmark.url(), args, browserArguments); } }
void KonqSidebarBookmarkModule::slotOpenTab() { KonqSidebarBookmarkItem *bi = dynamic_cast<KonqSidebarBookmarkItem*>( tree()->selectedItem() ); KBookmark bookmark; if (bi) { bookmark = bi->bookmark(); } else if(tree()->selectedItem() == m_topLevelItem) bookmark = KonqBookmarkManager::self()->root(); else return; DCOPRef ref(kapp->dcopClient()->appId(), tree()->topLevelWidget()->name()); if (bookmark.isGroup()) { KBookmarkGroup group = bookmark.toGroup(); bookmark = group.first(); while (!bookmark.isNull()) { if (!bookmark.isGroup() && !bookmark.isSeparator()) ref.call( "newTab(QString)", bookmark.url().url() ); bookmark = group.next(bookmark); } } else { ref.call( "newTab(QString)", bookmark.url().url() ); } }
void KBookmarkBar::slotBookmarksChanged( const QString & group ) { KBookmarkGroup tb = getToolbar(); // heavy for non cached toolbar version kDebug(7043) << "KBookmarkBar::slotBookmarksChanged( " << group << " )"; if ( tb.isNull() ) return; if( d->m_filteredToolbar ) { clear(); fillBookmarkBar( tb ); } else if ( KBookmark::commonParent(group, tb.address()) == group) // Is group a parent of tb.address? { clear(); fillBookmarkBar( tb ); } else { // Iterate recursively into child menus for ( QList<KBookmarkMenu *>::ConstIterator smit = m_lstSubMenus.constBegin(), smend = m_lstSubMenus.constEnd(); smit != smend; ++smit ) { (*smit)->slotBookmarksChanged( group ); } } }
KBookmark BookmarkManager::bookmarkForUrl(const KUrl &url) { KBookmarkGroup root = rootGroup(); if (root.isNull()) return KBookmark(); return bookmarkForUrl(root, url); }
QList<KBookmark> BookmarkManager::find(const QString &text) { QList<KBookmark> list; KBookmarkGroup root = rootGroup(); if (!root.isNull()) for (KBookmark bookmark = root.first(); !bookmark.isNull(); bookmark = root.next(bookmark)) find(&list, bookmark, text); return list; }
void KBookmarkMenu::slotNewFolder() { if (!m_pOwner) { return; // this view doesn't handle bookmarks... } KBookmarkGroup parentBookmark = m_pManager->findByAddress(m_parentAddress).toGroup(); Q_ASSERT(!parentBookmark.isNull()); KBookmarkDialog *dlg = m_pOwner->bookmarkDialog(m_pManager, QApplication::activeWindow()); dlg->createNewFolder(QLatin1String(""), parentBookmark); delete dlg; }
void KBookmarkMenu::fillBookmarks() { KBookmarkGroup parentBookmark = m_pManager->findByAddress(m_parentAddress).toGroup(); Q_ASSERT(!parentBookmark.isNull()); if (m_bIsRoot && !parentBookmark.first().isNull()) { // at least one bookmark m_parentMenu->addSeparator(); } for (KBookmark bm = parentBookmark.first(); !bm.isNull(); bm = parentBookmark.next(bm)) { m_parentMenu->addAction(actionForBookmark(bm)); } }
void KBookmarkDialogPrivate::fillGroup(QTreeWidgetItem *parentItem, const KBookmarkGroup &group, const KBookmarkGroup &selectGroup) { for (KBookmark bk = group.first(); !bk.isNull(); bk = group.next(bk)) { if (bk.isGroup()) { const KBookmarkGroup bkGroup = bk.toGroup(); QTreeWidgetItem* item = new KBookmarkTreeItem(parentItem, folderTree, bkGroup); if (selectGroup == bkGroup) { folderTree->setCurrentItem(item); } fillGroup(item, bkGroup, selectGroup); } } }
void BookmarksListBox::dropEvent( QDropEvent *event ) { KURL::List urls; if (KURLDrag::decode(event, urls) && !urls.isEmpty()) { KBookmarkManager* manager = DolphinSettings::instance().bookmarkManager(); KBookmarkGroup root = manager->root(); KURL::List::iterator it; for(it=urls.begin(); it!=urls.end(); ++it) { root.addBookmark(manager, (*it).fileName(), (*it), "", false); } manager->emitChanged(root); } }
void KonqPopupMenuPrivate::slotPopupAddToBookmark() { KBookmarkGroup root; if (m_popupItemProperties.urlList().count() == 1) { const QUrl url = m_popupItemProperties.urlList().first(); const QString title = m_urlTitle.isEmpty() ? url.toDisplayString() : m_urlTitle; KBookmarkDialog dlg(m_bookmarkManager, m_parentWidget); dlg.addBookmark(title, url, QString()); } else { root = m_bookmarkManager->root(); Q_FOREACH (const QUrl &url, m_popupItemProperties.urlList()) { root.addBookmark(url.toDisplayString(), url, QString()); } m_bookmarkManager->emitChanged(root); } }
void BookmarksSidebarPage::updateBookmarks() { m_bookmarksList->clear(); KIconLoader iconLoader; KBookmarkGroup root = DolphinSettings::instance().bookmarkManager()->root(); KBookmark bookmark = root.first(); while (!bookmark.isNull()) { m_bookmarksList->insertItem( BookmarkItem::fromKbookmark(bookmark, iconLoader) ); bookmark = root.next(bookmark); } connectToActiveView(); }
KEBMacroCommand* CmdGen::setAsToolbar(KBookmarkModel* model, const KBookmark &bk) { KEBMacroCommand *mcmd = new KEBMacroCommand(i18nc("(qtundo-format)", "Set as Bookmark Toolbar")); KBookmarkGroup oldToolbar = model->bookmarkManager()->toolbar(); if (!oldToolbar.isNull()) { new EditCommand(model, oldToolbar.address(), -2, "no", mcmd); //toolbar new EditCommand(model, oldToolbar.address(), -1, "", mcmd); //icon } new EditCommand(model, bk.address(), -2, "yes", mcmd); new EditCommand(model, bk.address(), -1, "bookmark-toolbar", mcmd); return mcmd; }
void SortCommand::redo() { if (childCount() == 0) { KBookmarkGroup grp = m_model->bookmarkManager()->findByAddress(m_groupAddress).toGroup(); Q_ASSERT(!grp.isNull()); SortItem firstChild(grp.first()); // this will call moveAfter, which will add // the subcommands for moving the items kInsertionSort<SortItem, SortByName, QString, SortCommand> (firstChild, (*this)); } else { // don't redo for second time on addCommand(cmd) KEBMacroCommand::redo(); } }
bool ClearFaviconsAction::action() { QDir favIconDir(KGlobal::dirs()->saveLocation( "cache", QLatin1String( "favicons/" ) )); QStringList saveTheseFavicons; KBookmarkManager* konqiBookmarkMgr; konqiBookmarkMgr = KBookmarkManager::managerForFile(KStandardDirs::locateLocal("data", QLatin1String("konqueror/bookmarks.xml")), QLatin1String( "konqueror" )); kDebug() << "saving the favicons that are in konqueror bookmarks" ; kDebug() << "opened konqueror bookmarks at " << konqiBookmarkMgr->path() ; // get the entire slew of bookmarks KBookmarkGroup konqiBookmarks = konqiBookmarkMgr->root(); // walk through the bookmarks, if they have a favicon we should keep it KBookmark bookmark = konqiBookmarks.first(); while (!bookmark.isNull()) { if ((bookmark.icon()).startsWith(QLatin1String("favicons/"))) { // pick out the name, throw .png on the end, and store the filename QRegExp regex(QLatin1String( "favicons/(.*)" )); regex.indexIn(bookmark.icon(), 0); kDebug() << "will save " << (regex.cap(1) + QLatin1String( ".png" )) ; saveTheseFavicons << (regex.cap(1) + QLatin1String( ".png" )); } bookmark = konqiBookmarks.next(bookmark); } favIconDir.setFilter( QDir::Files ); const QStringList entries = favIconDir.entryList(); // erase all files in favicon directory... for( QStringList::const_iterator it = entries.begin() ; it != entries.end() ; ++it) { // ...if we're not supposed to save them, of course if (!saveTheseFavicons.contains(*it)) { kDebug() << "removing " << *it ; if(!favIconDir.remove(*it)) { errMsg = i18n("A favicon could not be removed."); return false; } } } return true; }
void KonqSidebarBookmarkModule::slotDropped(KListView *, QDropEvent *e, QListViewItem *parent, QListViewItem *after) { if (!KBookmarkDrag::canDecode(e)) return; KBookmark afterBookmark; KonqSidebarBookmarkItem *afterItem = dynamic_cast<KonqSidebarBookmarkItem*>(after); if (afterItem) afterBookmark = afterItem->bookmark(); KBookmarkGroup parentGroup; // try to get the parent group... if (after) { parentGroup = afterBookmark.parentGroup(); } else if (parent) { if(KonqSidebarBookmarkItem *p = dynamic_cast<KonqSidebarBookmarkItem*>(parent)) { if (!p) return; KBookmark bm = p->bookmark(); if (bm.isGroup()) parentGroup = bm.toGroup(); else return; } else if(parent == m_topLevelItem) { parentGroup = KonqBookmarkManager::self()->root(); } } else { // it's most probably the root... parentGroup = KonqBookmarkManager::self()->root(); } QValueList<KBookmark> bookmarks = KBookmarkDrag::decode(e); // copy QValueList<KBookmark>::iterator it = bookmarks.begin(); for (;it != bookmarks.end(); ++it) { // insert new item. parentGroup.moveItem(*it, afterBookmark); } KonqBookmarkManager::self()->emitChanged( parentGroup ); }
void KonqSidebarBookmarkModule::slotDropped(K3ListView *, QDropEvent *e, Q3ListViewItem *parent, Q3ListViewItem *after) { if (!KBookmark::List::canDecode(e->mimeData())) return; KBookmark afterBookmark; KonqSidebarBookmarkItem *afterItem = dynamic_cast<KonqSidebarBookmarkItem*>(after); if (afterItem) afterBookmark = afterItem->bookmark(); KBookmarkGroup parentGroup; // try to get the parent group... if (after) { parentGroup = afterBookmark.parentGroup(); } else if (parent) { if(KonqSidebarBookmarkItem *p = dynamic_cast<KonqSidebarBookmarkItem*>(parent)) { if (!p) return; KBookmark bm = p->bookmark(); if (bm.isGroup()) parentGroup = bm.toGroup(); else return; } else if(parent == m_topLevelItem) { parentGroup = s_bookmarkManager->root(); } } else { // it's most probably the root... parentGroup = s_bookmarkManager->root(); } QDomDocument parentDocument; const KBookmark::List bookmarks = KBookmark::List::fromMimeData(e->mimeData(), parentDocument); // copy KBookmark::List::const_iterator it = bookmarks.constBegin(); for (;it != bookmarks.constEnd(); ++it) { // insert new item. parentGroup.moveBookmark(*it, afterBookmark); } s_bookmarkManager->emitChanged( parentGroup ); }
void BookmarkMenu::addOpenFolderInTabs() { KBookmarkGroup group = manager()->findByAddress(parentAddress()).toGroup(); if (!group.first().isNull()) { KBookmark bookmark = group.first(); while (bookmark.isGroup() || bookmark.isSeparator()) { bookmark = group.next(bookmark); } if (!bookmark.isNull()) { parentMenu()->addAction(rApp->bookmarkManager()->owner()->createAction(group, BookmarkOwner::OPEN_FOLDER)); } } }
void KBookmarkMenu::slotAddBookmark() { if (!m_pOwner) { return; } if (m_pOwner->currentTitle().isEmpty() && m_pOwner->currentUrl().isEmpty()) { return; } KBookmarkGroup parentBookmark = m_pManager->findByAddress(m_parentAddress).toGroup(); if (KBookmarkSettings::self()->m_advancedaddbookmark) { KBookmarkDialog *dlg = m_pOwner->bookmarkDialog(m_pManager, QApplication::activeWindow()); dlg->addBookmark(m_pOwner->currentTitle(), m_pOwner->currentUrl(), m_pOwner->currentIcon(), parentBookmark); delete dlg; } else { parentBookmark.addBookmark(m_pOwner->currentTitle(), m_pOwner->currentUrl(), m_pOwner->currentIcon()); m_pManager->emitChanged(parentBookmark); } }
void BookmarksSidebarPage::adjustSelection(const KURL& url) { // TODO (remarked in dolphin/TODO): the following code is quite equal // to BookmarkSelector::updateSelection(). KBookmarkGroup root = DolphinSettings::instance().bookmarkManager()->root(); KBookmark bookmark = root.first(); int maxLength = 0; int selectedIndex = -1; // Search the bookmark which is equal to the URL or at least is a parent URL. // If there are more than one possible parent URL candidates, choose the bookmark // which covers the bigger range of the URL. int i = 0; while (!bookmark.isNull()) { const KURL bookmarkURL = bookmark.url(); if (bookmarkURL.isParentOf(url)) { const int length = bookmarkURL.prettyURL().length(); if (length > maxLength) { selectedIndex = i; maxLength = length; } } bookmark = root.next(bookmark); ++i; } const bool block = m_bookmarksList->signalsBlocked(); m_bookmarksList->blockSignals(true); if (selectedIndex < 0) { // no bookmark matches, hence deactivate any selection const int currentIndex = m_bookmarksList->index(m_bookmarksList->selectedItem()); m_bookmarksList->setSelected(currentIndex, false); } else { // select the bookmark which is part of the current URL m_bookmarksList->setSelected(selectedIndex, true); } m_bookmarksList->blockSignals(block); }
KFilePlacesModel::KFilePlacesModel(QObject *parent) : QAbstractItemModel(parent), d(new Private(this)) { const QString file = KStandardDirs::locateLocal("data", "kfileplaces/bookmarks.xml"); d->bookmarkManager = KBookmarkManager::managerForFile(file, "kfilePlaces"); // Let's put some places in there if it's empty. We have a corner case here: // Given you have bookmarked some folders (which have been saved on // ~/.local/share/user-places.xbel (according to freedesktop bookmarks spec), and // deleted the home directory ~/.kde, the call managerForFile() will return the // bookmark manager for the fallback "kfilePlaces", making root.first().isNull() being // false (you have your own items bookmarked), resulting on only being added your own // bookmarks, and not the default ones too. So, we also check if kfileplaces/bookmarks.xml // file exists, and if it doesn't, we also add the default places. (ereslibre) KBookmarkGroup root = d->bookmarkManager->root(); if (root.first().isNull() || !QFile::exists(file)) { // NOTE: The context for these I18N_NOOP2 calls has to be "KFile System Bookmarks". // The real i18nc call is made later, with this context, so the two must match. // // createSystemBookmark actually does nothing with its third argument, // but we have to give it something so the I18N_NOOP2 calls stay here for now. // // (coles, 13th May 2009) KFilePlacesItem::createSystemBookmark(d->bookmarkManager, "Home", I18N_NOOP2("KFile System Bookmarks", "Home"), KUrl(KUser().homeDir()), "user-home"); KFilePlacesItem::createSystemBookmark(d->bookmarkManager, "Network", I18N_NOOP2("KFile System Bookmarks", "Network"), KUrl("remote:/"), "network-workgroup"); #ifdef Q_OS_WIN // adding drives foreach ( const QFileInfo& info, QDir::drives() ) { #ifndef _WIN32_WCE uint type = DRIVE_UNKNOWN; #endif QString driveIcon = "drive-harddisk"; #ifndef _WIN32_WCE QT_WA({ type = GetDriveTypeW((wchar_t *)info.absoluteFilePath().utf16()); }, { type = GetDriveTypeA(info.absoluteFilePath().toLocal8Bit()); });
void KBookmarkDialog::accept() { if (d->mode == KBookmarkDialogPrivate::NewFolder) { KBookmarkGroup parent = d->parentBookmark(); if (d->title->text().isEmpty()) { d->title->setText(QStringLiteral("New Folder")); } d->bm = parent.createNewFolder(d->title->text()); d->bm.setDescription(d->comment->text()); d->mgr->emitChanged(parent); } else if (d->mode == KBookmarkDialogPrivate::NewBookmark) { KBookmarkGroup parent = d->parentBookmark(); if (d->title->text().isEmpty()) { d->title->setText(QStringLiteral("New Bookmark")); } d->bm = parent.addBookmark(d->title->text(), QUrl(d->url->text()), d->icon); d->bm.setDescription(d->comment->text()); d->mgr->emitChanged(parent); } else if (d->mode == KBookmarkDialogPrivate::NewMultipleBookmarks) { KBookmarkGroup parent = d->parentBookmark(); if (d->title->text().isEmpty()) { d->title->setText(QStringLiteral("New Folder")); } d->bm = parent.createNewFolder(d->title->text()); d->bm.setDescription(d->comment->text()); foreach (const KBookmarkOwner::FutureBookmark &fb, d->list) { d->bm.toGroup().addBookmark(fb.title(), fb.url(), fb.icon()); } d->mgr->emitChanged(parent); } else if (d->mode == KBookmarkDialogPrivate::EditBookmark) {
void KBookmarkBar::fillBookmarkBar(const KBookmarkGroup & parent) { if (parent.isNull()) return; for (KBookmark bm = parent.first(); !bm.isNull(); bm = parent.next(bm)) { // Filtered special cases if(d->m_filteredToolbar) { if(bm.isGroup() && !bm.showInToolbar() ) fillBookmarkBar(bm.toGroup()); if(!bm.showInToolbar()) continue; } if (!bm.isGroup()) { if ( bm.isSeparator() ) m_toolBar->addSeparator(); else { KAction *action = new KBookmarkAction( bm, m_pOwner, 0 ); m_toolBar->addAction(action); d->m_actions.append( action ); } } else { KBookmarkActionMenu *action = new KBookmarkActionMenu(bm, 0); action->setDelayed( false ); m_toolBar->addAction(action); d->m_actions.append( action ); KBookmarkMenu *menu = new KonqBookmarkMenu(m_pManager, m_pOwner, action, bm.address()); m_lstSubMenus.append( menu ); } } }
QList< BookmarkMatch > KDEBrowser::match(const QString& term, bool addEverything) { KBookmarkGroup bookmarkGroup = m_bookmarkManager->root(); QList< BookmarkMatch > matches; QStack<KBookmarkGroup> groups; KBookmark bookmark = bookmarkGroup.first(); while (!bookmark.isNull()) { // if (!context.isValid()) { // return; // } TODO: restore? if (bookmark.isSeparator()) { bookmark = bookmarkGroup.next(bookmark); continue; } if (bookmark.isGroup()) { // descend //kDebug (kdbg_code) << "descending into" << bookmark.text(); groups.push(bookmarkGroup); bookmarkGroup = bookmark.toGroup(); bookmark = bookmarkGroup.first(); while (bookmark.isNull() && !groups.isEmpty()) { // if (!context.isValid()) { // return; // } TODO: restore? bookmark = bookmarkGroup; bookmarkGroup = groups.pop(); bookmark = bookmarkGroup.next(bookmark); } continue; } BookmarkMatch bookmarkMatch(m_favicon, term, bookmark.text(), bookmark.url().url() ); bookmarkMatch.addTo(matches, addEverything); bookmark = bookmarkGroup.next(bookmark); while (bookmark.isNull() && !groups.isEmpty()) { // if (!context.isValid()) { // return; // } // TODO: restore? bookmark = bookmarkGroup; bookmarkGroup = groups.pop(); //kDebug(kdbg_code) << "ascending from" << bookmark.text() << "to" << bookmarkGroup.text(); bookmark = bookmarkGroup.next(bookmark); } } return matches; }
void BookmarksContextMenu::addFolderActions() { KBookmarkGroup group = bookmark().toGroup(); if (bookmark().internalElement().attributeNode("toolbar").value() == "yes") { addAction(m_bmOwner->createAction(bookmark(), BookmarkOwner::UNSET_TOOLBAR_FOLDER)); } else { addAction(m_bmOwner->createAction(bookmark(), BookmarkOwner::SET_TOOLBAR_FOLDER)); } if (!group.first().isNull()) { KBookmark child = group.first(); while (child.isGroup() || child.isSeparator()) { child = group.next(child); } if (!child.isNull()) { addAction(m_bmOwner->createAction(bookmark(), BookmarkOwner::OPEN_FOLDER)); addSeparator(); } } addAction(m_bmOwner->createAction(bookmark(), BookmarkOwner::BOOKMARK_PAGE)); addAction(m_bmOwner->createAction(bookmark(), BookmarkOwner::NEW_FOLDER)); addAction(m_bmOwner->createAction(bookmark(), BookmarkOwner::NEW_SEPARATOR)); addSeparator(); addAction(m_bmOwner->createAction(bookmark(), BookmarkOwner::EDIT)); addAction(m_bmOwner->createAction(bookmark(), BookmarkOwner::DELETE)); }
void BookmarksSettingsPage::applySettings() { // delete all bookmarks KBookmarkManager* manager = DolphinSettings::instance().bookmarkManager(); KBookmarkGroup root = manager->root(); KBookmark bookmark = root.first(); while (!bookmark.isNull()) { root.deleteBookmark(bookmark); bookmark = root.first(); } // add all items as bookmarks QListViewItem* item = m_listView->firstChild(); while (item != 0) { root.addBookmark(manager, item->text(NameIdx), KURL(item->text(URLIdx)), item->text(IconIdx)); // hidden column item = item->itemBelow(); } manager->emitChanged(root); }
void KonqSidebarBookmarkModule::fillGroup( KonqSidebarTreeItem * parentItem, KBookmarkGroup group ) { int n = 0; for ( KBookmark bk = group.first() ; !bk.isNull() ; bk = group.next(bk), ++n ) { KonqSidebarBookmarkItem * item = new KonqSidebarBookmarkItem( parentItem, m_topLevelItem, bk, n ); if ( bk.isGroup() ) { KBookmarkGroup grp = bk.toGroup(); fillGroup( item, grp ); QString address(grp.address()); if (m_folderOpenState.contains(address)) item->setOpen(m_folderOpenState[address]); else item->setOpen(false); } else if ( bk.isSeparator() ) item->setVisible( false ); else item->setExpandable( false ); } }