summaryrefslogtreecommitdiff
path: root/src/bookmarks/bookmarkcontextmenu.cpp
diff options
context:
space:
mode:
authorYoann Laissus <yoann.laissus@gmail.com>2010-08-17 12:43:07 +0200
committerYoann Laissus <yoann.laissus@gmail.com>2010-08-17 12:43:07 +0200
commit05710490e9e4da45c8c9caaf8a998b851bd99085 (patch)
tree2484c32537a60e2deeb0bcbd65ed0d9ac6ca978c /src/bookmarks/bookmarkcontextmenu.cpp
parentMerge commit 'refs/merge-requests/172' of git://gitorious.org/rekonq/mainline... (diff)
downloadrekonq-05710490e9e4da45c8c9caaf8a998b851bd99085.tar.xz
- Drag and drop in the bookmark toolbar between root items only (for the moment)
- Drag accepted from the panel - Move two classes to a separate file Partially fixed : CCBUG: 226479
Diffstat (limited to 'src/bookmarks/bookmarkcontextmenu.cpp')
-rw-r--r--src/bookmarks/bookmarkcontextmenu.cpp321
1 files changed, 0 insertions, 321 deletions
diff --git a/src/bookmarks/bookmarkcontextmenu.cpp b/src/bookmarks/bookmarkcontextmenu.cpp
deleted file mode 100644
index 714c8b51..00000000
--- a/src/bookmarks/bookmarkcontextmenu.cpp
+++ /dev/null
@@ -1,321 +0,0 @@
-/* ============================================================
-*
-* This file is a part of the rekonq project
-*
-* 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 "bookmarkcontextmenu.h"
-#include "bookmarkcontextmenu.moc"
-
-// Local Includes
-#include "application.h"
-#include "bookmarksmanager.h"
-
-// KDE Includes
-#include <KMessageBox>
-#include <KActionCollection>
-#include <KBookmarkDialog>
-
-// Qt Includes
-#include <QClipboard>
-
-
-BookmarkContextMenu::BookmarkContextMenu(const KBookmark & bookmark, KBookmarkManager *manager, KBookmarkOwner *owner, QWidget *parent)
- : KBookmarkContextMenu(bookmark, manager, owner, parent)
- , m_ac(new KActionCollection(this))
-{
- setupActions();
-}
-
-
-BookmarkContextMenu::~BookmarkContextMenu()
-{
- delete m_ac;
-}
-
-
-void BookmarkContextMenu::setupActions()
-{
- KAction* action;
-
- action = new KAction(KIcon("tab-new"), i18n("Open"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(openInCurrentTab()));
- m_ac->addAction("open", action);
-
- action = new KAction(KIcon("tab-new"), i18n("Open in New Tab"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(openInNewTab()));
- m_ac->addAction("open_tab", action);
-
- action = new KAction(KIcon("window-new"), i18n("Open in New Window"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(openInNewWindow()));
- m_ac->addAction("open_window", action);
-
- action = new KAction(KIcon("bookmark-new"), i18n("Add Bookmark Here"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(bookmarkCurrentPage()));
- m_ac->addAction("bookmark_page", action);
-
- action = new KAction(KIcon("folder-new"), i18n("New Bookmark Folder"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(newBookmarkGroup()));
- m_ac->addAction("folder_new", action);
-
- action = new KAction(KIcon("edit-clear"), i18n("New Separator"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(newSeparator()));
- m_ac->addAction("separator_new", action);
-
- action = new KAction(KIcon("edit-copy"), i18n("Copy Link Address"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(copyToClipboard()));
- m_ac->addAction("copy", action);
-
- action = new KAction(KIcon("edit-delete"), i18n("Delete Bookmark"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(deleteBookmark()));
- m_ac->addAction("delete", action);
-
- action = new KAction(KIcon("configure"), i18n("Properties"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(editBookmark()));
- m_ac->addAction("properties", action);
-
- action = new KAction(KIcon("tab-new"), i18n("Open Folder in Tabs"), this);
- connect(action, SIGNAL(triggered()), this, SLOT(openFolderInTabs()));
- m_ac->addAction("open_all", action);
-}
-
-
-void BookmarkContextMenu::addBookmarkActions()
-{
- addAction(m_ac->action("open"));
- addAction(m_ac->action("open_tab"));
- addAction(m_ac->action("open_window"));
-
- addSeparator();
-
- addAction(m_ac->action("bookmark_page"));
- addAction(m_ac->action("folder_new"));
- addAction(m_ac->action("separator_new"));
-
- addSeparator();
-
- addAction(m_ac->action("copy"));
-
- addSeparator();
-
- addAction(m_ac->action("delete"));
- addAction(m_ac->action("properties"));
-}
-
-
-void BookmarkContextMenu::addFolderActions()
-{
- if (!bookmark().toGroup().first().isNull())
- {
- addAction(m_ac->action("open_all"));
- addSeparator();
- }
-
- addAction(m_ac->action("bookmark_page"));
- addAction(m_ac->action("folder_new"));
- addAction(m_ac->action("separator_new"));
-
- addSeparator();
-
- addAction(m_ac->action("delete"));
- addAction(m_ac->action("properties"));
-}
-
-
-void BookmarkContextMenu::addSeparatorActions()
-{
- addAction(m_ac->action("bookmark_page"));
- addAction(m_ac->action("folder_new"));
- addAction(m_ac->action("separator_new"));
-
- addSeparator();
-
- addAction(m_ac->action("delete"));
-}
-
-
-void BookmarkContextMenu::addActions()
-{
- if (bookmark().isGroup())
- {
- addFolderActions();
- }
-
- else if (bookmark().isSeparator())
- {
- addSeparatorActions();
- }
-
- else if (bookmark().isNull())
- {
- addAction(m_ac->action("bookmark_page"));
- addAction(m_ac->action("folder_new"));
- addAction(m_ac->action("separator_new"));
- }
-
- else
- {
- addBookmarkActions();
- }
-}
-
-
-void BookmarkContextMenu::openInCurrentTab()
-{
- Application::instance()->loadUrl(bookmark().url());
-}
-
-
-void BookmarkContextMenu::openInNewTab()
-{
- Application::instance()->loadUrl(bookmark().url(), Rekonq::NewTab);
-}
-
-
-void BookmarkContextMenu::openInNewWindow()
-{
- Application::instance()->loadUrl(bookmark().url(), Rekonq::NewWindow);
-}
-
-
-void BookmarkContextMenu::copyToClipboard()
-{
- if (bookmark().isNull())
- return;
-
- QClipboard *cb = QApplication::clipboard();
- cb->setText(bookmark().url().url());
-}
-
-
-void BookmarkContextMenu::deleteBookmark()
-{
- KBookmark bm = bookmark();
- Application::bookmarkProvider()->bookmarkOwner()->deleteBookmark(bm);
-}
-
-
-void BookmarkContextMenu::editBookmark()
-{
- KBookmark selected = bookmark();
- selected.setFullText(selected.fullText().replace("&&", "&"));
- KBookmarkDialog *dialog = owner()->bookmarkDialog(manager(), QApplication::activeWindow());
- dialog->editBookmark(selected);
- selected.setFullText(selected.fullText().replace('&', "&&"));
- delete dialog;
-}
-
-
-void BookmarkContextMenu::openFolderInTabs()
-{
- if (bookmark().isGroup())
- owner()->openFolderinTabs(bookmark().toGroup());
-}
-
-
-void BookmarkContextMenu::newBookmarkGroup()
-{
- KBookmark selected = bookmark();
- KBookmarkDialog *dialog = owner()->bookmarkDialog(manager(), QApplication::activeWindow());
-
- if (!selected.isNull())
- {
- if (selected.isGroup())
- {
- dialog->createNewFolder("New folder", selected);
- }
-
- else
- {
- KBookmark newBk;
- newBk = dialog->createNewFolder("New folder", selected.parentGroup());
- if (!newBk.isNull())
- {
- selected.parentGroup().moveBookmark(newBk, selected);
- manager()->emitChanged(newBk.parentGroup());
- }
- }
- }
- else
- {
- dialog->createNewFolder("New folder");
- }
-
- delete dialog;
-}
-
-
-void BookmarkContextMenu::newSeparator()
-{
- KBookmark selected = bookmark();
- KBookmark newBk;
-
- if (!selected.isNull())
- {
- if (selected.isGroup())
- newBk = selected.toGroup().createNewSeparator();
- else
- newBk = selected.parentGroup().createNewSeparator();
- }
-
- else
- {
- newBk = Application::bookmarkProvider()->rootGroup().createNewSeparator();
- }
-
- KBookmarkGroup parent = newBk.parentGroup();
- newBk.setIcon(("edit-clear"));
- parent.addBookmark(newBk);
-
- if (!selected.isNull())
- parent.moveBookmark(newBk, selected);
-
- manager()->emitChanged(newBk.parentGroup());
-}
-
-
-void BookmarkContextMenu::bookmarkCurrentPage()
-{
- KBookmarkGroup parent = Application::bookmarkProvider()->rootGroup();
- KBookmark selected = bookmark();
-
- if (!selected.isNull())
- {
- parent = selected.parentGroup();
-
- if (selected.isGroup())
- parent = selected.toGroup();
-
- KBookmark newBk = parent.addBookmark(owner()->currentTitle().replace('&', "&&"), KUrl(owner()->currentUrl()));
- parent.moveBookmark(newBk, selected.parentGroup().previous(selected));
- }
-
- else
- {
- parent.addBookmark(owner()->currentTitle(), KUrl(owner()->currentUrl()));
- }
-
- manager()->emitChanged(parent);
-}
-