X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d2f044b32d34023fbf4755b95dcafe71ed00b55f..4f1d8fef9216d6ae7b5b9bd1fa5523103ccf419a:/src/settings/viewpropertiesdialog.cpp diff --git a/src/settings/viewpropertiesdialog.cpp b/src/settings/viewpropertiesdialog.cpp index 82d182d1d..30995f1f7 100644 --- a/src/settings/viewpropertiesdialog.cpp +++ b/src/settings/viewpropertiesdialog.cpp @@ -8,7 +8,6 @@ #include "viewpropertiesdialog.h" #include "dolphin_generalsettings.h" -#include "dolphin_iconsmodesettings.h" #include "global.h" #include "kitemviews/kfileitemmodel.h" #include "viewpropsprogressinfo.h" @@ -19,7 +18,9 @@ #include #include -#ifdef HAVE_BALOO +#include + +#if HAVE_BALOO #include #endif @@ -44,6 +45,7 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : m_sortOrder(nullptr), m_sorting(nullptr), m_sortFoldersFirst(nullptr), + m_sortHiddenLast(nullptr), m_previewsShown(nullptr), m_showInGroups(nullptr), m_showHiddenFiles(nullptr), @@ -82,6 +84,7 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : } m_sortFoldersFirst = new QCheckBox(i18nc("@option:check", "Show folders first")); + m_sortHiddenLast = new QCheckBox(i18nc("@option:check", "Show hidden files last")); m_previewsShown = new QCheckBox(i18nc("@option:check", "Show preview")); m_showInGroups = new QCheckBox(i18nc("@option:check", "Show in groups")); m_showHiddenFiles = new QCheckBox(i18nc("@option:check", "Show hidden files")); @@ -106,7 +109,7 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : // Add checkboxes bool indexingEnabled = false; -#ifdef HAVE_BALOO +#if HAVE_BALOO Baloo::IndexerConfig config; indexingEnabled = config.fileIndexingEnabled(); #endif @@ -146,15 +149,18 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) : layout->addRow(QString(), m_previewsShown); layout->addRow(QString(), m_showInGroups); layout->addRow(QString(), m_showHiddenFiles); + layout->addRow(QString(), m_sortHiddenLast); - connect(m_viewMode, QOverload::of(&QComboBox::currentIndexChanged), + connect(m_viewMode, &QComboBox::currentIndexChanged, this, &ViewPropertiesDialog::slotViewModeChanged); - connect(m_sorting, QOverload::of(&QComboBox::currentIndexChanged), + connect(m_sorting, &QComboBox::currentIndexChanged, this, &ViewPropertiesDialog::slotSortingChanged); - connect(m_sortOrder, QOverload::of(&QComboBox::currentIndexChanged), + connect(m_sortOrder, &QComboBox::currentIndexChanged, this, &ViewPropertiesDialog::slotSortOrderChanged); connect(m_sortFoldersFirst, &QCheckBox::clicked, this, &ViewPropertiesDialog::slotSortFoldersFirstChanged); + connect(m_sortHiddenLast, &QCheckBox::clicked, + this, &ViewPropertiesDialog::slotSortHiddenLastChanged); connect(m_previewsShown, &QCheckBox::clicked, this, &ViewPropertiesDialog::slotShowPreviewChanged); connect(m_showInGroups, &QCheckBox::clicked, @@ -282,6 +288,13 @@ void ViewPropertiesDialog::slotSortFoldersFirstChanged() markAsDirty(true); } +void ViewPropertiesDialog::slotSortHiddenLastChanged() +{ + const bool hiddenLast = m_sortHiddenLast->isChecked(); + m_viewProps->setSortHiddenLast(hiddenLast); + markAsDirty(true); +} + void ViewPropertiesDialog::slotShowPreviewChanged() { const bool show = m_previewsShown->isChecked(); @@ -336,7 +349,15 @@ void ViewPropertiesDialog::applyViewProperties() const bool applyToSubFolders = m_applyToSubFolders && m_applyToSubFolders->isChecked(); if (applyToSubFolders) { const QString text(i18nc("@info", "The view properties of all sub-folders will be changed. Do you want to continue?")); - if (KMessageBox::questionYesNo(this, text) == KMessageBox::No) { +#if KWIDGETSADDONS_VERSION >= QT_VERSION_CHECK(5, 100, 0) + if (KMessageBox::questionTwoActions(this, text, {}, + KStandardGuiItem::cont(), + KStandardGuiItem::cancel()) == KMessageBox::SecondaryAction) { +#else + if (KMessageBox::questionYesNo(this, text, {}, + KStandardGuiItem::cont(), + KStandardGuiItem::cancel()) == KMessageBox::No) { +#endif return; } @@ -368,7 +389,15 @@ void ViewPropertiesDialog::applyViewProperties() if (applyToAllFolders) { const QString text(i18nc("@info", "The view properties of all folders will be changed. Do you want to continue?")); - if (KMessageBox::questionYesNo(this, text) == KMessageBox::No) { +#if KWIDGETSADDONS_VERSION >= QT_VERSION_CHECK(5, 100, 0) + if (KMessageBox::questionTwoActions(this, text, {}, + KStandardGuiItem::cont(), + KStandardGuiItem::cancel()) == KMessageBox::SecondaryAction) { +#else + if (KMessageBox::questionYesNo(this, text, {}, + KStandardGuiItem::cont(), + KStandardGuiItem::cancel()) == KMessageBox::No) { +#endif return; } @@ -379,10 +408,11 @@ void ViewPropertiesDialog::applyViewProperties() settings->save(); } - m_dolphinView->setMode(m_viewProps->viewMode()); + m_dolphinView->setViewMode(m_viewProps->viewMode()); m_dolphinView->setSortRole(m_viewProps->sortRole()); m_dolphinView->setSortOrder(m_viewProps->sortOrder()); m_dolphinView->setSortFoldersFirst(m_viewProps->sortFoldersFirst()); + m_dolphinView->setSortHiddenLast(m_viewProps->sortHiddenLast()); m_dolphinView->setGroupedSorting(m_viewProps->groupedSorting()); m_dolphinView->setVisibleRoles(m_viewProps->visibleRoles()); m_dolphinView->setPreviewsShown(m_viewProps->previewsShown()); @@ -418,6 +448,7 @@ void ViewPropertiesDialog::loadSettings() m_sorting->setCurrentIndex(sortRoleIndex); m_sortFoldersFirst->setChecked(m_viewProps->sortFoldersFirst()); + m_sortHiddenLast->setChecked(m_viewProps->sortHiddenLast()); // Load show preview, show in groups and show hidden files settings m_previewsShown->setChecked(m_viewProps->previewsShown());