summaryrefslogtreecommitdiff
path: root/src/bookmarks/bookmarksmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bookmarks/bookmarksmanager.cpp')
-rw-r--r--src/bookmarks/bookmarksmanager.cpp332
1 files changed, 0 insertions, 332 deletions
diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp
deleted file mode 100644
index ea7b313d..00000000
--- a/src/bookmarks/bookmarksmanager.cpp
+++ /dev/null
@@ -1,332 +0,0 @@
-/* ============================================================
-*
-* This file is a part of the rekonq project
-*
-* Copyright (C) 2008-2010 by Andrea Diamantini <adjam7 at gmail dot com>
-* Copyright (C) 2009 by Paweł Prażak <pawelprazak at gmail dot com>
-* Copyright (C) 2009-2010 by Lionel Chauvin <megabigbug@yahoo.fr>
-* Copyright (C) 2010 by Yoann Laissus <yoann dot laissus at gmail dot com>
-*
-*
-* 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 <http://www.gnu.org/licenses/>.
-*
-* ============================================================ */
-
-
-// Self Includes
-#include "bookmarksmanager.h"
-
-// Local Includes
-#include "application.h"
-#include "mainwindow.h"
-#include "bookmarkspanel.h"
-#include "bookmarkscontextmenu.h"
-#include "bookmarkstoolbar.h"
-#include "bookmarkowner.h"
-
-// KDE Includes
-#include <KStandardDirs>
-
-// Qt Includes
-#include <QtCore/QFile>
-
-
-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<KBookmarkActionInterface *>(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<KBookmark> BookmarkProvider::find(QString text)
-{
- QList<KBookmark> 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<KBookmark> BookmarkProvider::find(QList<KBookmark> 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;
-}