]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/search/dolphinfacetswidget.cpp
Merge branch 'Applications/19.08'
[dolphin.git] / src / search / dolphinfacetswidget.cpp
index 2425e0b35ded8c4133960bb5903970e4a71e9ec0..e4388f2e7a9ea20044be0582a3af81d89f24b3cd 100644 (file)
 #include "dolphinfacetswidget.h"
 
 #include <KLocalizedString>
+
 #include <QButtonGroup>
 #include <QCheckBox>
 #include <QDate>
-#include <QRadioButton>
 #include <QHBoxLayout>
-#include <QVBoxLayout>
+#include <QRadioButton>
 
 DolphinFacetsWidget::DolphinFacetsWidget(QWidget* parent) :
     QWidget(parent),
-    m_documents(0),
-    m_images(0),
-    m_audio(0),
-    m_videos(0),
-    m_anytime(0),
-    m_today(0),
-    m_yesterday(0),
-    m_thisWeek(0),
-    m_thisMonth(0),
-    m_thisYear(0),
-    m_anyRating(0),
-    m_oneOrMore(0),
-    m_twoOrMore(0),
-    m_threeOrMore(0),
-    m_fourOrMore(0),
-    m_maxRating(0)
+    m_folders(nullptr),
+    m_documents(nullptr),
+    m_images(nullptr),
+    m_audio(nullptr),
+    m_videos(nullptr),
+    m_anytime(nullptr),
+    m_today(nullptr),
+    m_yesterday(nullptr),
+    m_thisWeek(nullptr),
+    m_thisMonth(nullptr),
+    m_thisYear(nullptr),
+    m_anyRating(nullptr),
+    m_oneOrMore(nullptr),
+    m_twoOrMore(nullptr),
+    m_threeOrMore(nullptr),
+    m_fourOrMore(nullptr),
+    m_maxRating(nullptr)
 {
     QButtonGroup* filetypeGroup = new QButtonGroup(this);
     m_anyType   = createRadioButton(i18nc("@option:check", "Any"), filetypeGroup);
+    m_folders   = createRadioButton(i18nc("@option:check", "Folders"), filetypeGroup);
     m_documents = createRadioButton(i18nc("@option:check", "Documents"), filetypeGroup);
     m_images    = createRadioButton(i18nc("@option:check", "Images"), filetypeGroup);
     m_audio     = createRadioButton(i18nc("@option:check", "Audio Files"), filetypeGroup);
@@ -56,6 +58,7 @@ DolphinFacetsWidget::DolphinFacetsWidget(QWidget* parent) :
     QVBoxLayout* typeLayout = new QVBoxLayout();
     typeLayout->setSpacing(0);
     typeLayout->addWidget(m_anyType);
+    typeLayout->addWidget(m_folders);
     typeLayout->addWidget(m_documents);
     typeLayout->addWidget(m_images);
     typeLayout->addWidget(m_audio);
@@ -129,7 +132,7 @@ QString DolphinFacetsWidget::ratingTerm() const
         }
 
         const int rating = stars * 2;
-        terms << QString::fromLatin1("rating>=%1").arg(rating);
+        terms << QStringLiteral("rating>=%1").arg(rating);
     }
 
     if (!m_anytime->isChecked()) {
@@ -144,22 +147,24 @@ QString DolphinFacetsWidget::ratingTerm() const
             date = date.addDays(1 - date.dayOfYear());
         }
 
-        terms << QString::fromLatin1("modified>=%1").arg(date.toString(Qt::ISODate));
+        terms << QStringLiteral("modified>=%1").arg(date.toString(Qt::ISODate));
     }
 
-    return terms.join(QStringLiteral(" AND "));
+    return terms.join(QLatin1String(" AND "));
 }
 
 QString DolphinFacetsWidget::facetType() const
 {
-    if (m_documents->isChecked()) {
-        return QLatin1String("Document");
+    if (m_folders->isChecked()) {
+        return QStringLiteral("Folder");
+    } else if (m_documents->isChecked()) {
+        return QStringLiteral("Document");
     } else if (m_images->isChecked()) {
-        return QLatin1String("Image");
+        return QStringLiteral("Image");
     } else if (m_audio->isChecked()) {
-        return QLatin1String("Audio");
+        return QStringLiteral("Audio");
     } else if (m_videos->isChecked()) {
-        return QLatin1String("Video");
+        return QStringLiteral("Video");
     }
 
     return QString();
@@ -174,9 +179,9 @@ bool DolphinFacetsWidget::isRatingTerm(const QString& term) const
     bool containsModified = false;
 
     foreach (const QString& subTerm, subTerms) {
-        if (subTerm.startsWith("rating>=")) {
+        if (subTerm.startsWith(QLatin1String("rating>="))) {
             containsRating = true;
-        } else if (subTerm.startsWith("modified>=")) {
+        } else if (subTerm.startsWith(QLatin1String("modified>="))) {
             containsModified = true;
         }
     }
@@ -192,11 +197,11 @@ void DolphinFacetsWidget::setRatingTerm(const QString& term)
     QStringList subTerms = term.split(' ', QString::SkipEmptyParts);
 
     foreach (const QString& subTerm, subTerms) {
-        if (subTerm.startsWith("modified>=")) {
+        if (subTerm.startsWith(QLatin1String("modified>="))) {
             const QString value = subTerm.mid(10);
             const QDate date = QDate::fromString(value, Qt::ISODate);
             setTimespan(date);
-        } else if (subTerm.startsWith("rating>=")) {
+        } else if (subTerm.startsWith(QLatin1String("rating>="))) {
             const QString value = subTerm.mid(8);
             const int stars = value.toInt() / 2;
             setRating(stars);