summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2008-12-01 01:09:56 +0100
committerAndrea Diamantini <adjam7@gmail.com>2008-12-01 01:09:56 +0100
commit6efdfa17dd017d735364626220b501cb2063e1c9 (patch)
treeb1b6470107078c0d76128c099aac0571752cf50e
parent- Ported historyMenu to KAction (diff)
downloadrekonq-6efdfa17dd017d735364626220b501cb2063e1c9.tar.xz
New BookmarkMenu implementation
-rw-r--r--src/bookmarks.cpp58
-rw-r--r--src/bookmarks.h55
-rw-r--r--src/browsermainwindow.cpp7
3 files changed, 117 insertions, 3 deletions
diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp
new file mode 100644
index 00000000..29c175e8
--- /dev/null
+++ b/src/bookmarks.cpp
@@ -0,0 +1,58 @@
+/* ============================================================
+ *
+ * This file is a part of the reKonq project
+ *
+ * Copyright (C) 2008 by Andrea Diamantini <adjam7 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, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * ============================================================ */
+
+#include "bookmarks.h"
+#include "bookmarks.moc"
+
+
+OwnBookMarks::OwnBookMarks(KMainWindow *parent)
+{
+
+}
+
+
+virtual void OwnBookMarks::openBookmark (const KBookmark & , Qt::MouseButtons , Qt::KeyboardModifiers )
+{
+}
+
+
+// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+BookmarkMenu::BookmarkMenu(KMainWindow *parent)
+ : KMenu(parent)
+{
+ m_parent = parent;
+
+ KUrl bookfile = KUrl( "~/.kde/share/apps/konqueror/bookmarks.xml" ); // share konqueror bookmarks
+ m_manager = KBookmarkManager::managerForExternalFile( bookfile.path() );
+
+ m_owner = new OwnBookMarks(parent);
+
+ m_ac = new KActionCollection( this );
+ setActions();
+
+ m_menu = m_bookmarkMenu = new KBookmarkMenu( m_manager , m_owner, this, m_ac );
+}
+
+
+ void BookmarkMenu::setActions()
+{
+ m_ac->addAction( KStandardAction::addBookmark( m_parent, SLOT( slotAddBookmark() ) , this ) );
+} \ No newline at end of file
diff --git a/src/bookmarks.h b/src/bookmarks.h
new file mode 100644
index 00000000..4f527436
--- /dev/null
+++ b/src/bookmarks.h
@@ -0,0 +1,55 @@
+/* ============================================================
+ *
+ * This file is a part of the reKonq project
+ *
+ * Copyright (C) 2008 by Andrea Diamantini <adjam7 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, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * ============================================================ */
+
+#ifndef BOOKMARKS_H
+#define BOOKMARKS_H
+
+#include <KBookmarkOwner>
+#include <KBookmarkManager>
+#include <KBookmarkMenu>
+
+
+class OwnBookMarks : public KBookMarkOwner
+{
+Q_OBJECT
+public:
+ OwnBookMarks(KMainWindow *parent);
+
+ virtual void openBookmark (const KBookmark & , Qt::MouseButtons , Qt::KeyboardModifiers );
+};
+
+
+class BookmarkMenu : public KMenu
+{
+Q_OBJECT
+public:
+ BookmarkMenu(KMainWindow *parent);
+
+private:
+ void setActions();
+
+ KBookmarkManager *m_manager;
+ OwnBookMarks *m_owner;
+ KActionCollection *m_ac;
+ KBookmarkMenu *m_menu;
+ KMainWindow *m_parent;
+};
+
+#endif
+
diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp
index 0bf8b0ef..5b91fdb0 100644
--- a/src/browsermainwindow.cpp
+++ b/src/browsermainwindow.cpp
@@ -342,13 +342,14 @@ void BrowserMainWindow::setupMenu()
KMenu* bookmarksMenu = new KMenu( i18n("&Bookmarks"), this );
- menuBar()->addMenu( bookmarksMenu );
-
- KBookmarkManager *mgr = KBookmarkManager::managerForFile( "~/.kde/share/apps/konqueror/bookmarks.xml" , "konqueror" );
+ KUrl bookfile = KUrl( "~/.kde/share/apps/konqueror/bookmarks.xml" );
+ KBookmarkManager *mgr = KBookmarkManager::managerForExternalFile( bookfile.path() ); //FIXME hardcoded path
KActionCollection * ac = new KActionCollection( this );
ac->addAction( "Add Bookmark" , KStandardAction::addBookmark( this, SLOT( slotAddBookmark() ) , this ) );
m_bookmarkMenu = new KBookmarkMenu( mgr , 0 , bookmarksMenu , ac );
+ menuBar()->addMenu( bookmarksMenu );
+
// ------------------------------------------------------------- WINDOW --------------------------------------------------------------------------------------------------
m_windowMenu = (KMenu *) menuBar()->addMenu( i18n("&Window") );