m_viewMode(0),
m_sortOrder(0),
m_sorting(0),
+ m_sortFoldersFirst(0),
m_showPreview(0),
m_showInGroups(0),
m_showHiddenFiles(0),
// m_sorting->addItem(i18nc("@item:inlistbox Sort", "By Tags"));
// }
#endif
- m_showPreview = new QCheckBox(i18nc("@option:check", "Show preview"), propsBox);
- m_showInGroups = new QCheckBox(i18nc("@option:check", "Show in groups"), propsBox);
- m_showHiddenFiles = new QCheckBox(i18nc("@option:check", "Show hidden files"), propsBox);
+ m_sortFoldersFirst = new QCheckBox(i18nc("@option:check", "Show folders first"));
+ m_showPreview = 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"));
- m_additionalInfo = new QPushButton(i18nc("@action:button", "Additional Information"), propsBox);
+ m_additionalInfo = new QPushButton(i18nc("@action:button", "Additional Information"));
QHBoxLayout* sortingLayout = new QHBoxLayout();
sortingLayout->setMargin(0);
QVBoxLayout* propsBoxLayout = new QVBoxLayout(propsBox);
propsBoxLayout->addWidget(propsGrid);
+ propsBoxLayout->addWidget(m_sortFoldersFirst);
propsBoxLayout->addWidget(m_showPreview);
propsBoxLayout->addWidget(m_showInGroups);
propsBoxLayout->addWidget(m_showHiddenFiles);
this, SLOT(slotSortOrderChanged(int)));
connect(m_additionalInfo, SIGNAL(clicked()),
this, SLOT(configureAdditionalInfo()));
+ connect(m_sortFoldersFirst, SIGNAL(clicked()),
+ this, SLOT(slotSortFoldersFirstChanged()));
connect(m_showPreview, SIGNAL(clicked()),
this, SLOT(slotShowPreviewChanged()));
connect(m_showInGroups, SIGNAL(clicked()),
topLayout->addWidget(applyBox);
topLayout->addWidget(m_useAsDefault);
- connect(m_applyToCurrentFolder, SIGNAL(clicked()),
- this, SLOT(markAsDirty()));
- connect(m_applyToSubFolders, SIGNAL(clicked()),
- this, SLOT(markAsDirty()));
- connect(m_applyToAllFolders, SIGNAL(clicked()),
- this, SLOT(markAsDirty()));
- connect(m_useAsDefault, SIGNAL(clicked()),
- this, SLOT(markAsDirty()));
+ connect(m_applyToCurrentFolder, SIGNAL(clicked(bool)),
+ this, SLOT(markAsDirty(bool)));
+ connect(m_applyToSubFolders, SIGNAL(clicked(bool)),
+ this, SLOT(markAsDirty(bool)));
+ connect(m_applyToAllFolders, SIGNAL(clicked(bool)),
+ this, SLOT(markAsDirty(bool)));
+ connect(m_useAsDefault, SIGNAL(clicked(bool)),
+ this, SLOT(markAsDirty(bool)));
}
main->setLayout(topLayout);
void ViewPropertiesDialog::slotApply()
{
applyViewProperties();
+ markAsDirty(false);
}
void ViewPropertiesDialog::slotViewModeChanged(int index)
{
m_viewProps->setViewMode(static_cast<DolphinView::Mode>(index));
- m_isDirty = true;
+ markAsDirty(true);
const DolphinView::Mode mode = m_viewProps->viewMode();
m_showInGroups->setEnabled(mode == DolphinView::IconsView);
{
const DolphinView::Sorting sorting = DolphinSortFilterProxyModel::sortingForColumn(index);
m_viewProps->setSorting(sorting);
- m_isDirty = true;
+ markAsDirty(true);
}
void ViewPropertiesDialog::slotSortOrderChanged(int index)
{
const Qt::SortOrder sortOrder = (index == 0) ? Qt::AscendingOrder : Qt::DescendingOrder;
m_viewProps->setSortOrder(sortOrder);
- m_isDirty = true;
+ markAsDirty(true);
}
void ViewPropertiesDialog::slotCategorizedSortingChanged()
{
m_viewProps->setCategorizedSorting(m_showInGroups->isChecked());
- m_isDirty = true;
+ markAsDirty(true);
+}
+
+void ViewPropertiesDialog::slotSortFoldersFirstChanged()
+{
+ const bool foldersFirst = m_sortFoldersFirst->isChecked();
+ m_viewProps->setSortFoldersFirst(foldersFirst);
+ markAsDirty(true);
}
void ViewPropertiesDialog::slotShowPreviewChanged()
{
const bool show = m_showPreview->isChecked();
m_viewProps->setShowPreview(show);
- m_isDirty = true;
+ markAsDirty(true);
}
void ViewPropertiesDialog::slotShowHiddenFilesChanged()
{
const bool show = m_showHiddenFiles->isChecked();
m_viewProps->setShowHiddenFiles(show);
- m_isDirty = true;
+ markAsDirty(true);
}
-void ViewPropertiesDialog::markAsDirty()
+void ViewPropertiesDialog::markAsDirty(bool isDirty)
{
- m_isDirty = true;
+ m_isDirty = isDirty;
+ enableButtonApply(isDirty);
}
void ViewPropertiesDialog::configureAdditionalInfo()
AdditionalInfoDialog dialog(this, info);
if (dialog.exec() == QDialog::Accepted) {
m_viewProps->setAdditionalInfo(dialog.additionalInfo());
- m_isDirty = true;
+ markAsDirty(true);
}
}
m_dolphinView->setMode(m_viewProps->viewMode());
m_dolphinView->setSorting(m_viewProps->sorting());
m_dolphinView->setSortOrder(m_viewProps->sortOrder());
+ m_dolphinView->setSortFoldersFirst(m_viewProps->sortFoldersFirst());
m_dolphinView->setCategorizedSorting(m_viewProps->categorizedSorting());
m_dolphinView->setAdditionalInfo(m_viewProps->additionalInfo());
m_dolphinView->setShowPreview(m_viewProps->showPreview());
m_viewProps->save();
- m_isDirty = false;
+ markAsDirty(false);
}
void ViewPropertiesDialog::loadSettings()
(index == DolphinView::IconsView);
m_additionalInfo->setEnabled(enabled);
+ m_sortFoldersFirst->setChecked(m_viewProps->sortFoldersFirst());
// load show preview, show in groups and show hidden files settings
m_showPreview->setChecked(m_viewProps->showPreview());
m_showInGroups->setEnabled(index == DolphinView::IconsView); // only the icons view supports categorized sorting
m_showHiddenFiles->setChecked(m_viewProps->showHiddenFiles());
+ markAsDirty(false);
}
#include "viewpropertiesdialog.moc"