From d002e3ede6b703b1e561a64c8f8ca9017ef87049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Ander=20Pe=C3=B1alba?= Date: Fri, 20 Aug 2010 21:42:38 +0200 Subject: Changed the name of the files src/bookmarks/bookmarksmanager.* to src/bookmarks/bookmarkprovider.* --- src/bookmarks/bookmarkprovider.cpp | 332 +++++++++++++++++++++++++++++++++++++ 1 file changed, 332 insertions(+) create mode 100644 src/bookmarks/bookmarkprovider.cpp (limited to 'src/bookmarks/bookmarkprovider.cpp') diff --git a/src/bookmarks/bookmarkprovider.cpp b/src/bookmarks/bookmarkprovider.cpp new file mode 100644 index 00000000..03a3cc70 --- /dev/null +++ b/src/bookmarks/bookmarkprovider.cpp @@ -0,0 +1,332 @@ +/* ============================================================ +* +* This file is a part of the rekonq project +* +* Copyright (C) 2008-2010 by Andrea Diamantini +* Copyright (C) 2009 by Paweł Prażak +* Copyright (C) 2009-2010 by Lionel Chauvin +* Copyright (C) 2010 by Yoann Laissus +* +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License or (at your option) version 3 or any later version +* accepted by the membership of KDE e.V. (or its successor approved +* by the membership of KDE e.V.), which shall act as a proxy +* defined in Section 14 of version 3 of the license. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +* +* ============================================================ */ + + +// Self Includes +#include "bookmarkprovider.h" + +// Local Includes +#include "application.h" +#include "mainwindow.h" +#include "bookmarkspanel.h" +#include "bookmarkscontextmenu.h" +#include "bookmarkstoolbar.h" +#include "bookmarkowner.h" + +// KDE Includes +#include + +// Qt Includes +#include + + +BookmarkProvider::BookmarkProvider(QObject *parent) + : QObject(parent) + , m_manager(0) + , m_owner(0) + , m_actionCollection(new KActionCollection(this)) + , _bookmarkActionMenu(0) +{ + kDebug() << "Loading Bookmarks Manager..."; + + KUrl bookfile = KUrl("~/.kde/share/apps/konqueror/bookmarks.xml"); // share konqueror bookmarks + + if (!QFile::exists(bookfile.path())) + { + bookfile = KUrl("~/.kde4/share/apps/konqueror/bookmarks.xml"); + if (!QFile::exists(bookfile.path())) + { + QString bookmarksDefaultPath = KStandardDirs::locate("appdata" , "defaultbookmarks.xbel"); + QFile bkms(bookmarksDefaultPath); + QString bookmarksPath = KStandardDirs::locateLocal("appdata", "bookmarks.xml", true); + bookmarksPath.replace("rekonq", "konqueror"); + bkms.copy(bookmarksPath); + + bookfile = KUrl(bookmarksPath); + } + } + + m_manager = KBookmarkManager::managerForFile(bookfile.path(), "rekonq"); + + connect(m_manager, SIGNAL(changed(const QString &, const QString &)), + this, SLOT(slotBookmarksChanged(const QString &, const QString &))); + + // setup menu + m_owner = new BookmarkOwner(m_manager, this); + connect(m_owner, SIGNAL(openUrl(const KUrl&, const Rekonq::OpenType &)), this, SIGNAL(openUrl(const KUrl&, const Rekonq::OpenType &))); + + KAction *a = KStandardAction::addBookmark(this, SLOT(slotAddBookmark()), this); + m_actionCollection->addAction(QL1S("rekonq_add_bookmark"), a); + + kDebug() << "Loading Bookmarks Manager... DONE!"; +} + + +BookmarkProvider::~BookmarkProvider() +{ + delete m_actionCollection; + delete m_owner; + delete m_manager; +} + + +void BookmarkProvider::registerBookmarkBar(BookmarkToolBar *toolbar) +{ + if (m_bookmarkToolBars.contains(toolbar)) + return; + + kDebug() << "new bookmark bar..."; + + m_bookmarkToolBars.append(toolbar); + toolbar->toolBar()->setContextMenuPolicy(Qt::CustomContextMenu); + connect(toolbar->toolBar(), SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(contextMenu(const QPoint &))); + + kDebug() << "new bookmark bar... DONE!"; +} + + +void BookmarkProvider::removeToolBar(BookmarkToolBar *toolbar) +{ + m_bookmarkToolBars.removeOne(toolbar); +} + + +void BookmarkProvider::slotBookmarksChanged(const QString &group, const QString &caller) +{ + Q_UNUSED(group) + Q_UNUSED(caller) + + foreach(BookmarkToolBar *bookmarkToolBar, m_bookmarkToolBars) + { + if (bookmarkToolBar) + { + bookmarkToolBar->toolBar()->clear(); + fillBookmarkBar(bookmarkToolBar); + } + } +} + + +QAction *BookmarkProvider::actionByName(const QString &name) +{ + QAction *action = m_actionCollection->action(name); + if (action) + return action; + return new QAction(this); // return empty object instead of NULL pointer +} + + +void BookmarkProvider::contextMenu(const QPoint &point) +{ + if (m_bookmarkToolBars.isEmpty()) + return; + + KToolBar *bookmarkToolBar = m_bookmarkToolBars.at(0)->toolBar(); + if (!bookmarkToolBar) + return; + + KBookmarkActionInterface* action = dynamic_cast(bookmarkToolBar->actionAt(point)); + if (!action) + return; + + BookmarksContextMenu menu(action->bookmark(), bookmarkManager(), bookmarkOwner()); + menu.exec(bookmarkToolBar->mapToGlobal(point)); +} + + +KActionMenu* BookmarkProvider::bookmarkActionMenu(QWidget *parent) +{ + kDebug() << "new Bookmarks Menu..."; + + KMenu *menu = new KMenu(parent); + _bookmarkActionMenu = new KActionMenu(parent); + _bookmarkActionMenu->setMenu(menu); + _bookmarkActionMenu->setText(i18n("&Bookmarks")); + new BookmarkMenu(m_manager, m_owner, menu, m_actionCollection); + + kDebug() << "new Bookmarks Menu...DONE"; + return _bookmarkActionMenu; +} + + +void BookmarkProvider::fillBookmarkBar(BookmarkToolBar *toolBar) +{ + KBookmarkGroup root = m_manager->toolbar(); + if (root.isNull()) + return; + + for (KBookmark bookmark = root.first(); !bookmark.isNull(); bookmark = root.next(bookmark)) + { + if (bookmark.isGroup()) + { + KBookmarkActionMenu *menuAction = new KBookmarkActionMenu(bookmark.toGroup(), this); + menuAction->setDelayed(false); + new BookmarkMenu(bookmarkManager(), bookmarkOwner(), menuAction->menu(), bookmark.address()); + connect(menuAction->menu(), SIGNAL(aboutToShow()), toolBar, SLOT(menuDisplayed())); + connect(menuAction->menu(), SIGNAL(aboutToHide()), toolBar, SLOT(menuHidden())); + toolBar->toolBar()->addAction(menuAction); + } + + else if (bookmark.isSeparator()) + { + toolBar->toolBar()->addSeparator(); + } + + else + { + KBookmarkAction* action = new KBookmarkAction(bookmark, m_owner, this); + action->setIconText(action->iconText().replace('&', "&&")); + connect(action, SIGNAL(hovered()), toolBar, SLOT(actionHovered())); + toolBar->toolBar()->addAction(action); + toolBar->toolBar()->widgetForAction(action)->installEventFilter(toolBar); + } + } +} + + +KBookmarkGroup BookmarkProvider::rootGroup() +{ + return m_manager->root(); +} + + +QList BookmarkProvider::find(QString text) +{ + QList list; + KBookmarkGroup bookGroup = Application::bookmarkProvider()->rootGroup(); + if (bookGroup.isNull()) + { + return list; + } + + KBookmark bookmark = bookGroup.first(); + while (!bookmark.isNull()) + { + list = find(list, bookmark, text); + bookmark = bookGroup.next(bookmark); + } + + return list; +} + + +QList BookmarkProvider::find(QList list, const KBookmark &bookmark, QString text) +{ + if (bookmark.isGroup()) + { + KBookmarkGroup group = bookmark.toGroup(); + KBookmark bm = group.first(); + while (!bm.isNull()) + { + list = find(list, bm, text); // it is .bookfolder + bm = group.next(bm); + } + } + else if (bookmark.url().url().contains(text) || bookmark.fullText().contains(text)) + { + list << bookmark; + } + + return list; +} + + +void BookmarkProvider::slotAddBookmark() +{ + KBookmarkGroup parentBookmark = rootGroup(); + parentBookmark.addBookmark(bookmarkOwner()->currentTitle(), bookmarkOwner()->currentUrl()); + bookmarkManager()->emitChanged(); +} + + +void BookmarkProvider::registerBookmarkPanel(BookmarksPanel *panel) +{ + if (panel && !m_bookmarkPanels.contains(panel)) + { + m_bookmarkPanels.append(panel); + connect(panel, SIGNAL(expansionChanged()), this, SLOT(slotPanelChanged())); + } +} + + +void BookmarkProvider::removeBookmarkPanel(BookmarksPanel *panel) +{ + m_bookmarkPanels.removeOne(panel); + + if (m_bookmarkPanels.isEmpty()) + { + Application::bookmarkProvider()->bookmarkManager()->emitChanged(); + } +} + + +void BookmarkProvider::slotPanelChanged() +{ + foreach (BookmarksPanel *panel, m_bookmarkPanels) + { + if (panel && panel != sender()) + panel->startLoadFoldedState(); + } +} + + +KBookmark BookmarkProvider::bookmarkForUrl(const KUrl &url) +{ + KBookmarkGroup root = rootGroup(); + if (root.isNull()) + { + KBookmark found; + return found; + } + + return bookmarkForUrl(root, url); +} + + +KBookmark BookmarkProvider::bookmarkForUrl(const KBookmark &bookmark, const KUrl &url) +{ + KBookmark found; + + if (bookmark.isGroup()) + { + KBookmarkGroup group = bookmark.toGroup(); + KBookmark bookmark = group.first(); + + while (!bookmark.isNull() && found.isNull()) + { + found = bookmarkForUrl(bookmark, url); + bookmark = group.next(bookmark); + } + } + else if (!bookmark.isSeparator() && bookmark.url() == url) + { + found = bookmark; + } + + return found; +} -- cgit v1.2.1 From dd413ce2d00d4f484402384529161194605f7e5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Ander=20Pe=C3=B1alba?= Date: Fri, 20 Aug 2010 16:12:39 +0200 Subject: Removed unused includes in src/bookmarks/bookmarkprovider.h --- src/bookmarks/bookmarkprovider.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/bookmarks/bookmarkprovider.cpp') diff --git a/src/bookmarks/bookmarkprovider.cpp b/src/bookmarks/bookmarkprovider.cpp index 03a3cc70..133cd4b8 100644 --- a/src/bookmarks/bookmarkprovider.cpp +++ b/src/bookmarks/bookmarkprovider.cpp @@ -50,7 +50,7 @@ BookmarkProvider::BookmarkProvider(QObject *parent) , m_manager(0) , m_owner(0) , m_actionCollection(new KActionCollection(this)) - , _bookmarkActionMenu(0) + , m_bookmarkActionMenu(0) { kDebug() << "Loading Bookmarks Manager..."; @@ -164,13 +164,13 @@ KActionMenu* BookmarkProvider::bookmarkActionMenu(QWidget *parent) kDebug() << "new Bookmarks Menu..."; KMenu *menu = new KMenu(parent); - _bookmarkActionMenu = new KActionMenu(parent); - _bookmarkActionMenu->setMenu(menu); - _bookmarkActionMenu->setText(i18n("&Bookmarks")); + m_bookmarkActionMenu = new KActionMenu(parent); + m_bookmarkActionMenu->setMenu(menu); + m_bookmarkActionMenu->setText(i18n("&Bookmarks")); new BookmarkMenu(m_manager, m_owner, menu, m_actionCollection); kDebug() << "new Bookmarks Menu...DONE"; - return _bookmarkActionMenu; + return m_bookmarkActionMenu; } @@ -215,7 +215,7 @@ KBookmarkGroup BookmarkProvider::rootGroup() } -QList BookmarkProvider::find(QString text) +QList BookmarkProvider::find(const QString &text) { QList list; KBookmarkGroup bookGroup = Application::bookmarkProvider()->rootGroup(); @@ -235,7 +235,7 @@ QList BookmarkProvider::find(QString text) } -QList BookmarkProvider::find(QList list, const KBookmark &bookmark, QString text) +QList BookmarkProvider::find(QList list, const KBookmark &bookmark, const QString &text) { if (bookmark.isGroup()) { -- cgit v1.2.1 From 370db961cdfe61687d8cf11c64f45db530e49a3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Ander=20Pe=C3=B1alba?= Date: Fri, 20 Aug 2010 17:37:56 +0200 Subject: Improved the code to load the bookmarks file using KStandardDirs and other minor changes to BookmarkProvider. --- src/bookmarks/bookmarkprovider.cpp | 62 ++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 36 deletions(-) (limited to 'src/bookmarks/bookmarkprovider.cpp') diff --git a/src/bookmarks/bookmarkprovider.cpp b/src/bookmarks/bookmarkprovider.cpp index 133cd4b8..0cd0d3eb 100644 --- a/src/bookmarks/bookmarkprovider.cpp +++ b/src/bookmarks/bookmarkprovider.cpp @@ -32,13 +32,13 @@ // Local Includes #include "application.h" -#include "mainwindow.h" #include "bookmarkspanel.h" #include "bookmarkscontextmenu.h" #include "bookmarkstoolbar.h" #include "bookmarkowner.h" // KDE Includes +#include #include // Qt Includes @@ -50,28 +50,19 @@ BookmarkProvider::BookmarkProvider(QObject *parent) , m_manager(0) , m_owner(0) , m_actionCollection(new KActionCollection(this)) - , m_bookmarkActionMenu(0) { kDebug() << "Loading Bookmarks Manager..."; - KUrl bookfile = KUrl("~/.kde/share/apps/konqueror/bookmarks.xml"); // share konqueror bookmarks + QString bookmarkFile = KStandardDirs::locate("data", "konqueror/bookmarks.xml"); // share konqueror's bookmarks - if (!QFile::exists(bookfile.path())) + if (!QFile::exists(bookmarkFile)) { - bookfile = KUrl("~/.kde4/share/apps/konqueror/bookmarks.xml"); - if (!QFile::exists(bookfile.path())) - { - QString bookmarksDefaultPath = KStandardDirs::locate("appdata" , "defaultbookmarks.xbel"); - QFile bkms(bookmarksDefaultPath); - QString bookmarksPath = KStandardDirs::locateLocal("appdata", "bookmarks.xml", true); - bookmarksPath.replace("rekonq", "konqueror"); - bkms.copy(bookmarksPath); - - bookfile = KUrl(bookmarksPath); - } + bookmarkFile = KStandardDirs::locateLocal("appdata", "bookmarks.xml", true); + QFile bkms( KStandardDirs::locate("appdata" , "defaultbookmarks.xbel") ); + bkms.copy(bookmarkFile); } - m_manager = KBookmarkManager::managerForFile(bookfile.path(), "rekonq"); + m_manager = KBookmarkManager::managerForFile(bookmarkFile, "rekonq"); connect(m_manager, SIGNAL(changed(const QString &, const QString &)), this, SLOT(slotBookmarksChanged(const QString &, const QString &))); @@ -89,8 +80,6 @@ BookmarkProvider::BookmarkProvider(QObject *parent) BookmarkProvider::~BookmarkProvider() { - delete m_actionCollection; - delete m_owner; delete m_manager; } @@ -116,11 +105,8 @@ void BookmarkProvider::removeToolBar(BookmarkToolBar *toolbar) } -void BookmarkProvider::slotBookmarksChanged(const QString &group, const QString &caller) +void BookmarkProvider::slotBookmarksChanged(const QString& /*group*/, const QString& /*caller*/) { - Q_UNUSED(group) - Q_UNUSED(caller) - foreach(BookmarkToolBar *bookmarkToolBar, m_bookmarkToolBars) { if (bookmarkToolBar) @@ -132,7 +118,7 @@ void BookmarkProvider::slotBookmarksChanged(const QString &group, const QString } -QAction *BookmarkProvider::actionByName(const QString &name) +QAction* BookmarkProvider::actionByName(const QString &name) { QAction *action = m_actionCollection->action(name); if (action) @@ -150,7 +136,7 @@ void BookmarkProvider::contextMenu(const QPoint &point) if (!bookmarkToolBar) return; - KBookmarkActionInterface* action = dynamic_cast(bookmarkToolBar->actionAt(point)); + KBookmarkActionInterface *action = dynamic_cast(bookmarkToolBar->actionAt(point)); if (!action) return; @@ -161,16 +147,17 @@ void BookmarkProvider::contextMenu(const QPoint &point) KActionMenu* BookmarkProvider::bookmarkActionMenu(QWidget *parent) { - kDebug() << "new Bookmarks Menu..."; + kDebug() << "new Bookmarks menu..."; KMenu *menu = new KMenu(parent); - m_bookmarkActionMenu = new KActionMenu(parent); - m_bookmarkActionMenu->setMenu(menu); - m_bookmarkActionMenu->setText(i18n("&Bookmarks")); + KActionMenu *bookmarkActionMenu = new KActionMenu(menu); + bookmarkActionMenu->setMenu(menu); + bookmarkActionMenu->setText(i18n("&Bookmarks")); new BookmarkMenu(m_manager, m_owner, menu, m_actionCollection); - kDebug() << "new Bookmarks Menu...DONE"; - return m_bookmarkActionMenu; + kDebug() << "new Bookmarks menu... DONE"; + + return bookmarkActionMenu; } @@ -187,19 +174,19 @@ void BookmarkProvider::fillBookmarkBar(BookmarkToolBar *toolBar) KBookmarkActionMenu *menuAction = new KBookmarkActionMenu(bookmark.toGroup(), this); menuAction->setDelayed(false); new BookmarkMenu(bookmarkManager(), bookmarkOwner(), menuAction->menu(), bookmark.address()); + connect(menuAction->menu(), SIGNAL(aboutToShow()), toolBar, SLOT(menuDisplayed())); connect(menuAction->menu(), SIGNAL(aboutToHide()), toolBar, SLOT(menuHidden())); + toolBar->toolBar()->addAction(menuAction); } - else if (bookmark.isSeparator()) { toolBar->toolBar()->addSeparator(); } - else { - KBookmarkAction* action = new KBookmarkAction(bookmark, m_owner, this); + KBookmarkAction *action = new KBookmarkAction(bookmark, m_owner, this); action->setIconText(action->iconText().replace('&', "&&")); connect(action, SIGNAL(hovered()), toolBar, SLOT(actionHovered())); toolBar->toolBar()->addAction(action); @@ -243,7 +230,7 @@ QList BookmarkProvider::find(QList list, const KBookmark & KBookmark bm = group.first(); while (!bm.isNull()) { - list = find(list, bm, text); // it is .bookfolder + list = find(list, bm, text); bm = group.next(bm); } } @@ -258,8 +245,7 @@ QList BookmarkProvider::find(QList list, const KBookmark & void BookmarkProvider::slotAddBookmark() { - KBookmarkGroup parentBookmark = rootGroup(); - parentBookmark.addBookmark(bookmarkOwner()->currentTitle(), bookmarkOwner()->currentUrl()); + rootGroup().addBookmark(bookmarkOwner()->currentTitle(), bookmarkOwner()->currentUrl()); bookmarkManager()->emitChanged(); } @@ -276,7 +262,11 @@ void BookmarkProvider::registerBookmarkPanel(BookmarksPanel *panel) void BookmarkProvider::removeBookmarkPanel(BookmarksPanel *panel) { + if (!panel) + return; + m_bookmarkPanels.removeOne(panel); + panel->disconnect(this); if (m_bookmarkPanels.isEmpty()) { -- cgit v1.2.1 From 89772b99957eff256f87d822b7741bb3e8f62276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Ander=20Pe=C3=B1alba?= Date: Fri, 20 Aug 2010 22:29:56 +0200 Subject: Minor changes in BookmarkProvider. Searching for bookmarks should be a bit faster --- src/bookmarks/bookmarkprovider.cpp | 45 ++++++++++++-------------------------- 1 file changed, 14 insertions(+), 31 deletions(-) (limited to 'src/bookmarks/bookmarkprovider.cpp') diff --git a/src/bookmarks/bookmarkprovider.cpp b/src/bookmarks/bookmarkprovider.cpp index 0cd0d3eb..ac08e76e 100644 --- a/src/bookmarks/bookmarkprovider.cpp +++ b/src/bookmarks/bookmarkprovider.cpp @@ -69,7 +69,8 @@ BookmarkProvider::BookmarkProvider(QObject *parent) // setup menu m_owner = new BookmarkOwner(m_manager, this); - connect(m_owner, SIGNAL(openUrl(const KUrl&, const Rekonq::OpenType &)), this, SIGNAL(openUrl(const KUrl&, const Rekonq::OpenType &))); + connect(m_owner, SIGNAL(openUrl(const KUrl&, const Rekonq::OpenType&)), + this, SIGNAL(openUrl(const KUrl&, const Rekonq::OpenType&))); KAction *a = KStandardAction::addBookmark(this, SLOT(slotAddBookmark()), this); m_actionCollection->addAction(QL1S("rekonq_add_bookmark"), a); @@ -93,7 +94,7 @@ void BookmarkProvider::registerBookmarkBar(BookmarkToolBar *toolbar) m_bookmarkToolBars.append(toolbar); toolbar->toolBar()->setContextMenuPolicy(Qt::CustomContextMenu); - connect(toolbar->toolBar(), SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(contextMenu(const QPoint &))); + connect(toolbar->toolBar(), SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(contextMenu(const QPoint&))); kDebug() << "new bookmark bar... DONE!"; } @@ -105,7 +106,7 @@ void BookmarkProvider::removeToolBar(BookmarkToolBar *toolbar) } -void BookmarkProvider::slotBookmarksChanged(const QString& /*group*/, const QString& /*caller*/) +void BookmarkProvider::slotBookmarksChanged(const QString& /*groupAddress*/, const QString& /*caller*/) { foreach(BookmarkToolBar *bookmarkToolBar, m_bookmarkToolBars) { @@ -123,7 +124,7 @@ QAction* BookmarkProvider::actionByName(const QString &name) QAction *action = m_actionCollection->action(name); if (action) return action; - return new QAction(this); // return empty object instead of NULL pointer + return new QAction(this); } @@ -205,41 +206,28 @@ KBookmarkGroup BookmarkProvider::rootGroup() QList BookmarkProvider::find(const QString &text) { QList list; - KBookmarkGroup bookGroup = Application::bookmarkProvider()->rootGroup(); - if (bookGroup.isNull()) - { - return list; - } - KBookmark bookmark = bookGroup.first(); - while (!bookmark.isNull()) - { - list = find(list, bookmark, text); - bookmark = bookGroup.next(bookmark); - } + KBookmarkGroup root = Application::bookmarkProvider()->rootGroup(); + if (!root.isNull()) + for (KBookmark bookmark = root.first(); !bookmark.isNull(); bookmark = root.next(bookmark)) + find(&list, bookmark, text); return list; } -QList BookmarkProvider::find(QList list, const KBookmark &bookmark, const QString &text) +void BookmarkProvider::find(QList *list, const KBookmark &bookmark, const QString &text) { if (bookmark.isGroup()) { KBookmarkGroup group = bookmark.toGroup(); - KBookmark bm = group.first(); - while (!bm.isNull()) - { - list = find(list, bm, text); - bm = group.next(bm); - } + for (KBookmark bm = group.first(); !bm.isNull(); bm = group.next(bm)) + find(list, bm, text); } else if (bookmark.url().url().contains(text) || bookmark.fullText().contains(text)) { - list << bookmark; + *list << bookmark; } - - return list; } @@ -269,9 +257,7 @@ void BookmarkProvider::removeBookmarkPanel(BookmarksPanel *panel) panel->disconnect(this); if (m_bookmarkPanels.isEmpty()) - { Application::bookmarkProvider()->bookmarkManager()->emitChanged(); - } } @@ -289,10 +275,7 @@ KBookmark BookmarkProvider::bookmarkForUrl(const KUrl &url) { KBookmarkGroup root = rootGroup(); if (root.isNull()) - { - KBookmark found; - return found; - } + return KBookmark(); return bookmarkForUrl(root, url); } -- cgit v1.2.1 From d564d3b50c83f55ebc66fd9019891251ac072bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Ander=20Pe=C3=B1alba?= Date: Fri, 20 Aug 2010 22:36:11 +0200 Subject: BookmarkProvider's code reordered --- src/bookmarks/bookmarkprovider.cpp | 162 ++++++++++++++++++------------------- 1 file changed, 81 insertions(+), 81 deletions(-) (limited to 'src/bookmarks/bookmarkprovider.cpp') diff --git a/src/bookmarks/bookmarkprovider.cpp b/src/bookmarks/bookmarkprovider.cpp index ac08e76e..41704f58 100644 --- a/src/bookmarks/bookmarkprovider.cpp +++ b/src/bookmarks/bookmarkprovider.cpp @@ -85,6 +85,22 @@ BookmarkProvider::~BookmarkProvider() } +KActionMenu* BookmarkProvider::bookmarkActionMenu(QWidget *parent) +{ + kDebug() << "new Bookmarks menu..."; + + KMenu *menu = new KMenu(parent); + KActionMenu *bookmarkActionMenu = new KActionMenu(menu); + bookmarkActionMenu->setMenu(menu); + bookmarkActionMenu->setText(i18n("&Bookmarks")); + new BookmarkMenu(m_manager, m_owner, menu, m_actionCollection); + + kDebug() << "new Bookmarks menu... DONE"; + + return bookmarkActionMenu; +} + + void BookmarkProvider::registerBookmarkBar(BookmarkToolBar *toolbar) { if (m_bookmarkToolBars.contains(toolbar)) @@ -100,25 +116,35 @@ void BookmarkProvider::registerBookmarkBar(BookmarkToolBar *toolbar) } -void BookmarkProvider::removeToolBar(BookmarkToolBar *toolbar) +void BookmarkProvider::removeBookmarkBar(BookmarkToolBar *toolbar) { m_bookmarkToolBars.removeOne(toolbar); } -void BookmarkProvider::slotBookmarksChanged(const QString& /*groupAddress*/, const QString& /*caller*/) +void BookmarkProvider::registerBookmarkPanel(BookmarksPanel *panel) { - foreach(BookmarkToolBar *bookmarkToolBar, m_bookmarkToolBars) + if (panel && !m_bookmarkPanels.contains(panel)) { - if (bookmarkToolBar) - { - bookmarkToolBar->toolBar()->clear(); - fillBookmarkBar(bookmarkToolBar); - } + m_bookmarkPanels.append(panel); + connect(panel, SIGNAL(expansionChanged()), this, SLOT(slotPanelChanged())); } } +void BookmarkProvider::removeBookmarkPanel(BookmarksPanel *panel) +{ + if (!panel) + return; + + m_bookmarkPanels.removeOne(panel); + panel->disconnect(this); + + if (m_bookmarkPanels.isEmpty()) + Application::bookmarkProvider()->bookmarkManager()->emitChanged(); +} + + QAction* BookmarkProvider::actionByName(const QString &name) { QAction *action = m_actionCollection->action(name); @@ -128,6 +154,35 @@ QAction* BookmarkProvider::actionByName(const QString &name) } +KBookmarkGroup BookmarkProvider::rootGroup() +{ + return m_manager->root(); +} + + +QList BookmarkProvider::find(const QString &text) +{ + QList list; + + KBookmarkGroup root = Application::bookmarkProvider()->rootGroup(); + if (!root.isNull()) + for (KBookmark bookmark = root.first(); !bookmark.isNull(); bookmark = root.next(bookmark)) + find(&list, bookmark, text); + + return list; +} + + +KBookmark BookmarkProvider::bookmarkForUrl(const KUrl &url) +{ + KBookmarkGroup root = rootGroup(); + if (root.isNull()) + return KBookmark(); + + return bookmarkForUrl(root, url); +} + + void BookmarkProvider::contextMenu(const QPoint &point) { if (m_bookmarkToolBars.isEmpty()) @@ -146,19 +201,16 @@ void BookmarkProvider::contextMenu(const QPoint &point) } -KActionMenu* BookmarkProvider::bookmarkActionMenu(QWidget *parent) +void BookmarkProvider::slotBookmarksChanged(const QString& /*groupAddress*/, const QString& /*caller*/) { - kDebug() << "new Bookmarks menu..."; - - KMenu *menu = new KMenu(parent); - KActionMenu *bookmarkActionMenu = new KActionMenu(menu); - bookmarkActionMenu->setMenu(menu); - bookmarkActionMenu->setText(i18n("&Bookmarks")); - new BookmarkMenu(m_manager, m_owner, menu, m_actionCollection); - - kDebug() << "new Bookmarks menu... DONE"; - - return bookmarkActionMenu; + foreach(BookmarkToolBar *bookmarkToolBar, m_bookmarkToolBars) + { + if (bookmarkToolBar) + { + bookmarkToolBar->toolBar()->clear(); + fillBookmarkBar(bookmarkToolBar); + } + } } @@ -197,22 +249,20 @@ void BookmarkProvider::fillBookmarkBar(BookmarkToolBar *toolBar) } -KBookmarkGroup BookmarkProvider::rootGroup() +void BookmarkProvider::slotAddBookmark() { - return m_manager->root(); + rootGroup().addBookmark(bookmarkOwner()->currentTitle(), bookmarkOwner()->currentUrl()); + bookmarkManager()->emitChanged(); } -QList BookmarkProvider::find(const QString &text) +void BookmarkProvider::slotPanelChanged() { - QList list; - - KBookmarkGroup root = Application::bookmarkProvider()->rootGroup(); - if (!root.isNull()) - for (KBookmark bookmark = root.first(); !bookmark.isNull(); bookmark = root.next(bookmark)) - find(&list, bookmark, text); - - return list; + foreach (BookmarksPanel *panel, m_bookmarkPanels) + { + if (panel && panel != sender()) + panel->startLoadFoldedState(); + } } @@ -231,56 +281,6 @@ void BookmarkProvider::find(QList *list, const KBookmark &bookmark, c } -void BookmarkProvider::slotAddBookmark() -{ - rootGroup().addBookmark(bookmarkOwner()->currentTitle(), bookmarkOwner()->currentUrl()); - bookmarkManager()->emitChanged(); -} - - -void BookmarkProvider::registerBookmarkPanel(BookmarksPanel *panel) -{ - if (panel && !m_bookmarkPanels.contains(panel)) - { - m_bookmarkPanels.append(panel); - connect(panel, SIGNAL(expansionChanged()), this, SLOT(slotPanelChanged())); - } -} - - -void BookmarkProvider::removeBookmarkPanel(BookmarksPanel *panel) -{ - if (!panel) - return; - - m_bookmarkPanels.removeOne(panel); - panel->disconnect(this); - - if (m_bookmarkPanels.isEmpty()) - Application::bookmarkProvider()->bookmarkManager()->emitChanged(); -} - - -void BookmarkProvider::slotPanelChanged() -{ - foreach (BookmarksPanel *panel, m_bookmarkPanels) - { - if (panel && panel != sender()) - panel->startLoadFoldedState(); - } -} - - -KBookmark BookmarkProvider::bookmarkForUrl(const KUrl &url) -{ - KBookmarkGroup root = rootGroup(); - if (root.isNull()) - return KBookmark(); - - return bookmarkForUrl(root, url); -} - - KBookmark BookmarkProvider::bookmarkForUrl(const KBookmark &bookmark, const KUrl &url) { KBookmark found; -- cgit v1.2.1