From bd32f05dab4832528e0c2304d722e5140ffd74e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Ander=20Pe=C3=B1alba?= Date: Fri, 15 Oct 2010 21:03:42 +0200 Subject: BookmarkOwner clean-up and minor bug fixed --- src/bookmarks/bookmarkowner.cpp | 61 ++++++++++++++--------------------------- src/bookmarks/bookmarkowner.h | 53 ++++++++++++----------------------- 2 files changed, 38 insertions(+), 76 deletions(-) (limited to 'src/bookmarks') diff --git a/src/bookmarks/bookmarkowner.cpp b/src/bookmarks/bookmarkowner.cpp index 77af9b1f..820e01b5 100644 --- a/src/bookmarks/bookmarkowner.cpp +++ b/src/bookmarks/bookmarkowner.cpp @@ -34,16 +34,14 @@ // Local Includes #include "application.h" #include "bookmarkprovider.h" +#include "mainview.h" #include "mainwindow.h" #include "webtab.h" -#include "mainview.h" // KDE Includes -#include #include #include #include -#include "iconmanager.h" // Qt Includes #include @@ -109,12 +107,6 @@ QString BookmarkOwner::currentUrl() const } -bool BookmarkOwner::supportsTabs() const -{ - return true; -} - - QList< QPair > BookmarkOwner::currentBookmarkList() const { QList< QPair > bkList; @@ -138,13 +130,9 @@ void BookmarkOwner::openBookmark(const KBookmark &bookmark, Qt::KeyboardModifiers keyboardModifiers) { if (keyboardModifiers & Qt::ControlModifier || mouseButtons & Qt::MidButton) - { openBookmarkInNewTab(bookmark); - } else - { openBookmark(bookmark); - } } @@ -171,13 +159,6 @@ void BookmarkOwner::openFolderinTabs(const KBookmarkGroup &bookmark) } -void BookmarkOwner::openBookmarkFolder(const KBookmark &bookmark) -{ - if (bookmark.isGroup()) - openFolderinTabs(bookmark.toGroup()); -} - - void BookmarkOwner::openBookmark(const KBookmark &bookmark) { emit openUrl(bookmark.url(), Rekonq::CurrentTab); @@ -196,9 +177,14 @@ void BookmarkOwner::openBookmarkInNewWindow(const KBookmark &bookmark) } +void BookmarkOwner::openBookmarkFolder(const KBookmarkGroup &bookmark) +{ + openFolderinTabs(bookmark); +} + + KBookmark BookmarkOwner::bookmarkCurrentPage(const KBookmark &bookmark) { - KBookmark newBk; KBookmarkGroup parent; if (!bookmark.isNull()) @@ -207,16 +193,16 @@ KBookmark BookmarkOwner::bookmarkCurrentPage(const KBookmark &bookmark) parent = bookmark.toGroup(); else parent = bookmark.parentGroup(); - - newBk = parent.addBookmark(currentTitle().replace('&', "&&"), KUrl(currentUrl()) ); - parent.moveBookmark(newBk, bookmark); } else { parent = Application::bookmarkProvider()->rootGroup(); - newBk = parent.addBookmark(currentTitle(), KUrl(currentUrl())); } + KBookmark newBk = parent.addBookmark(currentTitle().replace('&', "&&"), KUrl(currentUrl())); + if (!bookmark.isNull()) + parent.moveBookmark(newBk, bookmark); + m_manager->emitChanged(parent); return newBk; } @@ -225,7 +211,7 @@ KBookmark BookmarkOwner::bookmarkCurrentPage(const KBookmark &bookmark) KBookmarkGroup BookmarkOwner::newBookmarkFolder(const KBookmark &bookmark) { KBookmarkGroup newBk; - KBookmarkDialog *dialog = bookmarkDialog(m_manager, QApplication::activeWindow()); + KBookmarkDialog *dialog = bookmarkDialog(m_manager, 0); QString folderName = i18n("New folder"); if (!bookmark.isNull()) @@ -276,7 +262,7 @@ KBookmark BookmarkOwner::newSeparator(const KBookmark &bookmark) newBk = Application::bookmarkProvider()->rootGroup().createNewSeparator(); } - newBk.setIcon(("edit-clear")); + newBk.setIcon("edit-clear"); m_manager->emitChanged(newBk.parentGroup()); return newBk; @@ -298,8 +284,7 @@ void BookmarkOwner::editBookmark(KBookmark bookmark) return; bookmark.setFullText(bookmark.fullText().replace("&&", "&")); - KBookmarkDialog *dialog = bookmarkDialog(m_manager, QApplication::activeWindow()); - + KBookmarkDialog *dialog = bookmarkDialog(m_manager, 0); dialog->editBookmark(bookmark); bookmark.setFullText(bookmark.fullText().replace('&', "&&")); @@ -307,7 +292,7 @@ void BookmarkOwner::editBookmark(KBookmark bookmark) } -bool BookmarkOwner::deleteBookmark(KBookmark bookmark) +bool BookmarkOwner::deleteBookmark(const KBookmark &bookmark) { if (bookmark.isNull()) return false; @@ -333,7 +318,7 @@ bool BookmarkOwner::deleteBookmark(KBookmark bookmark) } if (KMessageBox::warningContinueCancel( - QApplication::activeWindow(), + 0, dialogText, dialogCaption, KStandardGuiItem::del(), @@ -349,9 +334,9 @@ bool BookmarkOwner::deleteBookmark(KBookmark bookmark) } -KAction* BookmarkOwner::createAction(const QString &text, - const QString &icon, const QString &help, const char *slot, - const KBookmark & bookmark) +KAction* BookmarkOwner::createAction(const QString &text, const QString &icon, + const QString &help, const char *slot, + const KBookmark &bookmark) { CustomBookmarkAction *act = new CustomBookmarkAction(bookmark, KIcon(icon), text, this); act->setHelpText(help); @@ -364,16 +349,12 @@ KAction* BookmarkOwner::createAction(const QString &text, CustomBookmarkAction::CustomBookmarkAction(const KBookmark &bookmark, const KIcon &icon, const QString &text, QObject *parent) - : KAction(icon, text, parent) - , m_bookmark(bookmark) + : KAction(icon, text, parent) + , m_bookmark(bookmark) { connect(this, SIGNAL(triggered()), this, SLOT(onActionTriggered())); } -CustomBookmarkAction::~CustomBookmarkAction() -{ -} - void CustomBookmarkAction::onActionTriggered() { emit triggered(m_bookmark); diff --git a/src/bookmarks/bookmarkowner.h b/src/bookmarks/bookmarkowner.h index 573e4ee0..cbd4bd0e 100644 --- a/src/bookmarks/bookmarkowner.h +++ b/src/bookmarks/bookmarkowner.h @@ -35,14 +35,12 @@ #include "rekonq_defines.h" // KDE Includes -#include -#include #include +#include /** - * Reimplementation of KBookmarkOwner, this class allows to manage - * bookmarks as actions. + * This class allows to manage bookmarks as actions. */ class REKONQ_TESTS_EXPORT BookmarkOwner : public QObject, public KBookmarkOwner { @@ -72,56 +70,40 @@ public: */ KAction* action(const KBookmark &bookmark, const BookmarkAction &bmAction); + // @{ /** - * @return the current page's title. + * Funtions to get current information. */ virtual QString currentTitle() const; - /** - * @return the current page's URL. - */ virtual QString currentUrl() const; - - /** - * @return whether the owner supports tabs. - */ - virtual bool supportsTabs() const; - - /** - * @return list of title, URL pairs of the open tabs. - */ virtual QList< QPair > currentBookmarkList() const; + // @} + + virtual bool supportsTabs() const {return true;} + // @{ /** - * This function is called when a bookmark is selected and belongs to - * the ancestor class. - * This method actually emits signal to load bookmark's url. - * - * @param bookmark the bookmark to open - * @param mouseButtons the mouse buttons clicked to select the bookmark - * @param keyboardModifiers the keyboard modifiers pushed when the bookmark was selected + * This functions emit signals that open the selected URLs */ virtual void openBookmark(const KBookmark &bookmark, Qt::MouseButtons mouseButtons, Qt::KeyboardModifiers keyboardModifiers); - - /** - * Called if the user wants to open every bookmark in this folder in a new tab. - * The default implementation does nothing. - * This is only called if supportsTabs() returns true - */ virtual void openFolderinTabs(const KBookmarkGroup &bookmark); + // @} public Q_SLOTS: void openBookmark(const KBookmark &bookmark); void openBookmarkInNewTab(const KBookmark &bookmark); void openBookmarkInNewWindow(const KBookmark &bookmark); - void openBookmarkFolder(const KBookmark &bookmark); + void openBookmarkFolder(const KBookmarkGroup &bookmark); + KBookmark bookmarkCurrentPage(const KBookmark &bookmark = KBookmark()); KBookmarkGroup newBookmarkFolder(const KBookmark &bookmark = KBookmark()); KBookmark newSeparator(const KBookmark &bookmark = KBookmark()); + void copyLink(const KBookmark &bookmark); void editBookmark(KBookmark bookmark); - bool deleteBookmark(KBookmark bookmark); + bool deleteBookmark(const KBookmark &bookmark); Q_SIGNALS: /** @@ -132,10 +114,9 @@ Q_SIGNALS: private: KAction* createAction(const QString &text, const QString &icon, - const QString &help, const char *slot, - const KBookmark &bookmark); + const QString &help, const char *slot, + const KBookmark &bookmark); - KBookmarkManager *m_manager; }; @@ -149,7 +130,7 @@ class CustomBookmarkAction : public KAction public: CustomBookmarkAction(const KBookmark &bookmark, const KIcon &icon, const QString &text, QObject *parent); - ~CustomBookmarkAction(); + virtual ~CustomBookmarkAction() {} Q_SIGNALS: void triggered(const KBookmark &); -- cgit v1.2.1