┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/panels/places/placesitemmodel.h
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2012-05-16 23:11:56 +0200
committerPeter Penz <[email protected]>2012-05-16 23:13:55 +0200
commit3e2cf9721b7b9726af37d679d1afd6eaf306ad29 (patch)
treeb9fb21425d837904918f038773368d0941b6d28a /src/panels/places/placesitemmodel.h
parent2fd31c8a95eaa38defa0f6adf3b83b12fc1aa1a3 (diff)
Provide default view properties for system-places
For the "Recently Accessed"-places and "Search For"-places like documents, images, audio-files and videos proper default properties are created now (e.g. previews and images-sizes are shown when searching for "images" etc).
Diffstat (limited to 'src/panels/places/placesitemmodel.h')
-rw-r--r--src/panels/places/placesitemmodel.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/panels/places/placesitemmodel.h b/src/panels/places/placesitemmodel.h
index c0ff2e9c5..0f8f3025d 100644
--- a/src/panels/places/placesitemmodel.h
+++ b/src/panels/places/placesitemmodel.h
@@ -37,6 +37,16 @@ class PlacesItem;
class QAction;
class QTimer;
+#ifdef HAVE_NEPOMUK
+ namespace Nepomuk
+ {
+ namespace Query
+ {
+ class Term;
+ }
+ }
+#endif
+
// #define PLACESITEMMODEL_DEBUG
/**
@@ -95,6 +105,14 @@ public:
void requestEject(int index);
void requestTeardown(int index);
+ /**
+ * @return Converts the URL, which contains "virtual" URLs for system-items like
+ * "search:/documents" into a Nepomuk-Query-URL that will be handled by
+ * the corresponding IO-slave. Virtual URLs for bookmarks are used to
+ * be independent from internal format changes.
+ */
+ static KUrl convertedUrl(const KUrl& url);
+
signals:
void errorMessage(const QString& message);
@@ -124,6 +142,8 @@ private slots:
void saveBookmarks();
private:
+ struct SystemBookmarkData;
+
/**
* Loads the bookmarks from the bookmark-manager and creates items for
* the model or moves hidden items to m_bookmarkedItems.
@@ -138,6 +158,14 @@ private:
bool acceptBookmark(const KBookmark& bookmark) const;
/**
+ * Creates a PlacesItem for a system-bookmark:
+ * - PlacesItem::isSystemItem() will return true
+ * - Default view-properties will be created for "Search For" items
+ * The item is not inserted to the model yet.
+ */
+ PlacesItem* createSystemPlacesItem(const SystemBookmarkData& data);
+
+ /**
* Creates system bookmarks that are shown per default and can
* only be hidden but not removed. The result will be stored
* in m_systemBookmarks.
@@ -171,6 +199,34 @@ private:
*/
static bool equalBookmarkIdentifiers(const KBookmark& b1, const KBookmark& b2);
+ /**
+ * @return URL using the timeline-protocol for searching (see convertedUrl()).
+ */
+ 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" (see convertedUrl()).
+ */
+ 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
+
#ifdef PLACESITEMMODEL_DEBUG
void showModelState();
#endif