┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/panels/places/placespanel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/panels/places/placespanel.h')
-rw-r--r--src/panels/places/placespanel.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/panels/places/placespanel.h b/src/panels/places/placespanel.h
index 80cb732f0..ea05601e0 100644
--- a/src/panels/places/placespanel.h
+++ b/src/panels/places/placespanel.h
@@ -21,13 +21,28 @@
#ifndef PLACESPANEL_H
#define PLACESPANEL_H
+#include <config-nepomuk.h>
+
+#include <KUrl>
#include <panels/panel.h>
+#include <QHash>
+#include <QList>
#include <QSet>
class KBookmarkManager;
class KItemListController;
class KStandardItemModel;
+#ifdef HAVE_NEPOMUK
+namespace Nepomuk
+{
+ namespace Query
+ {
+ class Term;
+ }
+}
+#endif
+
/**
* @brief Combines bookmarks and mounted devices as list.
*/
@@ -50,16 +65,67 @@ protected:
private slots:
void slotItemActivated(int index);
void slotItemMiddleClicked(int index);
+ void slotItemContextMenuRequested(int index, const QPointF& pos);
+ void slotViewContextMenuRequested(const QPointF& pos);
void slotUrlsDropped(const KUrl& dest, QDropEvent* event, QWidget* parent);
private:
+ void createDefaultBookmarks();
void loadBookmarks();
+ KUrl urlForIndex(int index) const;
+
+ /**
+ * @return URL using the timeline-protocol for searching.
+ */
+ static KUrl createTimelineUrl(const KUrl& url);
+
+ /**
+ * Helper method for createTimelineUrl().
+ * @return String that represents a date-path in the format that
+ * the timeline-protocol expects.
+ */
+ static QString timelineDateString(int year, int month, int day = 0);
+
+ /**
+ * @return URL that can be listed by KIO and results in searching
+ * for a given term. The URL \a url represents a places-internal
+ * URL like e.g. "search:/documents"
+ */
+ static KUrl createSearchUrl(const KUrl& url);
+
+#ifdef HAVE_NEPOMUK
+ /**
+ * Helper method for createSearchUrl().
+ * @return URL that can be listed by KIO and results in searching
+ * for the given term.
+ */
+ static KUrl searchUrlForTerm(const Nepomuk::Query::Term& term);
+#endif
private:
+ bool m_nepomukRunning;
+
KItemListController* m_controller;
KStandardItemModel* m_model;
+
QSet<QString> m_availableDevices;
KBookmarkManager* m_bookmarkManager;
+
+ struct DefaultBookmarkData
+ {
+ DefaultBookmarkData(const KUrl& url,
+ const QString& icon,
+ const QString& text,
+ const QString& group) :
+ url(url), icon(icon), text(text), group(group) {}
+ KUrl url;
+ QString icon;
+ QString text;
+ QString group;
+ };
+
+ QList<DefaultBookmarkData> m_defaultBookmarks;
+ QHash<KUrl, int> m_defaultBookmarksIndexes;
};
#endif // PLACESPANEL_H