]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/bookmarkselector.h
Ported to KBookmarkManager::closestBookmark - which even solves another TODO about...
[dolphin.git] / src / bookmarkselector.h
index c662618ec5a32d8fe42c0f87b47c4463f89af081..a5f0d434ef36268df2c37ca5ad597b984ee79c01 100644 (file)
@@ -1,6 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2006 by Peter Penz                                      *
- *   peter.penz@gmx.at                                                     *
+ *   Copyright (C) 2006 by Peter Penz (peter.penz@gmx.at)                  *
  *                                                                         *
  *   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  *
@@ -25,7 +24,7 @@
 #include <urlbutton.h>
 
 class UrlNavigator;
-class Q3PopupMenu;
+class KMenu;
 class KUrl;
 
 /**
@@ -35,7 +34,6 @@ class KUrl;
  * inside the bookmark selector.
  *
  * @see UrlNavigator
- * @author Peter Penz <peter.penz@gmx.at>
  */
 class BookmarkSelector : public UrlButton
 {
@@ -46,25 +44,19 @@ public:
      * @param parent Parent widget where the bookmark selector
      *               is embedded into.
      */
-    BookmarkSelector(UrlNavigator* parent);
+    BookmarkSelector(UrlNavigator* parent, KBookmarkManager* bookmarkManager);
 
     virtual ~BookmarkSelector();
 
     /**
-     * Updates the selection dependent from the given Url \a url. The
-     * Url must not match exactly to one of the available bookmarks:
-     * The bookmark which is equal to the Url or at least is a parent Url
-     * is selected. If there are more than one possible parent Url candidates,
-     * the bookmark which covers the bigger range of the Url is selected.
+     * Updates the selection dependent from the given URL \a url. The
+     * URL must not match exactly to one of the available bookmarks:
+     * The bookmark which is equal to the URL or at least is a parent URL
+     * is selected. If there are more than one possible parent URL candidates,
+     * the bookmark which covers the bigger range of the URL is selected.
      */
     void updateSelection(const KUrl& url);
 
-    /**
-     * Returns the index of the selected bookmark. To get
-     * the bookmark, use BookmarkSelector::selectedBookmark().
-     */
-    int selectedIndex() const { return m_selectedIndex; }
-
     /** Returns the selected bookmark. */
     KBookmark selectedBookmark() const;
 
@@ -74,9 +66,9 @@ public:
 signals:
     /**
      * Is send when a bookmark has been activated by the user.
-     * @param index Index of the selected bookmark.
+     * @param url URL of the selected bookmark.
      */
-    void bookmarkActivated(int index);
+    void bookmarkActivated(const KUrl& url);
 
 protected:
     /**
@@ -87,15 +79,16 @@ protected:
 
 private slots:
     /**
-     * Updates the selected index and the icon if a bookmark
-     * has been activated by the user.
+     * Updates the selected index and the icon to the bookmark
+     * which is indicated by the triggered action \a action.
      */
-    void slotBookmarkActivated(int index);
+    void activateBookmark(QAction* action);
 
 private:
-    int m_selectedIndex;
-    Q3PopupMenu* m_bookmarksMenu;
-
+    QString m_selectedAddress;
+    UrlNavigator* m_urlNavigator;
+    KMenu* m_bookmarksMenu;
+    KBookmarkManager* m_bookmarkManager;
 };
 
 #endif