]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/viewpropertiesdialog.cpp
Newer items go before
[dolphin.git] / src / viewpropertiesdialog.cpp
index 5c9f7c3e10e08a91fc740c228bb0819a65b92580..cd4490aadf386dfc7a547fc0b49d94eaeabd4dac 100644 (file)
@@ -110,10 +110,13 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) :
     m_sorting->addItem(i18nc("@item:inlistbox Sort", "By Group"));
     m_sorting->addItem(i18nc("@item:inlistbox Sort", "By Type"));
 #ifdef HAVE_NEPOMUK
-    if (!Nepomuk::ResourceManager::instance()->init()) {
-        m_sorting->addItem(i18nc("@item:inlistbox Sort", "By Rating"));
-        m_sorting->addItem(i18nc("@item:inlistbox Sort", "By Tags"));
-    }
+    // TODO: Hided "sort by rating" and "sort by tags" as without caching the performance
+    // is too slow currently (Nepomuk will support caching in future releases).
+    //
+    // if (!Nepomuk::ResourceManager::instance()->init()) {
+    //    m_sorting->addItem(i18nc("@item:inlistbox Sort", "By Rating"));
+    //    m_sorting->addItem(i18nc("@item:inlistbox Sort", "By Tags"));
+    // }
 #endif
 
     QHBoxLayout* sortingLayout = new QHBoxLayout();
@@ -282,7 +285,19 @@ void ViewPropertiesDialog::markAsDirty()
 
 void ViewPropertiesDialog::configureAdditionalInfo()
 {
-    const KFileItemDelegate::InformationList info = m_viewProps->additionalInfo();
+    KFileItemDelegate::InformationList info = m_viewProps->additionalInfo();
+    const bool useDefaultInfo = (m_viewProps->viewMode() == DolphinView::DetailsView) &&
+                                (info.isEmpty() || info.contains(KFileItemDelegate::NoInformation));
+    if (useDefaultInfo) {
+        // Using the details view without any additional information (-> additional column)
+        // makes no sense and leads to a usability problem as no viewport area is available
+        // anymore. Hence as fallback provide at least a size and date column.
+        info.clear();
+        info.append(KFileItemDelegate::Size);
+        info.append(KFileItemDelegate::ModificationTime);
+        m_viewProps->setAdditionalInfo(info);
+    }
+
     AdditionalInfoDialog dialog(this, info);
     if (dialog.exec() == QDialog::Accepted) {
         m_viewProps->setAdditionalInfo(dialog.additionalInfo());