]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/bookmarkselector.h
Add libkmetadata detection and minor fixes
[dolphin.git] / src / bookmarkselector.h
index 209cf73103085a48c23b214efce289a6cbfa317d..b904a0d57a63c44015c3457b6bf890ed00d45679 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  *
@@ -15,7 +14,7 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
  ***************************************************************************/
 
 #ifndef BOOKMARKSELECTOR_H
 
 #include <kbookmark.h>
 #include <urlbutton.h>
-//Added by qt3to4:
-#include <Q3PopupMenu>
 
-class URLNavigator;
-class Q3PopupMenu;
+class UrlNavigator;
+class KMenu;
 class KUrl;
 
 /**
@@ -36,10 +33,9 @@ class KUrl;
  * The icon from the current selected bookmark is shown
  * inside the bookmark selector.
  *
- * @see URLNavigator
- * @author Peter Penz <peter.penz@gmx.at>
+ * @see UrlNavigator
  */
-class BookmarkSelector : public URLButton
+class BookmarkSelector : public UrlButton
 {
     Q_OBJECT
 
@@ -48,16 +44,16 @@ public:
      * @param parent Parent widget where the bookmark selector
      *               is embedded into.
      */
-    BookmarkSelector(URLNavigator* parent);
+    BookmarkSelector(UrlNavigator* parent);
 
     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);
 
@@ -70,30 +66,34 @@ public:
     /** Returns the selected bookmark. */
     KBookmark selectedBookmark() const;
 
+    /** @see QWidget::sizeHint() */
+    virtual QSize sizeHint() const;
+
 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:
     /**
-     * Draws the icon of the selected URL as content of the URL
+     * Draws the icon of the selected Url as content of the Url
      * selector.
      */
-    virtual void drawButton(QPainter* painter);
+    virtual void paintEvent(QPaintEvent* event);
 
 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;
+    UrlNavigator* m_urlNavigator;
+    KMenu* m_bookmarksMenu;
 
 };