From 5b1c5e9bb6748b744062b9aecf2d9e00df494452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Ander=20Pe=C3=B1alba?= Date: Tue, 17 Aug 2010 23:25:03 +0200 Subject: BookmarkOwner class moved to it's own file --- src/bookmarks/bookmarksmanager.cpp | 345 +------------------------------------ 1 file changed, 4 insertions(+), 341 deletions(-) (limited to 'src/bookmarks/bookmarksmanager.cpp') diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp index 4e675e45..0c3284bb 100644 --- a/src/bookmarks/bookmarksmanager.cpp +++ b/src/bookmarks/bookmarksmanager.cpp @@ -29,357 +29,20 @@ // Self Includes #include "bookmarksmanager.h" -#include "bookmarksmanager.moc" // Local Includes +#include "application.h" #include "mainwindow.h" -#include "webtab.h" -#include "webview.h" -#include "mainview.h" +#include "bookmarkspanel.h" #include "bookmarkscontextmenu.h" +#include "bookmarkstoolbar.h" +#include "bookmarkowner.h" // KDE Includes -#include -#include -#include -#include -#include -#include #include -#include -#include // Qt Includes #include -#include -#include - - -BookmarkOwner::BookmarkOwner(KBookmarkManager *manager, QObject *parent) - : QObject(parent) - , KBookmarkOwner() - , m_manager(manager) - , actions(QVector(NUM_ACTIONS)) -{ - setupActions(); -} - - -KAction* BookmarkOwner::action(const BookmarkAction &bmAction) -{ - return static_cast(actions.at(bmAction)); -} - - -void BookmarkOwner::openBookmark(const KBookmark & bookmark, - Qt::MouseButtons mouseButtons, - Qt::KeyboardModifiers keyboardModifiers) -{ - if (keyboardModifiers & Qt::ControlModifier || mouseButtons == Qt::MidButton) - { - emit openUrl(bookmark.url(), Rekonq::NewTab); - } - else - { - emit openUrl(bookmark.url(), Rekonq::CurrentTab); - } -} - - -void BookmarkOwner::bookmarkCurrentPage() -{ - KBookmarkGroup parent; - - if (!selected.isNull()) - { - if (selected.isGroup()) - parent = selected.toGroup(); - else - parent = selected.parentGroup(); - - KBookmark newBk = parent.addBookmark(currentTitle().replace('&', "&&"), KUrl(currentUrl())); - parent.moveBookmark(newBk, selected); - } - else - { - parent = Application::bookmarkProvider()->rootGroup(); - parent.addBookmark(currentTitle(), KUrl(currentUrl())); - } - - m_manager->emitChanged(parent); -} - - -void BookmarkOwner::newBookmarkFolder() -{ - KBookmarkDialog *dialog = bookmarkDialog(m_manager, QApplication::activeWindow()); - QString folderName = i18n("New folder"); - - if (!selected.isNull()) - { - if (selected.isGroup()) - { - dialog->createNewFolder(folderName, selected); - } - else - { - KBookmark newBk = dialog->createNewFolder(folderName, selected.parentGroup()); - if (!newBk.isNull()) - { - KBookmarkGroup parent = newBk.parentGroup(); - parent.moveBookmark(newBk, selected); - m_manager->emitChanged(parent); - } - } - } - else - { - dialog->createNewFolder(folderName); - } - - delete dialog; -} - - -void BookmarkOwner::newSeparator() -{ - KBookmark newBk; - - if (!selected.isNull()) - { - if (selected.isGroup()) - { - newBk = selected.toGroup().createNewSeparator(); - } - else - { - newBk = selected.parentGroup().createNewSeparator(); - newBk.parentGroup().moveBookmark(newBk, selected); - } - } - else - { - newBk = Application::bookmarkProvider()->rootGroup().createNewSeparator(); - } - - newBk.setIcon(("edit-clear")); - - m_manager->emitChanged(newBk.parentGroup()); -} - - -void BookmarkOwner::editBookmark() -{ - if (selected.isNull()) - return; - - selected.setFullText(selected.fullText().replace("&&", "&")); - KBookmarkDialog *dialog = bookmarkDialog(m_manager, QApplication::activeWindow()); - - dialog->editBookmark(selected); - selected.setFullText(selected.fullText().replace('&', "&&")); - - delete dialog; -} - - -bool BookmarkOwner::deleteBookmark() -{ - if (selected.isNull()) - return false; - - KBookmarkGroup bmg = selected.parentGroup(); - QString name = QString(selected.fullText()).replace("&&", "&"); - QString dialogCaption, dialogText; - - if (selected.isGroup()) - { - dialogCaption = i18n("Bookmark Folder Deletion"); - dialogText = i18n("Are you sure you wish to remove the bookmark folder\n\"%1\"?", name); - } - else if (selected.isSeparator()) - { - dialogCaption = i18n("Separator Deletion"); - dialogText = i18n("Are you sure you wish to remove this separator?", name); - } - else - { - dialogCaption = i18n("Bookmark Deletion"); - dialogText = i18n("Are you sure you wish to remove the bookmark\n\"%1\"?", name); - } - - if (KMessageBox::warningContinueCancel( - QApplication::activeWindow(), - dialogText, - dialogCaption, - KStandardGuiItem::del(), - KStandardGuiItem::cancel(), - "bookmarkDeletition_askAgain") - != KMessageBox::Continue - ) - return false; - - bmg.deleteBookmark(selected); - m_manager->emitChanged(bmg); - return true; -} - - -bool BookmarkOwner::supportsTabs() const -{ - return true; -} - - -QString BookmarkOwner::currentUrl() const -{ - return Application::instance()->mainWindow()->currentTab()->url().url(); -} - - -QString BookmarkOwner::currentTitle() const -{ - return Application::instance()->mainWindow()->currentTab()->view()->title(); -} - - -void BookmarkOwner::openFolderinTabs(const KBookmarkGroup &bookmark) -{ - QList urlList = bookmark.groupUrlList(); - - if (urlList.length() > 8) - { - if ( !(KMessageBox::warningContinueCancel( Application::instance()->mainWindow(), - i18ncp("%1=Number of tabs. Value is always >=8", - "You are about to open %1 tabs.\nAre you sure?", - "You are about to open %1 tabs.\nAre you sure?", - urlList.length()), - "", - KStandardGuiItem::cont(), - KStandardGuiItem::cancel(), - "openFolderInTabs_askAgain" - ) == KMessageBox::Continue) - ) - return; - } - - QList::iterator url; - for (url = urlList.begin(); url != urlList.end(); ++url) - { - emit openUrl(*url, Rekonq::NewFocusedTab); - } -} - - -QList< QPair > BookmarkOwner::currentBookmarkList() const -{ - QList< QPair > bkList; - int tabNumber = Application::instance()->mainWindow()->mainView()->count(); - - for (int i = 0; i < tabNumber; i++) - { - QPair item; - item.first = Application::instance()->mainWindow()->mainView()->webTab(i)->view()->title(); - item.second = Application::instance()->mainWindow()->mainView()->webTab(i)->url().url(); - bkList += item; - } - return bkList; -} - - -void BookmarkOwner::bookmarkSelected(const KBookmark &bookmark) -{ - selected = bookmark; -} - - -void BookmarkOwner::openBookmark() -{ - emit openUrl(selected.url(), Rekonq::CurrentTab); -} - - -void BookmarkOwner::openBookmarkInNewTab() -{ - emit openUrl(selected.url(), Rekonq::NewTab); -} - - -void BookmarkOwner::openBookmarkInNewWindow() -{ - emit openUrl(selected.url(), Rekonq::NewWindow); -} - - -void BookmarkOwner::openBookmarkFolder() -{ - if (!selected.isGroup()) - return; - - QList urlList = selected.toGroup().groupUrlList(); - - if (urlList.length() > 8) - { - if (KMessageBox::warningContinueCancel( - Application::instance()->mainWindow(), - i18n("You are about to open %1 tabs.\nAre you sure?", urlList.length())) - != KMessageBox::Continue - ) - return; - } - - foreach (KUrl url, urlList) - { - emit openUrl(url, Rekonq::NewFocusedTab); - } -} - - -void BookmarkOwner::copyLink() -{ - if (selected.isNull()) - return; - - QApplication::clipboard()->setText(selected.url().url()); -} - - -void BookmarkOwner::setupActions() -{ - createAction(OPEN, i18n("Open"), "tab-new", - i18n("Open bookmark in current tab"), SLOT(openBookmark())); - createAction(OPEN_IN_TAB, i18n("Open in New Tab"), "tab-new", - i18n("Open bookmark in new tab"), SLOT(openBookmarkInNewTab())); - createAction(OPEN_IN_WINDOW, i18n("Open in New Window"), "window-new", - i18n("Open bookmark in new window"), SLOT(openBookmarkInNewWindow())); - createAction(OPEN_FOLDER, i18n("Open Folder in Tabs"), "tab-new", - i18n("Open all the bookmarks in folder in tabs"), SLOT(openBookmarkFolder())); - createAction(BOOKMARK_PAGE, i18n("Add Bookmark"), "bookmark-new", - i18n("Bookmark current page"), SLOT(bookmarkCurrentPage())); - createAction(NEW_FOLDER, i18n("New Folder"), "folder-new", - i18n("Create a new bookmark folder"), SLOT(newBookmarkFolder())); - createAction(NEW_SEPARATOR, i18n("New Separator"), "edit-clear", - i18n("Create a new bookmark separatork"), SLOT(newSeparator())); - createAction(COPY, i18n("Copy Link"), "edit-copy", - i18n("Copy the bookmark's link address"), SLOT(copyLink())); - createAction(EDIT, i18n("Edit"), "configure", - i18n("Edit the bookmark"), SLOT(editBookmark())); - createAction(DELETE, i18n("Delete"), "edit-delete", - i18n("Delete the bookmark"), SLOT(deleteBookmark())); -} - - -void BookmarkOwner::createAction(const BookmarkAction &action, const QString &text, - const QString &icon, const QString &help, const char *slot) -{ - KAction *act = new KAction(KIcon(icon), text, this); - act->setHelpText(help); - actions[action] = act; - connect(act, SIGNAL(triggered()), this, slot); -} - - -// ------------------------------------------------------------------------------------------------------ BookmarkProvider::BookmarkProvider(QObject *parent) -- cgit v1.2.1