]> cloud.milkyroute.net Git - dolphin.git/commitdiff
If Nepomuk is (temporary) not available use SortByName as fallback for SortByTags...
authorPeter Penz <peter.penz19@gmail.com>
Wed, 19 Sep 2007 06:24:14 +0000 (06:24 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Wed, 19 Sep 2007 06:24:14 +0000 (06:24 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=714289

src/viewproperties.cpp
src/viewproperties.h

index 835be2aad944d0ab58128210adb0595d9f2f3694..319a06bc230a16c834fcd758fc366e70aa21570b 100644 (file)
 #include <kstandarddirs.h>
 #include <kurl.h>
 
+#ifdef HAVE_NEPOMUK
+    #include <nepomuk/resourcemanager.h>
+#endif
+
 #include <QDate>
 #include <QFile>
 #include <QFileInfo>
 
+bool ViewProperties::m_nepomukSupport = false;
+
 #define FILE_NAME "/.directory"
 
 ViewProperties::ViewProperties(const KUrl& url) :
@@ -40,6 +46,14 @@ ViewProperties::ViewProperties(const KUrl& url) :
     m_autoSave(true),
     m_node(0)
 {
+#ifdef HAVE_NEPOMUK
+    static bool checkedNepomukSupport = false;
+    if (!checkedNepomukSupport) {
+        m_nepomukSupport = !Nepomuk::ResourceManager::instance()->init();
+        checkedNepomukSupport = true;
+    }
+#endif
+
     KUrl cleanUrl(url);
     cleanUrl.cleanPath();
     m_filepath = cleanUrl.path();
@@ -159,7 +173,15 @@ void ViewProperties::setSorting(DolphinView::Sorting sorting)
 
 DolphinView::Sorting ViewProperties::sorting() const
 {
-    return static_cast<DolphinView::Sorting>(m_node->sorting());
+    // If Nepomuk is not available, return SortByName as fallback if SortByRating
+    // or SortByTags is stored.
+    DolphinView::Sorting sorting = static_cast<DolphinView::Sorting>(m_node->sorting());
+    const bool sortByName = !m_nepomukSupport &&
+                            ((sorting == DolphinView::SortByRating) || (sorting == DolphinView::SortByTags));
+    if (sortByName) {
+        sorting = DolphinView::SortByName;
+    }
+    return sorting;
 }
 
 void ViewProperties::setSortOrder(Qt::SortOrder sortOrder)
index 64a2fad256ba829be8c100e84ea22c1d5930000c..cba68ad3c2caccaeabbe2bff7ff58b5fb31c5c0f 100644 (file)
@@ -124,6 +124,8 @@ private:
     bool m_autoSave;
     QString m_filepath;
     ViewPropertySettings* m_node;
+
+    static bool m_nepomukSupport;
 };
 
 #endif