diff options
| -rw-r--r-- | src/bookmarks/bookmarkowner.cpp | 230 | ||||
| -rw-r--r-- | src/bookmarks/bookmarkowner.h | 52 | 
2 files changed, 128 insertions, 154 deletions
| diff --git a/src/bookmarks/bookmarkowner.cpp b/src/bookmarks/bookmarkowner.cpp index 6c55f724..fb7c737e 100644 --- a/src/bookmarks/bookmarkowner.cpp +++ b/src/bookmarks/bookmarkowner.cpp @@ -61,17 +61,109 @@ KAction* BookmarkOwner::action(const BookmarkAction &bmAction)  } -void BookmarkOwner::openBookmark(const KBookmark & bookmark, +QString BookmarkOwner::currentTitle() const +{ +    return Application::instance()->mainWindow()->currentTab()->view()->title(); +} + + +QString BookmarkOwner::currentUrl() const +{ +    return Application::instance()->mainWindow()->currentTab()->url().url(); +} + + +bool BookmarkOwner::supportsTabs() const +{ +    return true; +} + + +QList< QPair<QString, QString> > BookmarkOwner::currentBookmarkList() const +{ +    QList< QPair<QString, QString> > bkList; +    MainView *view = Application::instance()->mainWindow()->mainView(); +    int tabNumber = view->count(); + +    for (int i = 0; i < tabNumber; ++i) +    { +        QPair<QString, QString> item; +        item.first = view->webTab(i)->view()->title(); +        item.second = view->webTab(i)->url().url(); +        bkList << item; +    } + +    return bkList; +} + + +void BookmarkOwner::openBookmark(const KBookmark &bookmark,                                   Qt::MouseButtons mouseButtons,                                   Qt::KeyboardModifiers keyboardModifiers)  { -    if (keyboardModifiers & Qt::ControlModifier || mouseButtons == Qt::MidButton) +    bookmarkSelected(bookmark); +    if (keyboardModifiers & Qt::ControlModifier || mouseButtons & Qt::MidButton)      { -        emit openUrl(bookmark.url(), Rekonq::NewTab); +        openBookmarkInNewTab();      }      else      { -        emit openUrl(bookmark.url(), Rekonq::CurrentTab); +        openBookmark(); +    } +} + + +void BookmarkOwner::openFolderinTabs(const KBookmarkGroup &bookmark) +{ +    bookmarkSelected(bookmark); +    openBookmarkFolder(); +} + + +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<KUrl> 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);      }  } @@ -158,6 +250,15 @@ void BookmarkOwner::newSeparator()  } +void BookmarkOwner::copyLink() +{ +    if (selected.isNull()) +        return; + +    QApplication::clipboard()->setText(selected.url().url()); +} + +  void BookmarkOwner::editBookmark()  {      if (selected.isNull()) @@ -190,7 +291,7 @@ bool BookmarkOwner::deleteBookmark()      else if (selected.isSeparator())      {          dialogCaption = i18n("Separator Deletion"); -        dialogText = i18n("Are you sure you wish to remove this separator?", name); +        dialogText = i18n("Are you sure you wish to remove this separator?");      }      else      { @@ -215,125 +316,6 @@ bool BookmarkOwner::deleteBookmark()  } -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<KUrl> 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<KUrl>::iterator url; -    for (url = urlList.begin(); url != urlList.end(); ++url) -    { -        emit openUrl(*url, Rekonq::NewFocusedTab); -    } -} - - -QList< QPair<QString, QString> > BookmarkOwner::currentBookmarkList() const -{ -    QList< QPair<QString, QString> > bkList; -    int tabNumber = Application::instance()->mainWindow()->mainView()->count(); - -    for (int i = 0; i < tabNumber; i++) -    { -        QPair<QString, QString> 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<KUrl> 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", diff --git a/src/bookmarks/bookmarkowner.h b/src/bookmarks/bookmarkowner.h index 395edf54..abb65c36 100644 --- a/src/bookmarks/bookmarkowner.h +++ b/src/bookmarks/bookmarkowner.h @@ -37,15 +37,14 @@  // KDE Includes  #include <KBookmarkOwner> +// Forward Declarations  class KAction; -  /**   * Reimplementation of KBookmarkOwner, this class allows to manage - * bookmarks as actions - * + * bookmarks as actions.   */ -class REKONQ_TESTS_EXPORT BookmarkOwner : public QObject , public KBookmarkOwner +class REKONQ_TESTS_EXPORT BookmarkOwner : public QObject, public KBookmarkOwner  {      Q_OBJECT @@ -74,6 +73,25 @@ public:      KAction* action(const BookmarkAction &bmAction);      /** +     * @return the current page's title. +     */ +    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<QString, QString> > currentBookmarkList() const; + +    /**       * 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. @@ -86,28 +104,6 @@ public:                                Qt::MouseButtons mouseButtons,                                Qt::KeyboardModifiers keyboardModifiers); - -    /** -     * this method, from KBookmarkOwner interface, allows to add the current page -     * to the bookmark list, returning the URL page as QString. -     * -     * @return the current page's URL -     */ -    virtual QString currentUrl() const; - -    /** -     * this method, from KBookmarkOwner interface, allows to add the current page -     * to the bookmark list, returning the title's page as QString. -     * -     * @return the current page's title -     */ -    virtual QString currentTitle() const; - -    /** -    * This function returns whether the owner supports tabs. -    */ -    virtual bool supportsTabs() const; -      /**      * Called if the user wants to open every bookmark in this folder in a new tab.      * The default implementation does nothing. @@ -115,14 +111,10 @@ public:      */      virtual void openFolderinTabs(const KBookmarkGroup &bookmark); -    virtual QList< QPair<QString, QString> > currentBookmarkList() const; -  signals:      /**       * This signal is emitted when an url has to be loaded -     *       * @param url the URL to load -     *       */      void openUrl(const KUrl &, const Rekonq::OpenType &); | 
