X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/328de208710faebaa275e2ef8ddb28a78ea5a2f0..b5cc2a6924cfd8f59611d3cec2edbb00a08b4ff1:/src/bookmarkselector.h diff --git a/src/bookmarkselector.h b/src/bookmarkselector.h index c662618ec..334f25ba3 100644 --- a/src/bookmarkselector.h +++ b/src/bookmarkselector.h @@ -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 class UrlNavigator; -class Q3PopupMenu; +class KMenu; class KUrl; /** @@ -35,7 +34,6 @@ class KUrl; * inside the bookmark selector. * * @see UrlNavigator - * @author Peter Penz */ class BookmarkSelector : public UrlButton { @@ -51,11 +49,11 @@ public: 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); @@ -71,12 +69,28 @@ public: /** @see QWidget::sizeHint() */ virtual QSize sizeHint() const; + /** + * Returns the base bookmark for the URL \a url. + * The base bookmark is defined as bookmark which is equal to + * the URL or at least is a parent URL. If there are more than + * one possible parent URL candidates, the bookmark which covers + * the bigger range of the URL is returned. + * + * Example: the url is '/home/peter/Documents/Music. Available + * bookmarks are: + * - /home/peter + * - /home/peter/Documents + * + * The base URL will be '/home/peter/Documents'. + */ + static KBookmark baseBookmark(const KUrl& url); + 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,14 +101,18 @@ 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: + static int baseBookmarkIndex(const KUrl& url); private: int m_selectedIndex; - Q3PopupMenu* m_bookmarksMenu; + UrlNavigator* m_urlNavigator; + KMenu* m_bookmarksMenu; };