┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings
diff options
context:
space:
mode:
authorEmmanuel Pescosta <[email protected]>2015-02-27 11:30:27 +0100
committerEmmanuel Pescosta <[email protected]>2015-02-27 11:30:27 +0100
commit9aee5d22513f0367febab54b38b3a7dc58d120bb (patch)
tree99cf391070ac5d4650a3f1b309c3ec2e814f1ac6 /src/settings
parentf025aeb63aa2a38e91c43d99ba9955793d3adf1e (diff)
parentb701b7e4edefb628d6f8b14146b2e299bd0ce5fc (diff)
Merge branch 'frameworks'
Diffstat (limited to 'src/settings')
-rw-r--r--src/settings/additionalinfodialog.cpp50
-rw-r--r--src/settings/additionalinfodialog.h9
-rw-r--r--src/settings/applyviewpropsjob.cpp12
-rw-r--r--src/settings/applyviewpropsjob.h9
-rw-r--r--src/settings/dolphin_compactmodesettings.kcfg6
-rw-r--r--src/settings/dolphin_detailsmodesettings.kcfg6
-rw-r--r--src/settings/dolphin_generalsettings.kcfg16
-rw-r--r--src/settings/dolphin_iconsmodesettings.kcfg6
-rw-r--r--src/settings/dolphinsettingsdialog.cpp77
-rw-r--r--src/settings/dolphinsettingsdialog.h10
-rw-r--r--src/settings/general/behaviorsettingspage.cpp33
-rw-r--r--src/settings/general/behaviorsettingspage.h11
-rw-r--r--src/settings/general/configurepreviewplugindialog.cpp85
-rw-r--r--src/settings/general/configurepreviewplugindialog.h21
-rw-r--r--src/settings/general/confirmationssettingspage.cpp32
-rw-r--r--src/settings/general/confirmationssettingspage.h5
-rw-r--r--src/settings/general/generalsettingspage.cpp20
-rw-r--r--src/settings/general/generalsettingspage.h8
-rw-r--r--src/settings/general/previewssettingspage.cpp37
-rw-r--r--src/settings/general/previewssettingspage.h10
-rw-r--r--src/settings/general/statusbarsettingspage.cpp11
-rw-r--r--src/settings/general/statusbarsettingspage.h4
-rw-r--r--src/settings/kcm/kcmdolphingeneral.cpp18
-rw-r--r--src/settings/kcm/kcmdolphingeneral.desktop2
-rw-r--r--src/settings/kcm/kcmdolphingeneral.h4
-rw-r--r--src/settings/kcm/kcmdolphinnavigation.cpp10
-rw-r--r--src/settings/kcm/kcmdolphinnavigation.desktop2
-rw-r--r--src/settings/kcm/kcmdolphinnavigation.h4
-rw-r--r--src/settings/kcm/kcmdolphinservices.cpp10
-rw-r--r--src/settings/kcm/kcmdolphinservices.desktop2
-rw-r--r--src/settings/kcm/kcmdolphinservices.h4
-rw-r--r--src/settings/kcm/kcmdolphinviewmodes.cpp27
-rw-r--r--src/settings/kcm/kcmdolphinviewmodes.desktop2
-rw-r--r--src/settings/kcm/kcmdolphinviewmodes.h4
-rw-r--r--src/settings/navigation/navigationsettingspage.cpp53
-rw-r--r--src/settings/navigation/navigationsettingspage.h7
-rw-r--r--src/settings/serviceitemdelegate.cpp23
-rw-r--r--src/settings/serviceitemdelegate.h8
-rw-r--r--src/settings/servicemodel.cpp1
-rw-r--r--src/settings/servicemodel.h8
-rw-r--r--src/settings/services/servicessettingspage.cpp29
-rw-r--r--src/settings/services/servicessettingspage.h9
-rw-r--r--src/settings/settingspagebase.cpp1
-rw-r--r--src/settings/startup/startupsettingspage.cpp97
-rw-r--r--src/settings/startup/startupsettingspage.h14
-rw-r--r--src/settings/trash/trashsettingspage.cpp16
-rw-r--r--src/settings/trash/trashsettingspage.h4
-rw-r--r--src/settings/viewmodes/dolphinfontrequester.cpp26
-rw-r--r--src/settings/viewmodes/viewmodesettings.cpp14
-rw-r--r--src/settings/viewmodes/viewmodesettings.h2
-rw-r--r--src/settings/viewmodes/viewsettingspage.cpp22
-rw-r--r--src/settings/viewmodes/viewsettingspage.h4
-rw-r--r--src/settings/viewmodes/viewsettingstab.cpp28
-rw-r--r--src/settings/viewpropertiesdialog.cpp146
-rw-r--r--src/settings/viewpropertiesdialog.h13
-rw-r--r--src/settings/viewpropsprogressinfo.cpp83
-rw-r--r--src/settings/viewpropsprogressinfo.h16
57 files changed, 557 insertions, 634 deletions
diff --git a/src/settings/additionalinfodialog.cpp b/src/settings/additionalinfodialog.cpp
index 0de639540..783f5685e 100644
--- a/src/settings/additionalinfodialog.cpp
+++ b/src/settings/additionalinfodialog.cpp
@@ -21,33 +21,39 @@
#include <config-baloo.h>
-#include <KLocale>
+#include <KSharedConfig>
+#include <KLocalizedString>
#include "kitemviews/kfileitemmodel.h"
+#include <KConfigGroup>
+#include <KWindowConfig>
+
#include <QCheckBox>
#include <QLabel>
#include <QVBoxLayout>
+#include <QDialogButtonBox>
+#include <QPushButton>
#ifdef HAVE_BALOO
- #include <baloo/indexerconfig.h>
+ #include <Baloo/IndexerConfig>
#endif
AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent,
const QList<QByteArray>& visibleRoles) :
- KDialog(parent),
+ QDialog(parent),
m_visibleRoles(visibleRoles),
m_listWidget(0)
{
- setCaption(i18nc("@title:window", "Additional Information"));
- setButtons(Ok | Cancel);
- setDefaultButton(Ok);
+ setWindowTitle(i18nc("@title:window", "Additional Information"));
+ setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
- QWidget* mainWidget = new QWidget(this);
- mainWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
+ auto layout = new QVBoxLayout(this);
+ setLayout(layout);
// Add header
- QLabel* header = new QLabel(mainWidget);
+ auto header = new QLabel(this);
header->setText(i18nc("@label", "Select which additional information should be shown:"));
header->setWordWrap(true);
+ layout->addWidget(header);
// Add checkboxes
bool indexingEnabled = false;
@@ -56,7 +62,7 @@ AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent,
indexingEnabled = config.fileIndexingEnabled();
#endif
- m_listWidget = new QListWidget(mainWidget);
+ m_listWidget = new QListWidget(this);
m_listWidget->setSelectionMode(QAbstractItemView::NoSelection);
const QList<KFileItemModel::RoleInfo> rolesInfo = KFileItemModel::rolesInformation();
foreach (const KFileItemModel::RoleInfo& info, rolesInfo) {
@@ -71,23 +77,25 @@ AdditionalInfoDialog::AdditionalInfoDialog(QWidget* parent,
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
}
}
-
- QVBoxLayout* layout = new QVBoxLayout(mainWidget);
- layout->addWidget(header);
layout->addWidget(m_listWidget);
- setMainWidget(mainWidget);
+ auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
+ connect(buttonBox, &QDialogButtonBox::accepted, this, &AdditionalInfoDialog::accept);
+ connect(buttonBox, &QDialogButtonBox::rejected, this, &AdditionalInfoDialog::reject);
+ layout->addWidget(buttonBox);
- const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "AdditionalInfoDialog");
- restoreDialogSize(dialogConfig);
+ auto okButton = buttonBox->button(QDialogButtonBox::Ok);
+ okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
+ okButton->setDefault(true);
- connect(this, SIGNAL(okClicked()), this, SLOT(slotOk()));
+ const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "AdditionalInfoDialog");
+ KWindowConfig::restoreWindowSize(windowHandle(), dialogConfig);
}
AdditionalInfoDialog::~AdditionalInfoDialog()
{
KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "AdditionalInfoDialog");
- saveDialogSize(dialogConfig, KConfigBase::Persistent);
+ KWindowConfig::saveWindowSize(windowHandle(), dialogConfig);
}
QList<QByteArray> AdditionalInfoDialog::visibleRoles() const
@@ -95,7 +103,7 @@ QList<QByteArray> AdditionalInfoDialog::visibleRoles() const
return m_visibleRoles;
}
-void AdditionalInfoDialog::slotOk()
+void AdditionalInfoDialog::accept()
{
m_visibleRoles.clear();
@@ -108,6 +116,6 @@ void AdditionalInfoDialog::slotOk()
}
++index;
}
-}
-#include "additionalinfodialog.moc"
+ QDialog::accept();
+}
diff --git a/src/settings/additionalinfodialog.h b/src/settings/additionalinfodialog.h
index dd51768e5..fd72a7ce1 100644
--- a/src/settings/additionalinfodialog.h
+++ b/src/settings/additionalinfodialog.h
@@ -20,16 +20,15 @@
#ifndef ADDITIONALINFODIALOG_H
#define ADDITIONALINFODIALOG_H
-#include <KDialog>
+#include <QDialog>
#include <QList>
#include <QListWidget>
-class QCheckBox;
/**
* @brief Dialog for changing the additional information shown in the view.
*/
-class AdditionalInfoDialog : public KDialog
+class AdditionalInfoDialog : public QDialog
{
Q_OBJECT
@@ -38,8 +37,8 @@ public:
virtual ~AdditionalInfoDialog();
QList<QByteArray> visibleRoles() const;
-private slots:
- void slotOk();
+public slots:
+ void accept() Q_DECL_OVERRIDE;
private:
QList<QByteArray> m_visibleRoles;
diff --git a/src/settings/applyviewpropsjob.cpp b/src/settings/applyviewpropsjob.cpp
index 4bc77caee..591966759 100644
--- a/src/settings/applyviewpropsjob.cpp
+++ b/src/settings/applyviewpropsjob.cpp
@@ -23,7 +23,7 @@
#include "applyviewpropsjob.h"
#include <views/viewproperties.h>
-ApplyViewPropsJob::ApplyViewPropsJob(const KUrl& dir,
+ApplyViewPropsJob::ApplyViewPropsJob(const QUrl& dir,
const ViewProperties& viewProps) :
KIO::Job(),
m_viewProps(0),
@@ -38,8 +38,8 @@ ApplyViewPropsJob::ApplyViewPropsJob(const KUrl& dir,
m_viewProps->setSortOrder(viewProps.sortOrder());
KIO::ListJob* listJob = KIO::listRecursive(dir, KIO::HideProgressInfo);
- connect(listJob, SIGNAL(entries(KIO::Job*,KIO::UDSEntryList)),
- SLOT(slotEntries(KIO::Job*,KIO::UDSEntryList)));
+ connect(listJob, &KIO::ListJob::entries,
+ this, &ApplyViewPropsJob::slotEntries);
addSubjob(listJob);
}
@@ -56,8 +56,9 @@ void ApplyViewPropsJob::slotEntries(KIO::Job*, const KIO::UDSEntryList& list)
if (name != QLatin1String(".") && name != QLatin1String("..") && entry.isDir()) {
++m_progress;
- KUrl url(m_dir);
- url.addPath(name);
+ QUrl url(m_dir);
+ url = url.adjusted(QUrl::StripTrailingSlash);
+ url.setPath(url.path() + '/' + name);
Q_ASSERT(m_viewProps);
@@ -76,4 +77,3 @@ void ApplyViewPropsJob::slotResult(KJob* job)
emitResult();
}
-#include "applyviewpropsjob.moc"
diff --git a/src/settings/applyviewpropsjob.h b/src/settings/applyviewpropsjob.h
index 68fdcc46b..ea9688718 100644
--- a/src/settings/applyviewpropsjob.h
+++ b/src/settings/applyviewpropsjob.h
@@ -24,8 +24,7 @@
#define APPLYVIEWPROPSJOB_H
#include <KIO/Job>
-#include <KFileItem>
-#include <KUrl>
+#include <QUrl>
class ViewProperties;
@@ -60,19 +59,19 @@ public:
* @param viewProps View properties for the directory \a dir including its
* sub directories.
*/
- ApplyViewPropsJob(const KUrl& dir, const ViewProperties& viewProps);
+ ApplyViewPropsJob(const QUrl& dir, const ViewProperties& viewProps);
virtual ~ApplyViewPropsJob();
int progress() const;
private slots:
- virtual void slotResult(KJob* job);
+ virtual void slotResult(KJob* job) Q_DECL_OVERRIDE;
void slotEntries(KIO::Job*, const KIO::UDSEntryList&);
private:
ViewProperties* m_viewProps;
int m_currentItem;
int m_progress;
- KUrl m_dir;
+ QUrl m_dir;
};
inline int ApplyViewPropsJob::progress() const
diff --git a/src/settings/dolphin_compactmodesettings.kcfg b/src/settings/dolphin_compactmodesettings.kcfg
index b9000c8e2..93f9947ab 100644
--- a/src/settings/dolphin_compactmodesettings.kcfg
+++ b/src/settings/dolphin_compactmodesettings.kcfg
@@ -4,7 +4,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
- <include>kglobalsettings.h</include>
+ <include>QFontDatabase</include>
<include>kiconloader.h</include>
<kcfgfile name="dolphinrc"/>
<group name="CompactMode">
@@ -14,11 +14,11 @@
</entry>
<entry name="FontFamily" type="String">
<label>Font family</label>
- <default code="true">KGlobalSettings::generalFont().family()</default>
+ <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).family()</default>
</entry>
<entry name="FontSize" type="Double">
<label>Font size</label>
- <default code="true">KGlobalSettings::generalFont().pointSizeF()</default>
+ <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).pointSizeF()</default>
</entry>
<entry name="ItalicFont" type="Bool">
<label>Italic</label>
diff --git a/src/settings/dolphin_detailsmodesettings.kcfg b/src/settings/dolphin_detailsmodesettings.kcfg
index 64e99898a..e9a8fb28d 100644
--- a/src/settings/dolphin_detailsmodesettings.kcfg
+++ b/src/settings/dolphin_detailsmodesettings.kcfg
@@ -5,12 +5,12 @@
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<include>kiconloader.h</include>
- <include>kglobalsettings.h</include>
+ <include>QFontDatabase</include>
<kcfgfile name="dolphinrc"/>
<group name="DetailsMode">
<entry name="FontFamily" type="String">
<label>Font family</label>
- <default code="true">KGlobalSettings::generalFont().family()</default>
+ <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).family()</default>
</entry>
<entry name="UseSystemFont" type="Bool">
<label>Use system font</label>
@@ -18,7 +18,7 @@
</entry>
<entry name="FontSize" type="Double">
<label>Font size</label>
- <default code="true">KGlobalSettings::generalFont().pointSizeF()</default>
+ <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).pointSizeF()</default>
</entry>
<entry name="ItalicFont" type="Bool">
<label>Italic</label>
diff --git a/src/settings/dolphin_generalsettings.kcfg b/src/settings/dolphin_generalsettings.kcfg
index 849a9c75c..9ff14d1f7 100644
--- a/src/settings/dolphin_generalsettings.kcfg
+++ b/src/settings/dolphin_generalsettings.kcfg
@@ -5,9 +5,10 @@
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<include>QDir</include>
- <include>KUrl</include>
- <include>kglobalsettings.h</include>
+ <include>QUrl</include>
+ <include>KCompletion</include>
<kcfgfile name="dolphinrc"/>
+ <signal name="naturalSortingChanged" />
<group name="General">
<entry name="EditableUrl" type="Bool">
<label>Should the URL be editable for the user</label>
@@ -15,7 +16,7 @@
</entry>
<entry name="UrlCompletionMode" type="Enum">
<label>Text completion mode of the URL Navigator</label>
- <default code="true">KGlobalSettings::completionMode()</default>
+ <default>KCompletion::CompletionPopup</default>
</entry>
<entry name="ShowFullPath" type="Bool">
<label>Should the full path be shown inside the location bar</label>
@@ -31,7 +32,7 @@
</entry>
<entry name="HomeUrl" type="String">
<label>Home URL</label>
- <default code="true">KUrl(QDir::homePath()).prettyUrl()</default>
+ <default code="true">QUrl::fromLocalFile(QDir::homePath()).toDisplayString(QUrl::PreferLocalFile)</default>
</entry>
<entry name="SplitView" type="Bool">
<label>Split the view into two panes</label>
@@ -82,7 +83,7 @@
</entry>
<entry name="ShowSpaceInfo" type="Bool">
<label>Show the space information in the statusbar</label>
- <default>false</default>
+ <default>true</default>
</entry>
<entry name="LockPanels" type="Bool">
<label>Lock the layout of the panels</label>
@@ -92,5 +93,10 @@
<label>Enlarge Small Previews</label>
<default>true</default>
</entry>
+ <entry name="NaturalSorting" type="Bool">
+ <label>Natural sorting of items</label>
+ <default>true</default>
+ <emit signal="naturalSortingChanged" />
+ </entry>
</group>
</kcfg>
diff --git a/src/settings/dolphin_iconsmodesettings.kcfg b/src/settings/dolphin_iconsmodesettings.kcfg
index 52cd9a28c..9b286d139 100644
--- a/src/settings/dolphin_iconsmodesettings.kcfg
+++ b/src/settings/dolphin_iconsmodesettings.kcfg
@@ -4,7 +4,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
- <include>kglobalsettings.h</include>
+ <include>QFontDatabase</include>
<include>kiconloader.h</include>
<kcfgfile name="dolphinrc"/>
<group name="IconsMode">
@@ -14,11 +14,11 @@
</entry>
<entry name="FontFamily" type="String">
<label>Font family</label>
- <default code="true">KGlobalSettings::generalFont().family()</default>
+ <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).family()</default>
</entry>
<entry name="FontSize" type="Double">
<label>Font size</label>
- <default code="true">KGlobalSettings::generalFont().pointSizeF()</default>
+ <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).pointSizeF()</default>
</entry>
<entry name="ItalicFont" type="Bool">
<label>Italic</label>
diff --git a/src/settings/dolphinsettingsdialog.cpp b/src/settings/dolphinsettingsdialog.cpp
index 609e2ab92..820fc0e68 100644
--- a/src/settings/dolphinsettingsdialog.cpp
+++ b/src/settings/dolphinsettingsdialog.cpp
@@ -20,7 +20,6 @@
#include "dolphinsettingsdialog.h"
-#include <dolphinapplication.h>
#include <dolphinmainwindow.h>
#include "dolphin_generalsettings.h"
#include "general/generalsettingspage.h"
@@ -30,11 +29,14 @@
#include "viewmodes/viewsettingspage.h"
#include "trash/trashsettingspage.h"
-#include <KLocale>
-#include <KMessageBox>
-#include <KIcon>
+#include <KWindowConfig>
+#include <KLocalizedString>
+#include <QIcon>
-DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) :
+#include <QPushButton>
+#include <QDialogButtonBox>
+
+DolphinSettingsDialog::DolphinSettingsDialog(const QUrl& url, QWidget* parent) :
KPageDialog(parent),
m_pages()
@@ -43,55 +45,58 @@ DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) :
setMinimumSize(QSize(512, minSize.height()));
setFaceType(List);
- setCaption(i18nc("@title:window", "Dolphin Preferences"));
- setButtons(Ok | Apply | Cancel | Default);
- enableButtonApply(false);
- setDefaultButton(Ok);
+ setWindowTitle(i18nc("@title:window", "Dolphin Preferences"));
+ QDialogButtonBox* box = new QDialogButtonBox(QDialogButtonBox::Ok
+ | QDialogButtonBox::Apply | QDialogButtonBox::Cancel | QDialogButtonBox::RestoreDefaults);
+ box->button(QDialogButtonBox::Apply)->setEnabled(false);
+ box->button(QDialogButtonBox::Ok)->setDefault(true);
+ setButtonBox(box);
+
+ connect(box->button(QDialogButtonBox::Ok), &QAbstractButton::clicked, this, &DolphinSettingsDialog::applySettings);
+ connect(box->button(QDialogButtonBox::Apply), &QAbstractButton::clicked, this, &DolphinSettingsDialog::applySettings);
+ connect(box->button(QDialogButtonBox::RestoreDefaults), &QAbstractButton::clicked, this, &DolphinSettingsDialog::restoreDefaults);
// Startup
StartupSettingsPage* startupSettingsPage = new StartupSettingsPage(url, this);
KPageWidgetItem* startupSettingsFrame = addPage(startupSettingsPage,
i18nc("@title:group", "Startup"));
- startupSettingsFrame->setIcon(KIcon("go-home"));
- connect(startupSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
+ startupSettingsFrame->setIcon(QIcon::fromTheme("go-home"));
+ connect(startupSettingsPage, &StartupSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
// View Modes
ViewSettingsPage* viewSettingsPage = new ViewSettingsPage(this);
KPageWidgetItem* viewSettingsFrame = addPage(viewSettingsPage,
i18nc("@title:group", "View Modes"));
- viewSettingsFrame->setIcon(KIcon("view-choose"));
- connect(viewSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
+ viewSettingsFrame->setIcon(QIcon::fromTheme("view-choose"));
+ connect(viewSettingsPage, &ViewSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
// Navigation
NavigationSettingsPage* navigationSettingsPage = new NavigationSettingsPage(this);
KPageWidgetItem* navigationSettingsFrame = addPage(navigationSettingsPage,
i18nc("@title:group", "Navigation"));
- navigationSettingsFrame->setIcon(KIcon("input-mouse"));
- connect(navigationSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
+ navigationSettingsFrame->setIcon(QIcon::fromTheme("input-mouse"));
+ connect(navigationSettingsPage, &NavigationSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
// Services
ServicesSettingsPage* servicesSettingsPage = new ServicesSettingsPage(this);
KPageWidgetItem* servicesSettingsFrame = addPage(servicesSettingsPage,
i18nc("@title:group", "Services"));
- servicesSettingsFrame->setIcon(KIcon("services"));
- connect(servicesSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
+ servicesSettingsFrame->setIcon(QIcon::fromTheme("services"));
+ connect(servicesSettingsPage, &ServicesSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
// Trash
TrashSettingsPage* trashSettingsPage = new TrashSettingsPage(this);
KPageWidgetItem* trashSettingsFrame = addPage(trashSettingsPage,
i18nc("@title:group", "Trash"));
- trashSettingsFrame->setIcon(KIcon("user-trash"));
- connect(trashSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
+ trashSettingsFrame->setIcon(QIcon::fromTheme("user-trash"));
+ connect(trashSettingsPage, &TrashSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
// General
GeneralSettingsPage* generalSettingsPage = new GeneralSettingsPage(url, this);
KPageWidgetItem* generalSettingsFrame = addPage(generalSettingsPage,
i18nc("@title:group General settings", "General"));
- generalSettingsFrame->setIcon(KIcon("system-run"));
- connect(generalSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
-
- const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "SettingsDialog");
- restoreDialogSize(dialogConfig);
+ generalSettingsFrame->setIcon(QIcon::fromTheme("system-run"));
+ connect(generalSettingsPage, &GeneralSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
m_pages.append(startupSettingsPage);
m_pages.append(viewSettingsPage);
@@ -99,28 +104,20 @@ DolphinSettingsDialog::DolphinSettingsDialog(const KUrl& url, QWidget* parent) :
m_pages.append(servicesSettingsPage);
m_pages.append(trashSettingsPage);
m_pages.append(generalSettingsPage);
+
+ const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "SettingsDialog");
+ KWindowConfig::restoreWindowSize(windowHandle(), dialogConfig);
}
DolphinSettingsDialog::~DolphinSettingsDialog()
{
KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "SettingsDialog");
- saveDialogSize(dialogConfig);
-}
-
-void DolphinSettingsDialog::slotButtonClicked(int button)
-{
- if ((button == Ok) || (button == Apply)) {
- applySettings();
- } else if (button == Default) {
- restoreDefaults();
- }
-
- KPageDialog::slotButtonClicked(button);
+ KWindowConfig::saveWindowSize(windowHandle(), dialogConfig);
}
void DolphinSettingsDialog::enableApply()
{
- enableButtonApply(true);
+ buttonBox()->button(QDialogButtonBox::Apply)->setEnabled(true);
}
void DolphinSettingsDialog::applySettings()
@@ -136,10 +133,9 @@ void DolphinSettingsDialog::applySettings()
// Reset the modified startup settings hint. The changed startup settings
// have been applied already due to emitting settingsChanged().
settings->setModifiedStartupSettings(false);
- settings->writeConfig();
+ settings->save();
}
-
- enableButtonApply(false);
+ buttonBox()->button(QDialogButtonBox::Apply)->setEnabled(false);
}
void DolphinSettingsDialog::restoreDefaults()
@@ -149,4 +145,3 @@ void DolphinSettingsDialog::restoreDefaults()
}
}
-#include "dolphinsettingsdialog.moc"
diff --git a/src/settings/dolphinsettingsdialog.h b/src/settings/dolphinsettingsdialog.h
index 2de195017..93f714799 100644
--- a/src/settings/dolphinsettingsdialog.h
+++ b/src/settings/dolphinsettingsdialog.h
@@ -23,7 +23,7 @@
#include <kpagedialog.h>
-class KUrl;
+class QUrl;
class SettingsPageBase;
/**
@@ -36,21 +36,15 @@ class DolphinSettingsDialog : public KPageDialog
Q_OBJECT
public:
- explicit DolphinSettingsDialog(const KUrl& url, QWidget* parent = 0);
+ explicit DolphinSettingsDialog(const QUrl& url, QWidget* parent = 0);
virtual ~DolphinSettingsDialog();
signals:
void settingsChanged();
-protected slots:
- /** @see KDialog::slotButtonClicked() */
- virtual void slotButtonClicked(int button);
-
private slots:
/** Enables the Apply button. */
void enableApply();
-
-private:
void applySettings();
void restoreDefaults();
diff --git a/src/settings/general/behaviorsettingspage.cpp b/src/settings/general/behaviorsettingspage.cpp
index cbbde1d7c..093a1f4e1 100644
--- a/src/settings/general/behaviorsettingspage.cpp
+++ b/src/settings/general/behaviorsettingspage.cpp
@@ -22,20 +22,16 @@
#include "dolphin_generalsettings.h"
-#include <KComboBox>
-#include <KDialog>
-#include <KLocale>
+#include <KLocalizedString>
#include <QCheckBox>
#include <QGroupBox>
-#include <QHBoxLayout>
-#include <QLabel>
#include <QRadioButton>
#include <QVBoxLayout>
#include <views/viewproperties.h>
-BehaviorSettingsPage::BehaviorSettingsPage(const KUrl& url, QWidget* parent) :
+BehaviorSettingsPage::BehaviorSettingsPage(const QUrl& url, QWidget* parent) :
SettingsPageBase(parent),
m_url(url),
m_localViewProps(0),
@@ -79,12 +75,12 @@ BehaviorSettingsPage::BehaviorSettingsPage(const KUrl& url, QWidget* parent) :
loadSettings();
- connect(m_localViewProps, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_globalViewProps, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_showToolTips, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_showSelectionToggle, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_naturalSorting, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_renameInline, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
+ connect(m_localViewProps, &QRadioButton::toggled, this, &BehaviorSettingsPage::changed);
+ connect(m_globalViewProps, &QRadioButton::toggled, this, &BehaviorSettingsPage::changed);
+ connect(m_showToolTips, &QCheckBox::toggled, this, &BehaviorSettingsPage::changed);
+ connect(m_showSelectionToggle, &QCheckBox::toggled, this, &BehaviorSettingsPage::changed);
+ connect(m_naturalSorting, &QCheckBox::toggled, this, &BehaviorSettingsPage::changed);
+ connect(m_renameInline, &QCheckBox::toggled, this, &BehaviorSettingsPage::changed);
}
BehaviorSettingsPage::~BehaviorSettingsPage()
@@ -101,8 +97,9 @@ void BehaviorSettingsPage::applySettings()
settings->setShowToolTips(m_showToolTips->isChecked());
settings->setShowSelectionToggle(m_showSelectionToggle->isChecked());
+ settings->setNaturalSorting(m_naturalSorting->isChecked());
settings->setRenameInline(m_renameInline->isChecked());
- settings->writeConfig();
+ settings->save();
if (useGlobalViewProps) {
// Remember the global view properties by applying the current view properties.
@@ -112,13 +109,6 @@ void BehaviorSettingsPage::applySettings()
ViewProperties globalProps(m_url);
globalProps.setDirProperties(props);
}
-
- const bool naturalSorting = m_naturalSorting->isChecked();
- if (KGlobalSettings::naturalSorting() != naturalSorting) {
- KConfigGroup group(KGlobal::config(), "KDE");
- group.writeEntry("NaturalSorting", naturalSorting, KConfig::Persistent | KConfig::Global);
- KGlobalSettings::emitChange(KGlobalSettings::NaturalSortingChanged);
- }
}
void BehaviorSettingsPage::restoreDefaults()
@@ -137,8 +127,7 @@ void BehaviorSettingsPage::loadSettings()
m_showToolTips->setChecked(GeneralSettings::showToolTips());
m_showSelectionToggle->setChecked(GeneralSettings::showSelectionToggle());
- m_naturalSorting->setChecked(KGlobalSettings::naturalSorting());
+ m_naturalSorting->setChecked(GeneralSettings::naturalSorting());
m_renameInline->setChecked(GeneralSettings::renameInline());
}
-#include "behaviorsettingspage.moc"
diff --git a/src/settings/general/behaviorsettingspage.h b/src/settings/general/behaviorsettingspage.h
index 7a9c2f027..6e491696c 100644
--- a/src/settings/general/behaviorsettingspage.h
+++ b/src/settings/general/behaviorsettingspage.h
@@ -21,9 +21,8 @@
#define BEHAVIORSETTINGSPAGE_H
#include <settings/settingspagebase.h>
-#include <KUrl>
+#include <QUrl>
-class KComboBox;
class QCheckBox;
class QLabel;
class QRadioButton;
@@ -36,20 +35,20 @@ class BehaviorSettingsPage : public SettingsPageBase
Q_OBJECT
public:
- BehaviorSettingsPage(const KUrl& url, QWidget* parent);
+ BehaviorSettingsPage(const QUrl &url, QWidget* parent);
virtual ~BehaviorSettingsPage();
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
private:
void loadSettings();
private:
- KUrl m_url;
+ QUrl m_url;
QRadioButton* m_localViewProps;
QRadioButton* m_globalViewProps;
diff --git a/src/settings/general/configurepreviewplugindialog.cpp b/src/settings/general/configurepreviewplugindialog.cpp
index 3ca08dfd0..15cd92667 100644
--- a/src/settings/general/configurepreviewplugindialog.cpp
+++ b/src/settings/general/configurepreviewplugindialog.cpp
@@ -19,63 +19,66 @@
#include "configurepreviewplugindialog.h"
-#include <KLibrary>
-#include <KLocale>
-#include <KIO/NetAccess>
-#include <kio/thumbcreator.h>
+#include <KPluginLoader>
+#include <KLocalizedString>
+#include <KJobWidgets>
+#include <KIO/JobUiDelegate>
+#include <KIO/DeleteJob>
+#include <KIO/ThumbCreator>
-#include <QApplication>
-#include <QDir>
+#include <QUrl>
+#include <QLibrary>
#include <QVBoxLayout>
+#include <QStandardPaths>
+#include <QDialogButtonBox>
+#include <QPushButton>
ConfigurePreviewPluginDialog::ConfigurePreviewPluginDialog(const QString& pluginName,
const QString& desktopEntryName,
QWidget* parent) :
- KDialog(parent),
- m_configurationWidget(0),
- m_previewPlugin(0)
+ QDialog(parent)
{
- KLibrary library(desktopEntryName);
- if (library.load()) {
- newCreator create = (newCreator)library.resolveFunction("new_creator");
+ QSharedPointer<ThumbCreator> previewPlugin;
+ const QString pluginPath = KPluginLoader::findPlugin(desktopEntryName);
+ if (!pluginPath.isEmpty()) {
+ newCreator create = (newCreator)QLibrary::resolve(pluginPath, "new_creator");
if (create) {
- m_previewPlugin = dynamic_cast<ThumbCreatorV2*>(create());
+ previewPlugin.reset(dynamic_cast<ThumbCreator*>(create()));
}
}
- setCaption(i18nc("@title:window", "Configure Preview for %1", pluginName));
+ setWindowTitle(i18nc("@title:window", "Configure Preview for %1", pluginName));
+ setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
setMinimumWidth(400);
- setButtons(Ok | Cancel);
- setDefaultButton(Ok);
- QWidget* mainWidget = new QWidget(this);
- mainWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
- QVBoxLayout* layout = new QVBoxLayout(mainWidget);
- if (m_previewPlugin) {
- m_configurationWidget = m_previewPlugin->createConfigurationWidget();
- layout->addWidget(m_configurationWidget);
- }
- layout->addStretch(1);
+ auto layout = new QVBoxLayout(this);
+ setLayout(layout);
- setMainWidget(mainWidget);
+ if (previewPlugin) {
+ auto configurationWidget = previewPlugin->createConfigurationWidget();
+ configurationWidget->setParent(this);
+ layout->addWidget(configurationWidget);
- connect(this, SIGNAL(okClicked()), this, SLOT(slotOk()));
-}
+ layout->addStretch();
-ConfigurePreviewPluginDialog::~ConfigurePreviewPluginDialog()
-{
-}
+ connect(this, &ConfigurePreviewPluginDialog::accepted, this, [=] {
+ // TODO: It would be great having a mechanism to tell PreviewJob that only previews
+ // for a specific MIME-type should be regenerated. As this is not available yet we
+ // delete the whole thumbnails directory.
+ previewPlugin->writeConfiguration(configurationWidget);
-void ConfigurePreviewPluginDialog::slotOk()
-{
- m_previewPlugin->writeConfiguration(m_configurationWidget);
- // TODO: It would be great having a mechanism to tell PreviewJob that only previews
- // for a specific MIME-type should be regenerated. As this is not available yet we
- // delete the whole thumbnails directory.
- QApplication::changeOverrideCursor(Qt::BusyCursor);
- KIO::NetAccess::del(QString(QDir::homePath() + "/.thumbnails/"), this);
- QApplication::restoreOverrideCursor();
+ // http://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html#DIRECTORY
+ const QString thumbnailsPath = QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation) + QLatin1String("/thumbnails/");
+ KIO::del(QUrl::fromLocalFile(thumbnailsPath), KIO::HideProgressInfo);
+ });
+ }
-}
+ auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
+ connect(buttonBox, &QDialogButtonBox::accepted, this, &ConfigurePreviewPluginDialog::accept);
+ connect(buttonBox, &QDialogButtonBox::rejected, this, &ConfigurePreviewPluginDialog::reject);
+ layout->addWidget(buttonBox);
-#include "configurepreviewplugindialog.moc"
+ auto okButton = buttonBox->button(QDialogButtonBox::Ok);
+ okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
+ okButton->setDefault(true);
+} \ No newline at end of file
diff --git a/src/settings/general/configurepreviewplugindialog.h b/src/settings/general/configurepreviewplugindialog.h
index 5a3f5354a..620caeb51 100644
--- a/src/settings/general/configurepreviewplugindialog.h
+++ b/src/settings/general/configurepreviewplugindialog.h
@@ -20,14 +20,12 @@
#ifndef CONFIGUREPREVIEWPLUGINDIALOG_H
#define CONFIGUREPREVIEWPLUGINDIALOG_H
-#include <KDialog>
-
-class ThumbCreatorV2;
+#include <QDialog>
/**
* @brief Dialog for configuring preview-plugins.
*/
-class ConfigurePreviewPluginDialog : public KDialog
+class ConfigurePreviewPluginDialog : public QDialog
{
Q_OBJECT
@@ -39,17 +37,10 @@ public:
* widget.
* @param parent Parent widget.
*/
- explicit ConfigurePreviewPluginDialog(const QString& pluginName,
- const QString& desktopEntryName,
- QWidget* parent = 0);
- virtual ~ConfigurePreviewPluginDialog();
-
-private slots:
- void slotOk();
-
-private:
- QWidget* m_configurationWidget;
- ThumbCreatorV2* m_previewPlugin;
+ ConfigurePreviewPluginDialog(const QString& pluginName,
+ const QString& desktopEntryName,
+ QWidget* parent);
+ virtual ~ConfigurePreviewPluginDialog() = default;
};
#endif
diff --git a/src/settings/general/confirmationssettingspage.cpp b/src/settings/general/confirmationssettingspage.cpp
index ab23a1908..264024abd 100644
--- a/src/settings/general/confirmationssettingspage.cpp
+++ b/src/settings/general/confirmationssettingspage.cpp
@@ -21,8 +21,7 @@
#include <dolphin_generalsettings.h>
-#include <KDialog>
-#include <KLocale>
+#include <KLocalizedString>
#include <QCheckBox>
#include <QLabel>
@@ -31,6 +30,7 @@
namespace {
const bool ConfirmTrash = false;
const bool ConfirmDelete = true;
+ const bool ConfirmScriptExecution = true;
}
ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
@@ -48,6 +48,8 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
"Moving files or folders to trash"), this);
m_confirmDelete = new QCheckBox(i18nc("@option:check Ask for confirmation when",
"Deleting files or folders"), this);
+ m_confirmScriptExecution = new QCheckBox(i18nc("@option:check Ask for confirmation when",
+ "Executing scripts or desktop files"), this);
QLabel* confirmLabelDolphin = new QLabel(i18nc("@title:group", "Ask for confirmation when:"), this);
confirmLabelDolphin->setWordWrap(true);
@@ -55,22 +57,20 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
m_confirmClosingMultipleTabs = new QCheckBox(i18nc("@option:check Ask for confirmation when",
"Closing Dolphin windows with multiple tabs"), this);
- topLayout->addSpacing(KDialog::spacingHint());
topLayout->addWidget(confirmLabelKde);
- topLayout->addSpacing(KDialog::spacingHint());
topLayout->addWidget(m_confirmMoveToTrash);
topLayout->addWidget(m_confirmDelete);
- topLayout->addSpacing(KDialog::spacingHint());
+ topLayout->addWidget(m_confirmScriptExecution);
topLayout->addWidget(confirmLabelDolphin);
- topLayout->addSpacing(KDialog::spacingHint());
topLayout->addWidget(m_confirmClosingMultipleTabs);
topLayout->addStretch();
loadSettings();
- connect(m_confirmMoveToTrash, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_confirmDelete, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_confirmClosingMultipleTabs, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
+ connect(m_confirmMoveToTrash, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
+ connect(m_confirmDelete, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
+ connect(m_confirmScriptExecution, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
+ connect(m_confirmClosingMultipleTabs, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
}
ConfirmationsSettingsPage::~ConfirmationsSettingsPage()
@@ -85,9 +85,15 @@ void ConfirmationsSettingsPage::applySettings()
confirmationGroup.writeEntry("ConfirmDelete", m_confirmDelete->isChecked());
confirmationGroup.sync();
+ if (m_confirmScriptExecution->isChecked()) {
+ KConfigGroup scriptExecutionGroup(kioConfig, "Executable scripts");
+ scriptExecutionGroup.writeEntry("behaviourOnLaunch", "alwaysAsk");
+ scriptExecutionGroup.sync();
+ }
+
GeneralSettings* settings = GeneralSettings::self();
settings->setConfirmClosingMultipleTabs(m_confirmClosingMultipleTabs->isChecked());
- settings->writeConfig();
+ settings->save();
}
void ConfirmationsSettingsPage::restoreDefaults()
@@ -99,6 +105,7 @@ void ConfirmationsSettingsPage::restoreDefaults()
m_confirmMoveToTrash->setChecked(ConfirmTrash);
m_confirmDelete->setChecked(ConfirmDelete);
+ m_confirmScriptExecution->setChecked(ConfirmScriptExecution);
}
void ConfirmationsSettingsPage::loadSettings()
@@ -108,7 +115,10 @@ void ConfirmationsSettingsPage::loadSettings()
m_confirmMoveToTrash->setChecked(confirmationGroup.readEntry("ConfirmTrash", ConfirmTrash));
m_confirmDelete->setChecked(confirmationGroup.readEntry("ConfirmDelete", ConfirmDelete));
+ const KConfigGroup scriptExecutionGroup(KSharedConfig::openConfig("kiorc"), "Executable scripts");
+ const QString value = scriptExecutionGroup.readEntry("behaviourOnLaunch", "alwaysAsk");
+ m_confirmScriptExecution->setChecked(value == "alwaysAsk");
+
m_confirmClosingMultipleTabs->setChecked(GeneralSettings::confirmClosingMultipleTabs());
}
-#include "confirmationssettingspage.moc"
diff --git a/src/settings/general/confirmationssettingspage.h b/src/settings/general/confirmationssettingspage.h
index 45f0be1fc..e702fe8ae 100644
--- a/src/settings/general/confirmationssettingspage.h
+++ b/src/settings/general/confirmationssettingspage.h
@@ -35,10 +35,10 @@ public:
virtual ~ConfirmationsSettingsPage();
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
private:
void loadSettings();
@@ -47,6 +47,7 @@ private:
QCheckBox* m_confirmMoveToTrash;
QCheckBox* m_confirmDelete;
QCheckBox* m_confirmClosingMultipleTabs;
+ QCheckBox* m_confirmScriptExecution;
};
#endif
diff --git a/src/settings/general/generalsettingspage.cpp b/src/settings/general/generalsettingspage.cpp
index 18e152880..d8f61ef90 100644
--- a/src/settings/general/generalsettingspage.cpp
+++ b/src/settings/general/generalsettingspage.cpp
@@ -26,42 +26,39 @@
#include <settings/settingspagebase.h>
#include "statusbarsettingspage.h"
-#include <KDialog>
-#include <KLocale>
-#include <KIconLoader>
-#include <KTabWidget>
+#include <KLocalizedString>
+#include <QTabWidget>
#include <QVBoxLayout>
-GeneralSettingsPage::GeneralSettingsPage(const KUrl& url, QWidget* parent) :
+GeneralSettingsPage::GeneralSettingsPage(const QUrl& url, QWidget* parent) :
SettingsPageBase(parent),
m_pages()
{
QVBoxLayout* topLayout = new QVBoxLayout(this);
topLayout->setMargin(0);
- topLayout->setSpacing(KDialog::spacingHint());
- KTabWidget* tabWidget = new KTabWidget(this);
+ QTabWidget* tabWidget = new QTabWidget(this);
// initialize 'Behavior' tab
BehaviorSettingsPage* behaviorPage = new BehaviorSettingsPage(url, tabWidget);
tabWidget->addTab(behaviorPage, i18nc("@title:tab Behavior settings", "Behavior"));
- connect(behaviorPage, SIGNAL(changed()), this, SIGNAL(changed()));
+ connect(behaviorPage, &BehaviorSettingsPage::changed, this, &GeneralSettingsPage::changed);
// initialize 'Previews' tab
PreviewsSettingsPage* previewsPage = new PreviewsSettingsPage(tabWidget);
tabWidget->addTab(previewsPage, i18nc("@title:tab Previews settings", "Previews"));
- connect(previewsPage, SIGNAL(changed()), this, SIGNAL(changed()));
+ connect(previewsPage, &PreviewsSettingsPage::changed, this, &GeneralSettingsPage::changed);
// initialize 'Context Menu' tab
ConfirmationsSettingsPage* confirmationsPage = new ConfirmationsSettingsPage(tabWidget);
tabWidget->addTab(confirmationsPage, i18nc("@title:tab Confirmations settings", "Confirmations"));
- connect(confirmationsPage, SIGNAL(changed()), this, SIGNAL(changed()));
+ connect(confirmationsPage, &ConfirmationsSettingsPage::changed, this, &GeneralSettingsPage::changed);
// initialize 'Status Bar' tab
StatusBarSettingsPage* statusBarPage = new StatusBarSettingsPage(tabWidget);
tabWidget->addTab(statusBarPage, i18nc("@title:tab Status Bar settings", "Status Bar"));
- connect(statusBarPage, SIGNAL(changed()), this, SIGNAL(changed()));
+ connect(statusBarPage, &StatusBarSettingsPage::changed, this, &GeneralSettingsPage::changed);
m_pages.append(behaviorPage);
m_pages.append(previewsPage);
@@ -89,4 +86,3 @@ void GeneralSettingsPage::restoreDefaults()
}
}
-#include "generalsettingspage.moc"
diff --git a/src/settings/general/generalsettingspage.h b/src/settings/general/generalsettingspage.h
index 0d28664f5..7073258ff 100644
--- a/src/settings/general/generalsettingspage.h
+++ b/src/settings/general/generalsettingspage.h
@@ -23,7 +23,7 @@
#include <QWidget>
#include <settings/settingspagebase.h>
-class KUrl;
+class QUrl;
class SettingsPageBase;
/**
@@ -40,14 +40,14 @@ class GeneralSettingsPage : public SettingsPageBase
Q_OBJECT
public:
- GeneralSettingsPage(const KUrl& url, QWidget* parent);
+ GeneralSettingsPage(const QUrl& url, QWidget* parent);
virtual ~GeneralSettingsPage();
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
private:
QList<SettingsPageBase*> m_pages;
diff --git a/src/settings/general/previewssettingspage.cpp b/src/settings/general/previewssettingspage.cpp
index 38b61b996..37e05197a 100644
--- a/src/settings/general/previewssettingspage.cpp
+++ b/src/settings/general/previewssettingspage.cpp
@@ -23,10 +23,7 @@
#include "configurepreviewplugindialog.h"
#include <KConfigGroup>
-#include <KDialog>
-#include <KGlobal>
-#include <KLocale>
-#include <KNumInput>
+#include <KLocalizedString>
#include <KServiceTypeTrader>
#include <KService>
@@ -42,6 +39,7 @@
#include <QScrollBar>
#include <QShowEvent>
#include <QSlider>
+#include <QSpinBox>
#include <QSortFilterProxyModel>
#include <QVBoxLayout>
@@ -65,8 +63,8 @@ PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) :
m_listView = new QListView(this);
ServiceItemDelegate* delegate = new ServiceItemDelegate(m_listView, m_listView);
- connect(delegate, SIGNAL(requestServiceConfiguration(QModelIndex)),
- this, SLOT(configureService(QModelIndex)));
+ connect(delegate, &ServiceItemDelegate::requestServiceConfiguration,
+ this, &PreviewsSettingsPage::configureService);
ServiceModel* serviceModel = new ServiceModel(this);
QSortFilterProxyModel* proxyModel = new QSortFilterProxyModel(this);
@@ -79,7 +77,7 @@ PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) :
QLabel* remoteFileSizeLabel = new QLabel(i18nc("@label", "Skip previews for remote files above:"), this);
- m_remoteFileSizeBox = new KIntSpinBox(this);
+ m_remoteFileSizeBox = new QSpinBox(this);
m_remoteFileSizeBox->setSingleStep(1);
m_remoteFileSizeBox->setSuffix(QLatin1String(" MB"));
m_remoteFileSizeBox->setRange(0, 9999999); /* MB */
@@ -88,15 +86,14 @@ PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) :
fileSizeBoxLayout->addWidget(remoteFileSizeLabel, 0, Qt::AlignRight);
fileSizeBoxLayout->addWidget(m_remoteFileSizeBox);
- topLayout->addSpacing(KDialog::spacingHint());
topLayout->addWidget(showPreviewsLabel);
topLayout->addWidget(m_listView);
topLayout->addLayout(fileSizeBoxLayout);
loadSettings();
- connect(m_listView, SIGNAL(clicked(QModelIndex)), this, SIGNAL(changed()));
- connect(m_remoteFileSizeBox, SIGNAL(valueChanged(int)), this, SIGNAL(changed()));
+ connect(m_listView, &QListView::clicked, this, &PreviewsSettingsPage::changed);
+ connect(m_remoteFileSizeBox, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &PreviewsSettingsPage::changed);
}
PreviewsSettingsPage::~PreviewsSettingsPage()
@@ -119,7 +116,7 @@ void PreviewsSettingsPage::applySettings()
}
}
- KConfigGroup globalConfig(KGlobal::config(), QLatin1String("PreviewSettings"));
+ KConfigGroup globalConfig(KSharedConfig::openConfig(), QLatin1String("PreviewSettings"));
globalConfig.writeEntry("Plugins", m_enabledPreviewPlugins);
const qulonglong maximumRemoteSize = static_cast<qulonglong>(m_remoteFileSizeBox->value()) * 1024 * 1024;
@@ -159,7 +156,7 @@ void PreviewsSettingsPage::loadPreviewPlugins()
QAbstractItemModel* model = m_listView->model();
const KService::List plugins = KServiceTypeTrader::self()->query(QLatin1String("ThumbCreator"));
- foreach (const KSharedPtr<KService>& service, plugins) {
+ foreach (const KService::Ptr& service, plugins) {
const bool configurable = service->property("Configurable", QVariant::Bool).toBool();
const bool show = m_enabledPreviewPlugins.contains(service->desktopEntryName());
@@ -176,29 +173,15 @@ void PreviewsSettingsPage::loadPreviewPlugins()
void PreviewsSettingsPage::loadSettings()
{
- KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings");
+ KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings");
m_enabledPreviewPlugins = globalConfig.readEntry("Plugins", QStringList()
<< QLatin1String("directorythumbnail")
<< QLatin1String("imagethumbnail")
<< QLatin1String("jpegthumbnail"));
- // If the user is upgrading from KDE <= 4.6, we must check if he had the 'jpegrotatedthumbnail' plugin enabled.
- // This plugin does not exist any more in KDE >= 4.7, so we have to replace it with the 'jpegthumbnail' plugin.
- //
- // Note that the upgrade to the correct plugin is done already in KFilePreviewGenerator. However, if Konqueror is
- // opened in web browsing mode and the Settings dialog is opened, we might end up here before KFilePreviewGenerator's
- // constructor is ever called -> the plugin replacement should be done here as well.
- if (m_enabledPreviewPlugins.contains(QLatin1String("jpegrotatedthumbnail"))) {
- m_enabledPreviewPlugins.removeAll(QLatin1String("jpegrotatedthumbnail"));
- m_enabledPreviewPlugins.append(QLatin1String("jpegthumbnail"));
- globalConfig.writeEntry("Plugins", m_enabledPreviewPlugins);
- globalConfig.sync();
- }
-
const qulonglong defaultRemotePreview = static_cast<qulonglong>(MaxRemotePreviewSize) * 1024 * 1024;
const qulonglong maxRemoteByteSize = globalConfig.readEntry("MaximumRemoteSize", defaultRemotePreview);
const int maxRemoteMByteSize = maxRemoteByteSize / (1024 * 1024);
m_remoteFileSizeBox->setValue(maxRemoteMByteSize);
}
-#include "previewssettingspage.moc"
diff --git a/src/settings/general/previewssettingspage.h b/src/settings/general/previewssettingspage.h
index a43535133..6e896f05e 100644
--- a/src/settings/general/previewssettingspage.h
+++ b/src/settings/general/previewssettingspage.h
@@ -22,7 +22,7 @@
#include <settings/settingspagebase.h>
-class KIntSpinBox;
+class QSpinBox;
class QListView;
class QModelIndex;
@@ -42,13 +42,13 @@ public:
* The settings are persisted automatically when
* closing Dolphin.
*/
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** Restores the settings to default values. */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
protected:
- virtual void showEvent(QShowEvent* event);
+ virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
private slots:
void configureService(const QModelIndex& index);
@@ -61,7 +61,7 @@ private:
bool m_initialized;
QListView *m_listView;
QStringList m_enabledPreviewPlugins;
- KIntSpinBox* m_remoteFileSizeBox;
+ QSpinBox* m_remoteFileSizeBox;
};
#endif
diff --git a/src/settings/general/statusbarsettingspage.cpp b/src/settings/general/statusbarsettingspage.cpp
index 48622ac4c..03846253b 100644
--- a/src/settings/general/statusbarsettingspage.cpp
+++ b/src/settings/general/statusbarsettingspage.cpp
@@ -21,8 +21,7 @@
#include <dolphin_generalsettings.h>
-#include <KDialog>
-#include <KLocale>
+#include <KLocalizedString>
#include <QCheckBox>
#include <QVBoxLayout>
@@ -36,15 +35,14 @@ StatusBarSettingsPage::StatusBarSettingsPage(QWidget* parent) :
m_showSpaceInfo = new QCheckBox(i18nc("@option:check", "Show space information"), this);
QVBoxLayout* topLayout = new QVBoxLayout(this);
- topLayout->addSpacing(KDialog::spacingHint());
topLayout->addWidget(m_showZoomSlider);
topLayout->addWidget(m_showSpaceInfo);
topLayout->addStretch();
loadSettings();
- connect(m_showZoomSlider, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_showSpaceInfo, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
+ connect(m_showZoomSlider, &QCheckBox::toggled, this, &StatusBarSettingsPage::changed);
+ connect(m_showSpaceInfo, &QCheckBox::toggled, this, &StatusBarSettingsPage::changed);
}
StatusBarSettingsPage::~StatusBarSettingsPage()
@@ -56,7 +54,7 @@ void StatusBarSettingsPage::applySettings()
GeneralSettings* settings = GeneralSettings::self();
settings->setShowZoomSlider(m_showZoomSlider->isChecked());
settings->setShowSpaceInfo(m_showSpaceInfo->isChecked());
- settings->writeConfig();
+ settings->save();
}
void StatusBarSettingsPage::restoreDefaults()
@@ -73,4 +71,3 @@ void StatusBarSettingsPage::loadSettings()
m_showSpaceInfo->setChecked(GeneralSettings::showSpaceInfo());
}
-#include "statusbarsettingspage.moc"
diff --git a/src/settings/general/statusbarsettingspage.h b/src/settings/general/statusbarsettingspage.h
index 17bc799bc..608354371 100644
--- a/src/settings/general/statusbarsettingspage.h
+++ b/src/settings/general/statusbarsettingspage.h
@@ -35,10 +35,10 @@ public:
virtual ~StatusBarSettingsPage();
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
private:
void loadSettings();
diff --git a/src/settings/kcm/kcmdolphingeneral.cpp b/src/settings/kcm/kcmdolphingeneral.cpp
index 26cb580f0..fb3956880 100644
--- a/src/settings/kcm/kcmdolphingeneral.cpp
+++ b/src/settings/kcm/kcmdolphingeneral.cpp
@@ -19,9 +19,7 @@
#include "kcmdolphingeneral.h"
-#include <KTabWidget>
-#include <KDialog>
-#include <KLocale>
+#include <KLocalizedString>
#include <KPluginFactory>
#include <KPluginLoader>
@@ -31,40 +29,38 @@
#include <QDir>
#include <QVBoxLayout>
+#include <QTabWidget>
K_PLUGIN_FACTORY(KCMDolphinGeneralConfigFactory, registerPlugin<DolphinGeneralConfigModule>("dolphingeneral");)
K_EXPORT_PLUGIN(KCMDolphinGeneralConfigFactory("kcmdolphingeneral"))
DolphinGeneralConfigModule::DolphinGeneralConfigModule(QWidget* parent, const QVariantList& args) :
- KCModule(KCMDolphinGeneralConfigFactory::componentData(), parent),
+ KCModule(parent),
m_pages()
{
Q_UNUSED(args);
- KGlobal::locale()->insertCatalog("dolphin");
-
setButtons(KCModule::Default | KCModule::Help);
QVBoxLayout* topLayout = new QVBoxLayout(this);
topLayout->setMargin(0);
- topLayout->setSpacing(KDialog::spacingHint());
- KTabWidget* tabWidget = new KTabWidget(this);
+ QTabWidget* tabWidget = new QTabWidget(this);
// initialize 'Behavior' tab
BehaviorSettingsPage* behaviorPage = new BehaviorSettingsPage(QDir::homePath(), tabWidget);
tabWidget->addTab(behaviorPage, i18nc("@title:tab Behavior settings", "Behavior"));
- connect(behaviorPage, SIGNAL(changed()), this, SLOT(changed()));
+ connect(behaviorPage, &BehaviorSettingsPage::changed, this, static_cast<void(DolphinGeneralConfigModule::*)()>(&DolphinGeneralConfigModule::changed));
// initialize 'Previews' tab
PreviewsSettingsPage* previewsPage = new PreviewsSettingsPage(tabWidget);
tabWidget->addTab(previewsPage, i18nc("@title:tab Previews settings", "Previews"));
- connect(previewsPage, SIGNAL(changed()), this, SLOT(changed()));
+ connect(previewsPage, &PreviewsSettingsPage::changed, this, static_cast<void(DolphinGeneralConfigModule::*)()>(&DolphinGeneralConfigModule::changed));
// initialize 'Confirmations' tab
ConfirmationsSettingsPage* confirmationsPage = new ConfirmationsSettingsPage(tabWidget);
tabWidget->addTab(confirmationsPage, i18nc("@title:tab Confirmations settings", "Confirmations"));
- connect(confirmationsPage, SIGNAL(changed()), this, SLOT(changed()));
+ connect(confirmationsPage, &ConfirmationsSettingsPage::changed, this, static_cast<void(DolphinGeneralConfigModule::*)()>(&DolphinGeneralConfigModule::changed));
m_pages.append(behaviorPage);
m_pages.append(previewsPage);
diff --git a/src/settings/kcm/kcmdolphingeneral.desktop b/src/settings/kcm/kcmdolphingeneral.desktop
index 3982e49c4..02e72da9a 100644
--- a/src/settings/kcm/kcmdolphingeneral.desktop
+++ b/src/settings/kcm/kcmdolphingeneral.desktop
@@ -141,7 +141,7 @@ Comment[zh_TW]=此服務允許設定 Dolphin 的一般設定。
Icon=system-run
Type=Service
X-KDE-ServiceTypes=KCModule
-Exec=kcmshell4 kcmdolphingeneral
+Exec=kcmshell5 kcmdolphingeneral
X-KDE-Library=kcm_dolphingeneral
X-KDE-PluginKeyword=dolphingeneral
diff --git a/src/settings/kcm/kcmdolphingeneral.h b/src/settings/kcm/kcmdolphingeneral.h
index 6b844c9a8..50331a75c 100644
--- a/src/settings/kcm/kcmdolphingeneral.h
+++ b/src/settings/kcm/kcmdolphingeneral.h
@@ -36,8 +36,8 @@ public:
DolphinGeneralConfigModule(QWidget* parent, const QVariantList& args);
virtual ~DolphinGeneralConfigModule();
- virtual void save();
- virtual void defaults();
+ virtual void save() Q_DECL_OVERRIDE;
+ virtual void defaults() Q_DECL_OVERRIDE;
private:
QList<SettingsPageBase*> m_pages;
diff --git a/src/settings/kcm/kcmdolphinnavigation.cpp b/src/settings/kcm/kcmdolphinnavigation.cpp
index 36345a515..0b2729c33 100644
--- a/src/settings/kcm/kcmdolphinnavigation.cpp
+++ b/src/settings/kcm/kcmdolphinnavigation.cpp
@@ -19,9 +19,6 @@
#include "kcmdolphinnavigation.h"
-#include <KTabWidget>
-#include <KDialog>
-#include <KLocale>
#include <KPluginFactory>
#include <KPluginLoader>
@@ -33,21 +30,18 @@ K_PLUGIN_FACTORY(KCMDolphinNavigationConfigFactory, registerPlugin<DolphinNaviga
K_EXPORT_PLUGIN(KCMDolphinNavigationConfigFactory("kcmdolphinnavigation"))
DolphinNavigationConfigModule::DolphinNavigationConfigModule(QWidget* parent, const QVariantList& args) :
- KCModule(KCMDolphinNavigationConfigFactory::componentData(), parent),
+ KCModule(parent),
m_navigation(0)
{
Q_UNUSED(args);
- KGlobal::locale()->insertCatalog("dolphin");
-
setButtons(KCModule::Default | KCModule::Help);
QVBoxLayout* topLayout = new QVBoxLayout(this);
topLayout->setMargin(0);
- topLayout->setSpacing(KDialog::spacingHint());
m_navigation = new NavigationSettingsPage(this);
- connect(m_navigation, SIGNAL(changed()), this, SLOT(changed()));
+ connect(m_navigation, &NavigationSettingsPage::changed, this, static_cast<void(DolphinNavigationConfigModule::*)()>(&DolphinNavigationConfigModule::changed));
topLayout->addWidget(m_navigation, 0, 0);
}
diff --git a/src/settings/kcm/kcmdolphinnavigation.desktop b/src/settings/kcm/kcmdolphinnavigation.desktop
index e7f0bc4b9..4312fb406 100644
--- a/src/settings/kcm/kcmdolphinnavigation.desktop
+++ b/src/settings/kcm/kcmdolphinnavigation.desktop
@@ -142,7 +142,7 @@ Comment[zh_TW]=此服務允許設定 Dolphin 的導覽。
Icon=input-mouse
Type=Service
X-KDE-ServiceTypes=KCModule
-Exec=kcmshell4 kcmdolphinnavigation
+Exec=kcmshell5 kcmdolphinnavigation
X-KDE-Library=kcm_dolphinnavigation
X-KDE-PluginKeyword=dolphinnavigation
diff --git a/src/settings/kcm/kcmdolphinnavigation.h b/src/settings/kcm/kcmdolphinnavigation.h
index e7634d661..e8de0753e 100644
--- a/src/settings/kcm/kcmdolphinnavigation.h
+++ b/src/settings/kcm/kcmdolphinnavigation.h
@@ -35,8 +35,8 @@ public:
DolphinNavigationConfigModule(QWidget* parent, const QVariantList& args);
virtual ~DolphinNavigationConfigModule();
- virtual void save();
- virtual void defaults();
+ virtual void save() Q_DECL_OVERRIDE;
+ virtual void defaults() Q_DECL_OVERRIDE;
private:
NavigationSettingsPage* m_navigation;
diff --git a/src/settings/kcm/kcmdolphinservices.cpp b/src/settings/kcm/kcmdolphinservices.cpp
index 6d8c76192..8bfdefebb 100644
--- a/src/settings/kcm/kcmdolphinservices.cpp
+++ b/src/settings/kcm/kcmdolphinservices.cpp
@@ -19,9 +19,6 @@
#include "kcmdolphinservices.h"
-#include <KTabWidget>
-#include <KDialog>
-#include <KLocale>
#include <KPluginFactory>
#include <KPluginLoader>
@@ -33,21 +30,18 @@ K_PLUGIN_FACTORY(KCMDolphinServicesConfigFactory, registerPlugin<DolphinServices
K_EXPORT_PLUGIN(KCMDolphinServicesConfigFactory("kcmdolphinservices"))
DolphinServicesConfigModule::DolphinServicesConfigModule(QWidget* parent, const QVariantList& args) :
- KCModule(KCMDolphinServicesConfigFactory::componentData(), parent),
+ KCModule(parent),
m_services(0)
{
Q_UNUSED(args);
- KGlobal::locale()->insertCatalog("dolphin");
-
setButtons(KCModule::Default | KCModule::Help);
QVBoxLayout* topLayout = new QVBoxLayout(this);
topLayout->setMargin(0);
- topLayout->setSpacing(KDialog::spacingHint());
m_services = new ServicesSettingsPage(this);
- connect(m_services, SIGNAL(changed()), this, SLOT(changed()));
+ connect(m_services, &ServicesSettingsPage::changed, this, static_cast<void(DolphinServicesConfigModule::*)()>(&DolphinServicesConfigModule::changed));
topLayout->addWidget(m_services, 0, 0);
}
diff --git a/src/settings/kcm/kcmdolphinservices.desktop b/src/settings/kcm/kcmdolphinservices.desktop
index c96baa2bf..cb08a6a60 100644
--- a/src/settings/kcm/kcmdolphinservices.desktop
+++ b/src/settings/kcm/kcmdolphinservices.desktop
@@ -72,7 +72,7 @@ Name[zh_TW]=Dolphin 服務
Icon=services
Type=Service
X-KDE-ServiceTypes=KCModule
-Exec=kcmshell4 kcmdolphinservices
+Exec=kcmshell5 kcmdolphinservices
X-KDE-Library=kcm_dolphinservices
X-KDE-PluginKeyword=dolphinservices
diff --git a/src/settings/kcm/kcmdolphinservices.h b/src/settings/kcm/kcmdolphinservices.h
index 70ed366fe..8a63bb045 100644
--- a/src/settings/kcm/kcmdolphinservices.h
+++ b/src/settings/kcm/kcmdolphinservices.h
@@ -35,8 +35,8 @@ public:
DolphinServicesConfigModule(QWidget* parent, const QVariantList& args);
virtual ~DolphinServicesConfigModule();
- virtual void save();
- virtual void defaults();
+ virtual void save() Q_DECL_OVERRIDE;
+ virtual void defaults() Q_DECL_OVERRIDE;
private:
ServicesSettingsPage* m_services;
diff --git a/src/settings/kcm/kcmdolphinviewmodes.cpp b/src/settings/kcm/kcmdolphinviewmodes.cpp
index a7a9db36d..0859e568a 100644
--- a/src/settings/kcm/kcmdolphinviewmodes.cpp
+++ b/src/settings/kcm/kcmdolphinviewmodes.cpp
@@ -19,54 +19,49 @@
#include "kcmdolphinviewmodes.h"
-#include <KTabWidget>
-#include <KDialog>
-#include <KLocale>
+#include <KLocalizedString>
#include <KPluginFactory>
#include <KPluginLoader>
-#include <KIcon>
+#include <QIcon>
#include <settings/viewmodes/viewsettingstab.h>
#include <QDBusConnection>
#include <QDBusMessage>
-#include <QDir>
#include <QPushButton>
#include <QVBoxLayout>
+#include <QTabWidget>
K_PLUGIN_FACTORY(KCMDolphinViewModesConfigFactory, registerPlugin<DolphinViewModesConfigModule>("dolphinviewmodes");)
K_EXPORT_PLUGIN(KCMDolphinViewModesConfigFactory("kcmdolphinviewmodes"))
DolphinViewModesConfigModule::DolphinViewModesConfigModule(QWidget* parent, const QVariantList& args) :
- KCModule(KCMDolphinViewModesConfigFactory::componentData(), parent),
+ KCModule(parent),
m_tabs()
{
Q_UNUSED(args);
- KGlobal::locale()->insertCatalog("dolphin");
-
setButtons(KCModule::Default | KCModule::Help);
QVBoxLayout* topLayout = new QVBoxLayout(this);
topLayout->setMargin(0);
- topLayout->setSpacing(KDialog::spacingHint());
- KTabWidget* tabWidget = new KTabWidget(this);
+ QTabWidget* tabWidget = new QTabWidget(this);
// Initialize 'Icons' tab
ViewSettingsTab* iconsTab = new ViewSettingsTab(ViewSettingsTab::IconsMode, tabWidget);
- tabWidget->addTab(iconsTab, KIcon("view-list-icons"), i18nc("@title:tab", "Icons"));
- connect(iconsTab, SIGNAL(changed()), this, SLOT(viewModeChanged()));
+ tabWidget->addTab(iconsTab, QIcon::fromTheme("view-list-icons"), i18nc("@title:tab", "Icons"));
+ connect(iconsTab, &ViewSettingsTab::changed, this, &DolphinViewModesConfigModule::viewModeChanged);
// Initialize 'Compact' tab
ViewSettingsTab* compactTab = new ViewSettingsTab(ViewSettingsTab::CompactMode, tabWidget);
- tabWidget->addTab(compactTab, KIcon("view-list-details"), i18nc("@title:tab", "Compact"));
- connect(compactTab, SIGNAL(changed()), this, SLOT(viewModeChanged()));
+ tabWidget->addTab(compactTab, QIcon::fromTheme("view-list-details"), i18nc("@title:tab", "Compact"));
+ connect(compactTab, &ViewSettingsTab::changed, this, &DolphinViewModesConfigModule::viewModeChanged);
// Initialize 'Details' tab
ViewSettingsTab* detailsTab = new ViewSettingsTab(ViewSettingsTab::DetailsMode, tabWidget);
- tabWidget->addTab(detailsTab, KIcon("view-list-tree"), i18nc("@title:tab", "Details"));
- connect(detailsTab, SIGNAL(changed()), this, SLOT(viewModeChanged()));
+ tabWidget->addTab(detailsTab, QIcon::fromTheme("view-list-tree"), i18nc("@title:tab", "Details"));
+ connect(detailsTab, &ViewSettingsTab::changed, this, &DolphinViewModesConfigModule::viewModeChanged);
m_tabs.append(iconsTab);
m_tabs.append(compactTab);
diff --git a/src/settings/kcm/kcmdolphinviewmodes.desktop b/src/settings/kcm/kcmdolphinviewmodes.desktop
index 39cc0e2a5..74d2d11c8 100644
--- a/src/settings/kcm/kcmdolphinviewmodes.desktop
+++ b/src/settings/kcm/kcmdolphinviewmodes.desktop
@@ -141,7 +141,7 @@ Comment[zh_TW]=此服務允許設定 Dolphin 的檢視模式。
Icon=view-choose
Type=Service
X-KDE-ServiceTypes=KCModule
-Exec=kcmshell4 kcmdolphinviewmodes
+Exec=kcmshell5 kcmdolphinviewmodes
X-KDE-Library=kcm_dolphinviewmodes
X-KDE-PluginKeyword=dolphinviewmodes
diff --git a/src/settings/kcm/kcmdolphinviewmodes.h b/src/settings/kcm/kcmdolphinviewmodes.h
index 3181198fe..0a0b0ff10 100644
--- a/src/settings/kcm/kcmdolphinviewmodes.h
+++ b/src/settings/kcm/kcmdolphinviewmodes.h
@@ -35,8 +35,8 @@ public:
DolphinViewModesConfigModule(QWidget* parent, const QVariantList& args);
virtual ~DolphinViewModesConfigModule();
- virtual void save();
- virtual void defaults();
+ virtual void save() Q_DECL_OVERRIDE;
+ virtual void defaults() Q_DECL_OVERRIDE;
private:
void reparseConfiguration();
diff --git a/src/settings/navigation/navigationsettingspage.cpp b/src/settings/navigation/navigationsettingspage.cpp
index 8076d705d..f9c7a4dfc 100644
--- a/src/settings/navigation/navigationsettingspage.cpp
+++ b/src/settings/navigation/navigationsettingspage.cpp
@@ -21,15 +21,9 @@
#include "dolphin_generalsettings.h"
-#include <KDialog>
-#include <KGlobalSettings>
-#include <KLocale>
-#include <KVBox>
+#include <KLocalizedString>
#include <QCheckBox>
-#include <QGroupBox>
-#include <QLabel>
-#include <QRadioButton>
#include <QVBoxLayout>
NavigationSettingsPage::NavigationSettingsPage(QWidget* parent) :
@@ -37,27 +31,17 @@ NavigationSettingsPage::NavigationSettingsPage(QWidget* parent) :
m_openArchivesAsFolder(0),
m_autoExpandFolders(0)
{
- const int spacing = KDialog::spacingHint();
-
QVBoxLayout* topLayout = new QVBoxLayout(this);
- KVBox* vBox = new KVBox(this);
- vBox->setSpacing(spacing);
-
- // create 'Mouse' group
- QGroupBox* mouseBox = new QGroupBox(i18nc("@title:group", "Mouse"), vBox);
- mouseBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum);
- m_singleClick = new QRadioButton(i18nc("@option:check Mouse Settings",
- "Single-click to open files and folders"), mouseBox);
- m_doubleClick = new QRadioButton(i18nc("@option:check Mouse Settings",
- "Double-click to open files and folders"), mouseBox);
-
- QVBoxLayout* mouseBoxLayout = new QVBoxLayout(mouseBox);
- mouseBoxLayout->addWidget(m_singleClick);
- mouseBoxLayout->addWidget(m_doubleClick);
+ QWidget* vBox = new QWidget(this);
+ QVBoxLayout *vBoxLayout = new QVBoxLayout(vBox);
+ vBoxLayout->setMargin(0);
+ vBoxLayout->setAlignment(Qt::AlignTop);
m_openArchivesAsFolder = new QCheckBox(i18nc("@option:check", "Open archives as folder"), vBox);
+ vBoxLayout->addWidget(m_openArchivesAsFolder);
m_autoExpandFolders = new QCheckBox(i18nc("option:check", "Open folders during drag operations"), vBox);
+ vBoxLayout->addWidget(m_autoExpandFolders);
// Add a dummy widget with no restriction regarding
// a vertical resizing. This assures that the dialog layout
@@ -68,10 +52,8 @@ NavigationSettingsPage::NavigationSettingsPage(QWidget* parent) :
loadSettings();
- connect(m_singleClick, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_doubleClick, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_openArchivesAsFolder, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(m_autoExpandFolders, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
+ connect(m_openArchivesAsFolder, &QCheckBox::toggled, this, &NavigationSettingsPage::changed);
+ connect(m_autoExpandFolders, &QCheckBox::toggled, this, &NavigationSettingsPage::changed);
}
NavigationSettingsPage::~NavigationSettingsPage()
@@ -80,17 +62,11 @@ NavigationSettingsPage::~NavigationSettingsPage()
void NavigationSettingsPage::applySettings()
{
- KConfig config("kcminputrc");
- KConfigGroup group = config.group("KDE");
- group.writeEntry("SingleClick", m_singleClick->isChecked(), KConfig::Persistent|KConfig::Global);
- config.sync();
- KGlobalSettings::self()->emitChange(KGlobalSettings::SettingsChanged, KGlobalSettings::SETTINGS_MOUSE);
-
GeneralSettings* settings = GeneralSettings::self();
settings->setBrowseThroughArchives(m_openArchivesAsFolder->isChecked());
settings->setAutoExpandFolders(m_autoExpandFolders->isChecked());
- settings->writeConfig();
+ settings->save();
}
void NavigationSettingsPage::restoreDefaults()
@@ -99,20 +75,11 @@ void NavigationSettingsPage::restoreDefaults()
settings->useDefaults(true);
loadSettings();
settings->useDefaults(false);
-
- // The mouse settings stored in KGlobalSettings must be reset to
- // the default values (= single click) manually.
- m_singleClick->setChecked(true);
- m_doubleClick->setChecked(false);
}
void NavigationSettingsPage::loadSettings()
{
- const bool singleClick = KGlobalSettings::singleClick();
- m_singleClick->setChecked(singleClick);
- m_doubleClick->setChecked(!singleClick);
m_openArchivesAsFolder->setChecked(GeneralSettings::browseThroughArchives());
m_autoExpandFolders->setChecked(GeneralSettings::autoExpandFolders());
}
-#include "navigationsettingspage.moc"
diff --git a/src/settings/navigation/navigationsettingspage.h b/src/settings/navigation/navigationsettingspage.h
index 7d5b981d4..5410a4efa 100644
--- a/src/settings/navigation/navigationsettingspage.h
+++ b/src/settings/navigation/navigationsettingspage.h
@@ -22,7 +22,6 @@
#include <settings/settingspagebase.h>
class QCheckBox;
-class QRadioButton;
/**
* @brief Page for the 'Navigation' settings of the Dolphin settings dialog.
@@ -36,17 +35,15 @@ public:
virtual ~NavigationSettingsPage();
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
private:
void loadSettings();
private:
- QRadioButton* m_singleClick;
- QRadioButton* m_doubleClick;
QCheckBox* m_openArchivesAsFolder;
QCheckBox* m_autoExpandFolders;
};
diff --git a/src/settings/serviceitemdelegate.cpp b/src/settings/serviceitemdelegate.cpp
index 7538e038b..a72dd9ec8 100644
--- a/src/settings/serviceitemdelegate.cpp
+++ b/src/settings/serviceitemdelegate.cpp
@@ -19,9 +19,9 @@
#include "serviceitemdelegate.h"
-#include <KDebug>
-#include <KPushButton>
-#include <KIcon>
+#include "dolphindebug.h"
+#include <QPushButton>
+#include <QIcon>
#include "servicemodel.h"
@@ -66,18 +66,18 @@ void ServiceItemDelegate::paint(QPainter* painter, const QStyleOptionViewItem& o
painter->restore();
}
-QList<QWidget*> ServiceItemDelegate::createItemWidgets() const
+QList<QWidget*> ServiceItemDelegate::createItemWidgets(const QModelIndex&) const
{
QCheckBox* checkBox = new QCheckBox();
QPalette palette = checkBox->palette();
palette.setColor(QPalette::WindowText, palette.color(QPalette::Text));
checkBox->setPalette(palette);
- connect(checkBox, SIGNAL(clicked(bool)), this, SLOT(slotCheckBoxClicked(bool)));
+ connect(checkBox, &QCheckBox::clicked, this, &ServiceItemDelegate::slotCheckBoxClicked);
- KPushButton* configureButton = new KPushButton();
- connect(configureButton, SIGNAL(clicked()), this, SLOT(slotConfigureButtonClicked()));
+ QPushButton* configureButton = new QPushButton();
+ connect(configureButton, &QPushButton::clicked, this, &ServiceItemDelegate::slotConfigureButtonClicked);
- return QList<QWidget*>() << checkBox << configureButton;
+ return {checkBox, configureButton};
}
void ServiceItemDelegate::updateItemWidgets(const QList<QWidget*> widgets,
@@ -85,7 +85,7 @@ void ServiceItemDelegate::updateItemWidgets(const QList<QWidget*> widgets,
const QPersistentModelIndex& index) const
{
QCheckBox* checkBox = static_cast<QCheckBox*>(widgets[0]);
- KPushButton *configureButton = static_cast<KPushButton*>(widgets[1]);
+ QPushButton *configureButton = static_cast<QPushButton*>(widgets[1]);
const int itemHeight = sizeHint(option, index).height();
@@ -94,7 +94,7 @@ void ServiceItemDelegate::updateItemWidgets(const QList<QWidget*> widgets,
checkBox->setText(model->data(index).toString());
const QString iconName = model->data(index, Qt::DecorationRole).toString();
if (!iconName.isEmpty()) {
- checkBox->setIcon(KIcon(iconName));
+ checkBox->setIcon(QIcon::fromTheme(iconName));
}
checkBox->setChecked(model->data(index, Qt::CheckStateRole).toBool());
@@ -110,7 +110,7 @@ void ServiceItemDelegate::updateItemWidgets(const QList<QWidget*> widgets,
// Update the configuration button
if (configurable) {
configureButton->setEnabled(checkBox->isChecked());
- configureButton->setIcon(KIcon("configure"));
+ configureButton->setIcon(QIcon::fromTheme("configure"));
configureButton->resize(configureButton->sizeHint());
configureButton->move(option.rect.right() - configureButton->width(),
(itemHeight - configureButton->height()) / 2);
@@ -129,4 +129,3 @@ void ServiceItemDelegate::slotConfigureButtonClicked()
emit requestServiceConfiguration(focusedIndex());
}
-#include "serviceitemdelegate.moc"
diff --git a/src/settings/serviceitemdelegate.h b/src/settings/serviceitemdelegate.h
index ea9681a5a..9f0ced40c 100644
--- a/src/settings/serviceitemdelegate.h
+++ b/src/settings/serviceitemdelegate.h
@@ -37,16 +37,16 @@ public:
virtual ~ServiceItemDelegate();
virtual QSize sizeHint(const QStyleOptionViewItem &option,
- const QModelIndex &index) const;
+ const QModelIndex &index) const Q_DECL_OVERRIDE;
virtual void paint(QPainter* painter, const QStyleOptionViewItem& option,
- const QModelIndex& index) const;
+ const QModelIndex& index) const Q_DECL_OVERRIDE;
- virtual QList<QWidget*> createItemWidgets() const;
+ virtual QList<QWidget*> createItemWidgets(const QModelIndex&) const Q_DECL_OVERRIDE;
virtual void updateItemWidgets(const QList<QWidget*> widgets,
const QStyleOptionViewItem& option,
- const QPersistentModelIndex& index) const;
+ const QPersistentModelIndex& index) const Q_DECL_OVERRIDE;
signals:
void requestServiceConfiguration(const QModelIndex& index);
diff --git a/src/settings/servicemodel.cpp b/src/settings/servicemodel.cpp
index 315b90dff..e3b015147 100644
--- a/src/settings/servicemodel.cpp
+++ b/src/settings/servicemodel.cpp
@@ -105,4 +105,3 @@ int ServiceModel::rowCount(const QModelIndex& parent) const
return m_items.count();
}
-#include "servicemodel.moc"
diff --git a/src/settings/servicemodel.h b/src/settings/servicemodel.h
index b8c2d5248..f2b91c7e4 100644
--- a/src/settings/servicemodel.h
+++ b/src/settings/servicemodel.h
@@ -47,10 +47,10 @@ public:
explicit ServiceModel(QObject* parent = 0);
virtual ~ServiceModel();
- virtual bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex());
- virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole);
- virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
- virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
+ virtual bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex()) Q_DECL_OVERRIDE;
+ virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) Q_DECL_OVERRIDE;
+ virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE;
+ virtual int rowCount(const QModelIndex& parent = QModelIndex()) const Q_DECL_OVERRIDE;
private:
struct ServiceItem
diff --git a/src/settings/services/servicessettingspage.cpp b/src/settings/services/servicessettingspage.cpp
index 48e816be7..f258b53e2 100644
--- a/src/settings/services/servicessettingspage.cpp
+++ b/src/settings/services/servicessettingspage.cpp
@@ -26,13 +26,13 @@
#include <KConfigGroup>
#include <KDesktopFile>
#include <kdesktopfileactions.h>
-#include <KIcon>
-#include <KLocale>
+#include <QIcon>
+#include <KLocalizedString>
#include <KMessageBox>
-#include <knewstuff3/knewstuffbutton.h>
+#include <KNS3/Button>
#include <KService>
#include <KServiceTypeTrader>
-#include <KStandardDirs>
+#include <QStandardPaths>
#include <settings/serviceitemdelegate.h>
#include <settings/servicemodel.h>
@@ -49,9 +49,9 @@
namespace
{
const bool ShowDeleteDefault = false;
- const char* VersionControlServicePrefix = "_version_control_";
- const char* DeleteService = "_delete";
- const char* CopyToMoveToService ="_copy_to_move_to";
+ const char VersionControlServicePrefix[] = "_version_control_";
+ const char DeleteService[] = "_delete";
+ const char CopyToMoveToService[] ="_copy_to_move_to";
}
ServicesSettingsPage::ServicesSettingsPage(QWidget* parent) :
@@ -78,12 +78,12 @@ ServicesSettingsPage::ServicesSettingsPage(QWidget* parent) :
m_listView->setModel(m_sortModel);
m_listView->setItemDelegate(delegate);
m_listView->setVerticalScrollMode(QListView::ScrollPerPixel);
- connect(m_listView, SIGNAL(clicked(QModelIndex)), this, SIGNAL(changed()));
+ connect(m_listView, &QListView::clicked, this, &ServicesSettingsPage::changed);
KNS3::Button* downloadButton = new KNS3::Button(i18nc("@action:button", "Download New Services..."),
"servicemenu.knsrc",
this);
- connect(downloadButton, SIGNAL(dialogFinished(KNS3::Entry::List)), this, SLOT(loadServices()));
+ connect(downloadButton, &KNS3::Button::dialogFinished, this, &ServicesSettingsPage::loadServices);
topLayout->addWidget(label);
topLayout->addWidget(m_listView);
@@ -125,7 +125,7 @@ void ServicesSettingsPage::applySettings()
configGroup.sync();
} else if (service == QLatin1String(CopyToMoveToService)) {
GeneralSettings::setShowCopyMoveMenu(checked);
- GeneralSettings::self()->writeConfig();
+ GeneralSettings::self()->save();
} else {
showGroup.writeEntry(service, checked);
}
@@ -135,7 +135,7 @@ void ServicesSettingsPage::applySettings()
if (m_enabledVcsPlugins != enabledPlugins) {
VersionControlSettings::setEnabledPlugins(enabledPlugins);
- VersionControlSettings::self()->writeConfig();
+ VersionControlSettings::self()->save();
KMessageBox::information(window(),
i18nc("@info", "Dolphin must be restarted to apply the "
@@ -194,8 +194,8 @@ void ServicesSettingsPage::loadServices()
// Load generic services
const KService::List entries = KServiceTypeTrader::self()->query("KonqPopupMenu/Plugin");
- foreach (const KSharedPtr<KService>& service, entries) {
- const QString file = KStandardDirs::locate("services", service->entryPath());
+ foreach (const KService::Ptr& service, entries) {
+ const QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, "kservices5/" % service->entryPath());
const QList<KServiceAction> serviceActions =
KDesktopFileActions::userDefinedServices(file, true);
@@ -220,7 +220,7 @@ void ServicesSettingsPage::loadServices()
// Load service plugins that implement the KFileItemActionPlugin interface
const KService::List pluginServices = KServiceTypeTrader::self()->query("KFileItemAction/Plugin");
- foreach (const KSharedPtr<KService>& service, pluginServices) {
+ foreach (const KService::Ptr& service, pluginServices) {
const QString desktopEntryName = service->desktopEntryName();
if (!isInServicesList(desktopEntryName)) {
const bool checked = showGroup.readEntry(desktopEntryName, true);
@@ -273,4 +273,3 @@ void ServicesSettingsPage::addRow(const QString& icon,
m_serviceModel->setData(index, checked, Qt::CheckStateRole);
}
-#include "servicessettingspage.moc"
diff --git a/src/settings/services/servicessettingspage.h b/src/settings/services/servicessettingspage.h
index 80af42f88..a883aa947 100644
--- a/src/settings/services/servicessettingspage.h
+++ b/src/settings/services/servicessettingspage.h
@@ -21,11 +21,8 @@
#include <settings/settingspagebase.h>
-#include <QMap>
#include <QString>
-class QCheckBox;
-class QGroupBox;
class QListView;
class QSortFilterProxyModel;
class ServiceModel;
@@ -42,13 +39,13 @@ public:
virtual ~ServicesSettingsPage();
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
protected:
- virtual void showEvent(QShowEvent* event);
+ virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
private slots:
/**
diff --git a/src/settings/settingspagebase.cpp b/src/settings/settingspagebase.cpp
index 6f8dcbfb6..70549fd2c 100644
--- a/src/settings/settingspagebase.cpp
+++ b/src/settings/settingspagebase.cpp
@@ -28,4 +28,3 @@ SettingsPageBase::~SettingsPageBase()
{}
-#include "settingspagebase.moc"
diff --git a/src/settings/startup/startupsettingspage.cpp b/src/settings/startup/startupsettingspage.cpp
index 693826318..21b213cd5 100644
--- a/src/settings/startup/startupsettingspage.cpp
+++ b/src/settings/startup/startupsettingspage.cpp
@@ -24,22 +24,22 @@
#include "dolphin_generalsettings.h"
-#include <KDialog>
-#include <KFileDialog>
-#include <KLocale>
-#include <KLineEdit>
+#include <KLocalizedString>
+#include <QLineEdit>
#include <KMessageBox>
-#include <KVBox>
+#include <QVBoxLayout>
#include <QCheckBox>
#include <QGroupBox>
#include <QLabel>
#include <QPushButton>
-#include <QRadioButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QFileDialog>
#include "views/dolphinview.h"
-StartupSettingsPage::StartupSettingsPage(const KUrl& url, QWidget* parent) :
+StartupSettingsPage::StartupSettingsPage(const QUrl& url, QWidget* parent) :
SettingsPageBase(parent),
m_url(url),
m_homeUrl(0),
@@ -48,40 +48,48 @@ StartupSettingsPage::StartupSettingsPage(const KUrl& url, QWidget* parent) :
m_showFullPath(0),
m_filterBar(0)
{
- const int spacing = KDialog::spacingHint();
-
QVBoxLayout* topLayout = new QVBoxLayout(this);
- KVBox* vBox = new KVBox(this);
- vBox->setSpacing(spacing);
+ QWidget* vBox = new QWidget(this);
+ QVBoxLayout *vBoxLayout = new QVBoxLayout(vBox);
+ vBoxLayout->setMargin(0);
+ vBoxLayout->setAlignment(Qt::AlignTop);
// create 'Home URL' editor
QGroupBox* homeBox = new QGroupBox(i18nc("@title:group", "Home Folder"), vBox);
+ vBoxLayout->addWidget(homeBox);
- KHBox* homeUrlBox = new KHBox(homeBox);
- homeUrlBox->setSpacing(spacing);
+ QWidget* homeUrlBox = new QWidget(homeBox);
+ QHBoxLayout *homeUrlBoxLayout = new QHBoxLayout(homeUrlBox);
+ homeUrlBoxLayout->setMargin(0);
- new QLabel(i18nc("@label:textbox", "Location:"), homeUrlBox);
- m_homeUrl = new KLineEdit(homeUrlBox);
- m_homeUrl->setClearButtonShown(true);
+ QLabel* homeUrlLabel = new QLabel(i18nc("@label:textbox", "Location:"), homeUrlBox);
+ homeUrlBoxLayout->addWidget(homeUrlLabel);
+ m_homeUrl = new QLineEdit(homeUrlBox);
+ homeUrlBoxLayout->addWidget(m_homeUrl);
+ m_homeUrl->setClearButtonEnabled(true);
- QPushButton* selectHomeUrlButton = new QPushButton(KIcon("folder-open"), QString(), homeUrlBox);
+ QPushButton* selectHomeUrlButton = new QPushButton(QIcon::fromTheme("folder-open"), QString(), homeUrlBox);
+ homeUrlBoxLayout->addWidget(selectHomeUrlButton);
#ifndef QT_NO_ACCESSIBILITY
selectHomeUrlButton->setAccessibleName(i18nc("@action:button", "Select Home Location"));
#endif
- connect(selectHomeUrlButton, SIGNAL(clicked()),
- this, SLOT(selectHomeUrl()));
+ connect(selectHomeUrlButton, &QPushButton::clicked,
+ this, &StartupSettingsPage::selectHomeUrl);
- KHBox* buttonBox = new KHBox(homeBox);
- buttonBox->setSpacing(spacing);
+ QWidget* buttonBox = new QWidget(homeBox);
+ QHBoxLayout *buttonBoxLayout = new QHBoxLayout(buttonBox);
+ buttonBoxLayout->setMargin(0);
QPushButton* useCurrentButton = new QPushButton(i18nc("@action:button", "Use Current Location"), buttonBox);
- connect(useCurrentButton, SIGNAL(clicked()),
- this, SLOT(useCurrentLocation()));
+ buttonBoxLayout->addWidget(useCurrentButton);
+ connect(useCurrentButton, &QPushButton::clicked,
+ this, &StartupSettingsPage::useCurrentLocation);
QPushButton* useDefaultButton = new QPushButton(i18nc("@action:button", "Use Default Location"), buttonBox);
- connect(useDefaultButton, SIGNAL(clicked()),
- this, SLOT(useDefaultLocation()));
+ buttonBoxLayout->addWidget(useDefaultButton);
+ connect(useDefaultButton, &QPushButton::clicked,
+ this, &StartupSettingsPage::useDefaultLocation);
QVBoxLayout* homeBoxLayout = new QVBoxLayout(homeBox);
homeBoxLayout->addWidget(homeUrlBox);
@@ -89,9 +97,13 @@ StartupSettingsPage::StartupSettingsPage(const KUrl& url, QWidget* parent) :
// create 'Split view', 'Show full path', 'Editable location' and 'Filter bar' checkboxes
m_splitView = new QCheckBox(i18nc("@option:check Startup Settings", "Split view mode"), vBox);
+ vBoxLayout->addWidget(m_splitView);
m_editableUrl = new QCheckBox(i18nc("@option:check Startup Settings", "Editable location bar"), vBox);
+ vBoxLayout->addWidget(m_editableUrl);
m_showFullPath = new QCheckBox(i18nc("@option:check Startup Settings", "Show full path inside location bar"), vBox);
+ vBoxLayout->addWidget(m_showFullPath);
m_filterBar = new QCheckBox(i18nc("@option:check Startup Settings", "Show filter bar"), vBox);
+ vBoxLayout->addWidget(m_filterBar);
// Add a dummy widget with no restriction regarding
// a vertical resizing. This assures that the dialog layout
@@ -102,11 +114,11 @@ StartupSettingsPage::StartupSettingsPage(const KUrl& url, QWidget* parent) :
loadSettings();
- connect(m_homeUrl, SIGNAL(textChanged(QString)), this, SLOT(slotSettingsChanged()));
- connect(m_splitView, SIGNAL(toggled(bool)), this, SLOT(slotSettingsChanged()));
- connect(m_editableUrl, SIGNAL(toggled(bool)), this, SLOT(slotSettingsChanged()));
- connect(m_showFullPath, SIGNAL(toggled(bool)), this, SLOT(slotSettingsChanged()));
- connect(m_filterBar, SIGNAL(toggled(bool)), this, SLOT(slotSettingsChanged()));
+ connect(m_homeUrl, &QLineEdit::textChanged, this, &StartupSettingsPage::slotSettingsChanged);
+ connect(m_splitView, &QCheckBox::toggled, this, &StartupSettingsPage::slotSettingsChanged);
+ connect(m_editableUrl, &QCheckBox::toggled, this, &StartupSettingsPage::slotSettingsChanged);
+ connect(m_showFullPath, &QCheckBox::toggled, this, &StartupSettingsPage::slotSettingsChanged);
+ connect(m_filterBar, &QCheckBox::toggled, this, &StartupSettingsPage::slotSettingsChanged);
}
StartupSettingsPage::~StartupSettingsPage()
@@ -117,10 +129,10 @@ void StartupSettingsPage::applySettings()
{
GeneralSettings* settings = GeneralSettings::self();
- const KUrl url(m_homeUrl->text());
- KFileItem fileItem(KFileItem::Unknown, KFileItem::Unknown, url);
- if ((url.isValid() && fileItem.isDir()) || (url.protocol() == QLatin1String("timeline"))) {
- settings->setHomeUrl(url.prettyUrl());
+ const QUrl url(QUrl::fromLocalFile(m_homeUrl->text()));
+ KFileItem fileItem(url);
+ if ((url.isValid() && fileItem.isDir()) || (url.scheme() == QLatin1String("timeline"))) {
+ settings->setHomeUrl(url.toDisplayString(QUrl::PreferLocalFile));
} else {
KMessageBox::error(this, i18nc("@info", "The location for the home folder is invalid or does not exist, it will not be applied."));
}
@@ -130,7 +142,7 @@ void StartupSettingsPage::applySettings()
settings->setShowFullPath(m_showFullPath->isChecked());
settings->setFilterBar(m_filterBar->isChecked());
- settings->writeConfig();
+ settings->save();
}
void StartupSettingsPage::restoreDefaults()
@@ -153,32 +165,29 @@ void StartupSettingsPage::slotSettingsChanged()
void StartupSettingsPage::selectHomeUrl()
{
const QString homeUrl = m_homeUrl->text();
- KUrl url = KFileDialog::getExistingDirectoryUrl(homeUrl, this);
+ QUrl url = QFileDialog::getExistingDirectoryUrl(this, QString(), QUrl::fromLocalFile(homeUrl));
if (!url.isEmpty()) {
- m_homeUrl->setText(url.prettyUrl());
+ m_homeUrl->setText(url.toDisplayString(QUrl::PreferLocalFile));
slotSettingsChanged();
}
}
void StartupSettingsPage::useCurrentLocation()
{
- m_homeUrl->setText(m_url.prettyUrl());
+ m_homeUrl->setText(m_url.toDisplayString(QUrl::PreferLocalFile));
}
void StartupSettingsPage::useDefaultLocation()
{
- KUrl url(QDir::homePath());
- m_homeUrl->setText(url.prettyUrl());
+ m_homeUrl->setText(QDir::homePath());
}
void StartupSettingsPage::loadSettings()
{
- const KUrl url(GeneralSettings::homeUrl());
- m_homeUrl->setText(url.prettyUrl());
+ const QUrl url(QUrl::fromLocalFile(GeneralSettings::homeUrl()));
+ m_homeUrl->setText(url.toDisplayString(QUrl::PreferLocalFile));
m_splitView->setChecked(GeneralSettings::splitView());
m_editableUrl->setChecked(GeneralSettings::editableUrl());
m_showFullPath->setChecked(GeneralSettings::showFullPath());
m_filterBar->setChecked(GeneralSettings::filterBar());
}
-
-#include "startupsettingspage.moc"
diff --git a/src/settings/startup/startupsettingspage.h b/src/settings/startup/startupsettingspage.h
index 29cdc6300..9bcc31131 100644
--- a/src/settings/startup/startupsettingspage.h
+++ b/src/settings/startup/startupsettingspage.h
@@ -20,9 +20,9 @@
#define STARTUPSETTINGSPAGE_H
#include <settings/settingspagebase.h>
-#include <KUrl>
+#include <QUrl>
-class KLineEdit;
+class QLineEdit;
class QCheckBox;
/**
@@ -36,14 +36,14 @@ class StartupSettingsPage : public SettingsPageBase
Q_OBJECT
public:
- StartupSettingsPage(const KUrl& url, QWidget* parent);
+ StartupSettingsPage(const QUrl& url, QWidget* parent);
virtual ~StartupSettingsPage();
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
private slots:
void slotSettingsChanged();
@@ -55,8 +55,8 @@ private:
void loadSettings();
private:
- KUrl m_url;
- KLineEdit* m_homeUrl;
+ QUrl m_url;
+ QLineEdit* m_homeUrl;
QCheckBox* m_splitView;
QCheckBox* m_editableUrl;
diff --git a/src/settings/trash/trashsettingspage.cpp b/src/settings/trash/trashsettingspage.cpp
index cd699856c..237a17987 100644
--- a/src/settings/trash/trashsettingspage.cpp
+++ b/src/settings/trash/trashsettingspage.cpp
@@ -20,19 +20,16 @@
#include "trashsettingspage.h"
#include <KCModuleProxy>
-#include <KDialog>
-#include <KVBox>
#include <QVBoxLayout>
TrashSettingsPage::TrashSettingsPage(QWidget* parent) :
SettingsPageBase(parent)
{
- const int spacing = KDialog::spacingHint();
-
QVBoxLayout* topLayout = new QVBoxLayout(this);
- KVBox* vBox = new KVBox(this);
- vBox->setSpacing(spacing);
+ QWidget* vBox = new QWidget(this);
+ QVBoxLayout *vBoxVBoxLayout = new QVBoxLayout(vBox);
+ vBoxVBoxLayout->setMargin(0);
m_proxy = new KCModuleProxy("kcmtrash");
topLayout->addWidget(m_proxy);
@@ -40,12 +37,14 @@ TrashSettingsPage::TrashSettingsPage(QWidget* parent) :
// Add a dummy widget with no restriction regarding
// a vertical resizing. This assures that the dialog layout
// is not stretched vertically.
- new QWidget(vBox);
+ QWidget *w = new QWidget(vBox);
+ vBoxVBoxLayout->addWidget(w);
+
topLayout->addWidget(vBox);
loadSettings();
- connect(m_proxy, SIGNAL(changed(bool)), this, SIGNAL(changed()));
+ connect(m_proxy, static_cast<void(KCModuleProxy::*)(bool)>(&KCModuleProxy::changed), this, &TrashSettingsPage::changed);
}
TrashSettingsPage::~TrashSettingsPage()
@@ -67,4 +66,3 @@ void TrashSettingsPage::loadSettings()
m_proxy->load();
}
-#include "trashsettingspage.moc"
diff --git a/src/settings/trash/trashsettingspage.h b/src/settings/trash/trashsettingspage.h
index bf4a71ea4..5c88aeab7 100644
--- a/src/settings/trash/trashsettingspage.h
+++ b/src/settings/trash/trashsettingspage.h
@@ -34,10 +34,10 @@ public:
virtual ~TrashSettingsPage();
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
private:
void loadSettings();
diff --git a/src/settings/viewmodes/dolphinfontrequester.cpp b/src/settings/viewmodes/dolphinfontrequester.cpp
index 6cb7b9929..b9c5d97cf 100644
--- a/src/settings/viewmodes/dolphinfontrequester.cpp
+++ b/src/settings/viewmodes/dolphinfontrequester.cpp
@@ -19,14 +19,13 @@
#include "dolphinfontrequester.h"
-#include <KFontDialog>
-#include <KGlobalSettings>
-#include <KLocale>
+#include <KLocalizedString>
#include <KComboBox>
-#include <QEvent>
#include <QHBoxLayout>
#include <QPushButton>
+#include <QFontDatabase>
+#include <QFontDialog>
DolphinFontRequester::DolphinFontRequester(QWidget* parent) :
QWidget(parent),
@@ -41,12 +40,12 @@ DolphinFontRequester::DolphinFontRequester(QWidget* parent) :
m_modeCombo = new KComboBox(this);
m_modeCombo->addItem(i18nc("@item:inlistbox Font", "System Font"));
m_modeCombo->addItem(i18nc("@item:inlistbox Font", "Custom Font"));
- connect(m_modeCombo, SIGNAL(activated(int)),
- this, SLOT(changeMode(int)));
+ connect(m_modeCombo, static_cast<void(KComboBox::*)(int)>(&KComboBox::activated),
+ this, &DolphinFontRequester::changeMode);
m_chooseFontButton = new QPushButton(i18nc("@action:button Choose font", "Choose..."), this);
- connect(m_chooseFontButton, SIGNAL(clicked()),
- this, SLOT(openFontDialog()));
+ connect(m_chooseFontButton, &QPushButton::clicked,
+ this, &DolphinFontRequester::openFontDialog);
changeMode(m_modeCombo->currentIndex());
@@ -72,7 +71,7 @@ DolphinFontRequester::Mode DolphinFontRequester::mode() const
QFont DolphinFontRequester::currentFont() const
{
- return (m_mode == CustomFont) ? m_customFont : KGlobalSettings::generalFont();
+ return (m_mode == CustomFont) ? m_customFont : QFontDatabase::systemFont(QFontDatabase::GeneralFont);
}
void DolphinFontRequester::setCustomFont(const QFont& font)
@@ -87,11 +86,9 @@ QFont DolphinFontRequester::customFont() const
void DolphinFontRequester::openFontDialog()
{
- QFont font = m_customFont;
- const int result = KFontDialog::getFont(font,
- KFontChooser::NoDisplayFlags,
- this);
- if (result == KFontDialog::Accepted) {
+ bool ok = false;
+ const QFont font = QFontDialog::getFont(&ok, this);
+ if (ok) {
m_customFont = font;
m_modeCombo->setFont(m_customFont);
emit changed();
@@ -104,4 +101,3 @@ void DolphinFontRequester::changeMode(int index)
emit changed();
}
-#include "dolphinfontrequester.moc"
diff --git a/src/settings/viewmodes/viewmodesettings.cpp b/src/settings/viewmodes/viewmodesettings.cpp
index 5b9334c22..2191b76fe 100644
--- a/src/settings/viewmodes/viewmodesettings.cpp
+++ b/src/settings/viewmodes/viewmodesettings.cpp
@@ -125,19 +125,19 @@ int ViewModeSettings::fontWeight() const
void ViewModeSettings::readConfig()
{
switch (m_mode) {
- case ViewModeSettings::IconsMode: IconsModeSettings::self()->readConfig(); break;
- case ViewModeSettings::CompactMode: CompactModeSettings::self()->readConfig(); break;
- case ViewModeSettings::DetailsMode: DetailsModeSettings::self()->readConfig(); break;
+ case ViewModeSettings::IconsMode: IconsModeSettings::self()->load(); break;
+ case ViewModeSettings::CompactMode: CompactModeSettings::self()->load(); break;
+ case ViewModeSettings::DetailsMode: DetailsModeSettings::self()->load(); break;
default: Q_ASSERT(false); break;
}
}
-void ViewModeSettings::writeConfig()
+void ViewModeSettings::save()
{
switch (m_mode) {
- case ViewModeSettings::IconsMode: IconsModeSettings::self()->writeConfig(); break;
- case ViewModeSettings::CompactMode: CompactModeSettings::self()->writeConfig(); break;
- case ViewModeSettings::DetailsMode: DetailsModeSettings::self()->writeConfig(); break;
+ case ViewModeSettings::IconsMode: IconsModeSettings::self()->save(); break;
+ case ViewModeSettings::CompactMode: CompactModeSettings::self()->save(); break;
+ case ViewModeSettings::DetailsMode: DetailsModeSettings::self()->save(); break;
default: Q_ASSERT(false); break;
}
}
diff --git a/src/settings/viewmodes/viewmodesettings.h b/src/settings/viewmodes/viewmodesettings.h
index be41ae284..9f0b44e9b 100644
--- a/src/settings/viewmodes/viewmodesettings.h
+++ b/src/settings/viewmodes/viewmodesettings.h
@@ -61,7 +61,7 @@ public:
int fontWeight() const;
void readConfig();
- void writeConfig();
+ void save();
private:
ViewMode m_mode;
diff --git a/src/settings/viewmodes/viewsettingspage.cpp b/src/settings/viewmodes/viewsettingspage.cpp
index 4f8a3f00d..21bb1e178 100644
--- a/src/settings/viewmodes/viewsettingspage.cpp
+++ b/src/settings/viewmodes/viewsettingspage.cpp
@@ -24,11 +24,9 @@
#include "viewsettingstab.h"
#include <QVBoxLayout>
+#include <QTabWidget>
-#include <KDialog>
-#include <KLocale>
-#include <KIconLoader>
-#include <KTabWidget>
+#include <KLocalizedString>
ViewSettingsPage::ViewSettingsPage(QWidget* parent) :
SettingsPageBase(parent),
@@ -36,24 +34,23 @@ ViewSettingsPage::ViewSettingsPage(QWidget* parent) :
{
QVBoxLayout* topLayout = new QVBoxLayout(this);
topLayout->setMargin(0);
- topLayout->setSpacing(KDialog::spacingHint());
- KTabWidget* tabWidget = new KTabWidget(this);
+ QTabWidget* tabWidget = new QTabWidget(this);
// Initialize 'Icons' tab
ViewSettingsTab* iconsTab = new ViewSettingsTab(ViewSettingsTab::IconsMode, tabWidget);
- tabWidget->addTab(iconsTab, KIcon("view-list-icons"), i18nc("@title:tab", "Icons"));
- connect(iconsTab, SIGNAL(changed()), this, SIGNAL(changed()));
+ tabWidget->addTab(iconsTab, QIcon::fromTheme("view-list-icons"), i18nc("@title:tab", "Icons"));
+ connect(iconsTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed);
// Initialize 'Compact' tab
ViewSettingsTab* compactTab = new ViewSettingsTab(ViewSettingsTab::CompactMode, tabWidget);
- tabWidget->addTab(compactTab, KIcon("view-list-details"), i18nc("@title:tab", "Compact"));
- connect(compactTab, SIGNAL(changed()), this, SIGNAL(changed()));
+ tabWidget->addTab(compactTab, QIcon::fromTheme("view-list-details"), i18nc("@title:tab", "Compact"));
+ connect(compactTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed);
// Initialize 'Details' tab
ViewSettingsTab* detailsTab = new ViewSettingsTab(ViewSettingsTab::DetailsMode, tabWidget);
- tabWidget->addTab(detailsTab, KIcon("view-list-tree"), i18nc("@title:tab", "Details"));
- connect(detailsTab, SIGNAL(changed()), this, SIGNAL(changed()));
+ tabWidget->addTab(detailsTab, QIcon::fromTheme("view-list-tree"), i18nc("@title:tab", "Details"));
+ connect(detailsTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed);
m_tabs.append(iconsTab);
m_tabs.append(compactTab);
@@ -80,4 +77,3 @@ void ViewSettingsPage::restoreDefaults()
}
}
-#include "viewsettingspage.moc"
diff --git a/src/settings/viewmodes/viewsettingspage.h b/src/settings/viewmodes/viewsettingspage.h
index 446403182..61671077e 100644
--- a/src/settings/viewmodes/viewsettingspage.h
+++ b/src/settings/viewmodes/viewsettingspage.h
@@ -40,10 +40,10 @@ public:
virtual ~ViewSettingsPage();
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings();
+ virtual void applySettings() Q_DECL_OVERRIDE;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults();
+ virtual void restoreDefaults() Q_DECL_OVERRIDE;
private:
QList<ViewSettingsTab*> m_tabs;
diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp
index bc124516d..632ae99da 100644
--- a/src/settings/viewmodes/viewsettingstab.cpp
+++ b/src/settings/viewmodes/viewsettingstab.cpp
@@ -25,7 +25,7 @@
#include "dolphin_iconsmodesettings.h"
#include <KComboBox>
-#include <KLocale>
+#include <KLocalizedString>
#include <QCheckBox>
#include <QGroupBox>
@@ -61,16 +61,16 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) :
m_defaultSizeSlider->setPageStep(1);
m_defaultSizeSlider->setTickPosition(QSlider::TicksBelow);
m_defaultSizeSlider->setRange(minRange, maxRange);
- connect(m_defaultSizeSlider, SIGNAL(valueChanged(int)),
- this, SLOT(slotDefaultSliderMoved(int)));
+ connect(m_defaultSizeSlider, &QSlider::valueChanged,
+ this, &ViewSettingsTab::slotDefaultSliderMoved);
QLabel* previewLabel = new QLabel(i18nc("@label:listbox", "Preview:"), this);
m_previewSizeSlider = new QSlider(Qt::Horizontal, this);
m_previewSizeSlider->setPageStep(1);
m_previewSizeSlider->setTickPosition(QSlider::TicksBelow);
m_previewSizeSlider->setRange(minRange, maxRange);
- connect(m_previewSizeSlider, SIGNAL(valueChanged(int)),
- this, SLOT(slotPreviewSliderMoved(int)));
+ connect(m_previewSizeSlider, &QSlider::valueChanged,
+ this, &ViewSettingsTab::slotPreviewSliderMoved);
QGridLayout* layout = new QGridLayout(iconSizeGroup);
layout->addWidget(defaultLabel, 0, 0, Qt::AlignRight);
@@ -138,20 +138,20 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) :
loadSettings();
- connect(m_defaultSizeSlider, SIGNAL(valueChanged(int)), this, SIGNAL(changed()));
- connect(m_previewSizeSlider, SIGNAL(valueChanged(int)), this, SIGNAL(changed()));
- connect(m_fontRequester, SIGNAL(changed()), this, SIGNAL(changed()));
+ connect(m_defaultSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed);
+ connect(m_previewSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed);
+ connect(m_fontRequester, &DolphinFontRequester::changed, this, &ViewSettingsTab::changed);
switch (m_mode) {
case IconsMode:
- connect(m_widthBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(changed()));
- connect(m_maxLinesBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(changed()));
+ connect(m_widthBox, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed);
+ connect(m_maxLinesBox, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed);
break;
case CompactMode:
- connect(m_widthBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(changed()));
+ connect(m_widthBox, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed);
break;
case DetailsMode:
- connect(m_expandableFolders, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
+ connect(m_expandableFolders, &QCheckBox::toggled, this, &ViewSettingsTab::changed);
break;
default:
break;
@@ -195,7 +195,7 @@ void ViewSettingsTab::applySettings()
settings.setItalicFont(font.italic());
settings.setFontWeight(font.weight());
- settings.writeConfig();
+ settings.save();
}
void ViewSettingsTab::restoreDefaultSettings()
@@ -289,4 +289,4 @@ void ViewSettingsTab::showToolTip(QSlider* slider, int value)
QHelpEvent toolTipEvent(QEvent::ToolTip, QPoint(0, 0), slider->mapToGlobal(global));
QApplication::sendEvent(slider, &toolTipEvent);
}
-#include "viewsettingstab.moc"
+
diff --git a/src/settings/viewpropertiesdialog.cpp b/src/settings/viewpropertiesdialog.cpp
index 574f8e18e..be7fe0d86 100644
--- a/src/settings/viewpropertiesdialog.cpp
+++ b/src/settings/viewpropertiesdialog.cpp
@@ -29,30 +29,27 @@
#include <config-baloo.h>
-#include <KComponentData>
-#include <KLocale>
-#include <KIconLoader>
-#include <KIO/NetAccess>
+#include <KLocalizedString>
#include <KMessageBox>
-#include <KStandardDirs>
-#include <KUrl>
+#include <QUrl>
#include <KComboBox>
+#include <KConfigGroup>
+#include <KWindowConfig>
-#include <QAction>
#include <QButtonGroup>
#include <QCheckBox>
#include <QGridLayout>
#include <QGroupBox>
#include <QLabel>
-#include <QMenu>
#include <QPushButton>
#include <QRadioButton>
-#include <QBoxLayout>
+#include <QDialogButtonBox>
+#include <QVBoxLayout>
#include <views/viewproperties.h>
ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) :
- KDialog(dolphinView),
+ QDialog(dolphinView),
m_isDirty(false),
m_dolphinView(dolphinView),
m_viewProps(0),
@@ -72,29 +69,31 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) :
Q_ASSERT(dolphinView);
const bool useGlobalViewProps = GeneralSettings::globalViewProps();
- setCaption(i18nc("@title:window", "View Properties"));
- setButtons(KDialog::Ok | KDialog::Cancel | KDialog::Apply);
+ setWindowTitle(i18nc("@title:window", "View Properties"));
+ setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
- const KUrl& url = dolphinView->url();
+ const QUrl& url = dolphinView->url();
m_viewProps = new ViewProperties(url);
m_viewProps->setAutoSaveEnabled(false);
- QWidget* main = new QWidget();
- QVBoxLayout* topLayout = new QVBoxLayout();
+ auto layout = new QVBoxLayout(this);
+ setLayout(layout);
+
+ auto propsGrid = new QWidget(this);
+ layout->addWidget(propsGrid);
// create 'Properties' group containing view mode, sorting, sort order and show hidden files
- QWidget* propsBox = main;
+ QWidget* propsBox = this;
if (!useGlobalViewProps) {
- propsBox = new QGroupBox(i18nc("@title:group", "Properties"), main);
+ propsBox = new QGroupBox(i18nc("@title:group", "Properties"), this);
+ layout->addWidget(propsBox);
}
- QWidget* propsGrid = new QWidget();
-
QLabel* viewModeLabel = new QLabel(i18nc("@label:listbox", "View mode:"), propsGrid);
m_viewMode = new KComboBox(propsGrid);
- m_viewMode->addItem(KIcon("view-list-icons"), i18nc("@item:inlistbox", "Icons"), DolphinView::IconsView);
- m_viewMode->addItem(KIcon("view-list-details"), i18nc("@item:inlistbox", "Compact"), DolphinView::CompactView);
- m_viewMode->addItem(KIcon("view-list-tree"), i18nc("@item:inlistbox", "Details"), DolphinView::DetailsView);
+ m_viewMode->addItem(QIcon::fromTheme("view-list-icons"), i18nc("@item:inlistbox", "Icons"), DolphinView::IconsView);
+ m_viewMode->addItem(QIcon::fromTheme("view-list-details"), i18nc("@item:inlistbox", "Compact"), DolphinView::CompactView);
+ m_viewMode->addItem(QIcon::fromTheme("view-list-tree"), i18nc("@item:inlistbox", "Details"), DolphinView::DetailsView);
QLabel* sortingLabel = new QLabel(i18nc("@label:listbox", "Sorting:"), propsGrid);
QWidget* sortingBox = new QWidget(propsGrid);
@@ -136,33 +135,29 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) :
propsBoxLayout->addWidget(m_showHiddenFiles);
propsBoxLayout->addWidget(m_additionalInfo);
- topLayout->addWidget(propsBox);
-
- connect(m_viewMode, SIGNAL(currentIndexChanged(int)),
- this, SLOT(slotViewModeChanged(int)));
- connect(m_sorting, SIGNAL(currentIndexChanged(int)),
- this, SLOT(slotSortingChanged(int)));
- connect(m_sortOrder, SIGNAL(currentIndexChanged(int)),
- this, SLOT(slotSortOrderChanged(int)));
- connect(m_additionalInfo, SIGNAL(clicked()),
- this, SLOT(configureAdditionalInfo()));
- connect(m_sortFoldersFirst, SIGNAL(clicked()),
- this, SLOT(slotSortFoldersFirstChanged()));
- connect(m_previewsShown, SIGNAL(clicked()),
- this, SLOT(slotShowPreviewChanged()));
- connect(m_showInGroups, SIGNAL(clicked()),
- this, SLOT(slotGroupedSortingChanged()));
- connect(m_showHiddenFiles, SIGNAL(clicked()),
- this, SLOT(slotShowHiddenFilesChanged()));
-
- connect(this, SIGNAL(okClicked()), this, SLOT(slotOk()));
- connect(this, SIGNAL(applyClicked()), this, SLOT(slotApply()));
+ connect(m_viewMode, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged),
+ this, &ViewPropertiesDialog::slotViewModeChanged);
+ connect(m_sorting, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged),
+ this, &ViewPropertiesDialog::slotSortingChanged);
+ connect(m_sortOrder, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged),
+ this, &ViewPropertiesDialog::slotSortOrderChanged);
+ connect(m_additionalInfo, &QPushButton::clicked,
+ this, &ViewPropertiesDialog::configureAdditionalInfo);
+ connect(m_sortFoldersFirst, &QCheckBox::clicked,
+ this, &ViewPropertiesDialog::slotSortFoldersFirstChanged);
+ connect(m_previewsShown, &QCheckBox::clicked,
+ this, &ViewPropertiesDialog::slotShowPreviewChanged);
+ connect(m_showInGroups, &QCheckBox::clicked,
+ this, &ViewPropertiesDialog::slotGroupedSortingChanged);
+ connect(m_showHiddenFiles, &QCheckBox::clicked,
+ this, &ViewPropertiesDialog::slotShowHiddenFilesChanged);
// Only show the following settings if the view properties are remembered
// for each directory:
if (!useGlobalViewProps) {
// create 'Apply View Properties To' group
- QGroupBox* applyBox = new QGroupBox(i18nc("@title:group", "Apply View Properties To"), main);
+ QGroupBox* applyBox = new QGroupBox(i18nc("@title:group", "Apply View Properties To"), this);
+ layout->addWidget(applyBox);
m_applyToCurrentFolder = new QRadioButton(i18nc("@option:radio Apply View Properties To",
"Current folder"), applyBox);
@@ -182,27 +177,38 @@ ViewPropertiesDialog::ViewPropertiesDialog(DolphinView* dolphinView) :
applyBoxLayout->addWidget(m_applyToSubFolders);
applyBoxLayout->addWidget(m_applyToAllFolders);
- m_useAsDefault = new QCheckBox(i18nc("@option:check", "Use these view properties as default"), main);
-
- topLayout->addWidget(applyBox);
- topLayout->addWidget(m_useAsDefault);
+ m_useAsDefault = new QCheckBox(i18nc("@option:check", "Use these view properties as default"), this);
+ layout->addWidget(m_useAsDefault);
- 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)));
+ connect(m_applyToCurrentFolder, &QRadioButton::clicked,
+ this, &ViewPropertiesDialog::markAsDirty);
+ connect(m_applyToSubFolders, &QRadioButton::clicked,
+ this, &ViewPropertiesDialog::markAsDirty);
+ connect(m_applyToAllFolders, &QRadioButton::clicked,
+ this, &ViewPropertiesDialog::markAsDirty);
+ connect(m_useAsDefault, &QCheckBox::clicked,
+ this, &ViewPropertiesDialog::markAsDirty);
}
- main->setLayout(topLayout);
- setMainWidget(main);
+ layout->addStretch();
- const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"),
- "ViewPropertiesDialog");
- restoreDialogSize(dialogConfig);
+ auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::Apply, this);
+ connect(buttonBox, &QDialogButtonBox::accepted, this, &ViewPropertiesDialog::accept);
+ connect(buttonBox, &QDialogButtonBox::rejected, this, &ViewPropertiesDialog::reject);
+ layout->addWidget(buttonBox);
+
+ auto okButton = buttonBox->button(QDialogButtonBox::Ok);
+ okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
+ okButton->setDefault(true);
+
+ auto applyButton = buttonBox->button(QDialogButtonBox::Apply);
+ connect(applyButton, &QPushButton::clicked, this, &ViewPropertiesDialog::slotApply);
+ connect(this, &ViewPropertiesDialog::isDirtyChanged, applyButton, [applyButton](bool isDirty) {
+ applyButton->setEnabled(isDirty);
+ });
+
+ const KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "ViewPropertiesDialog");
+ KWindowConfig::restoreWindowSize(windowHandle(), dialogConfig);
loadSettings();
}
@@ -213,15 +219,14 @@ ViewPropertiesDialog::~ViewPropertiesDialog()
delete m_viewProps;
m_viewProps = 0;
- KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"),
- "ViewPropertiesDialog");
- saveDialogSize(dialogConfig, KConfigBase::Persistent);
+ KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"), "ViewPropertiesDialog");
+ KWindowConfig::saveWindowSize(windowHandle(), dialogConfig);
}
-void ViewPropertiesDialog::slotOk()
+void ViewPropertiesDialog::accept()
{
applyViewProperties();
- accept();
+ QDialog::accept();
}
void ViewPropertiesDialog::slotApply()
@@ -281,8 +286,10 @@ void ViewPropertiesDialog::slotShowHiddenFilesChanged()
void ViewPropertiesDialog::markAsDirty(bool isDirty)
{
- m_isDirty = isDirty;
- enableButtonApply(isDirty);
+ if (m_isDirty != isDirty) {
+ m_isDirty = isDirty;
+ emit isDirtyChanged(isDirty);
+ }
}
void ViewPropertiesDialog::configureAdditionalInfo()
@@ -358,7 +365,7 @@ void ViewPropertiesDialog::applyViewProperties()
// all existing viewproperties invalid, as they have a smaller time stamp.
GeneralSettings* settings = GeneralSettings::self();
settings->setViewPropsTimestamp(QDateTime::currentDateTime());
- settings->writeConfig();
+ settings->save();
}
m_dolphinView->setMode(m_viewProps->viewMode());
@@ -408,4 +415,3 @@ void ViewPropertiesDialog::loadSettings()
markAsDirty(false);
}
-#include "viewpropertiesdialog.moc"
diff --git a/src/settings/viewpropertiesdialog.h b/src/settings/viewpropertiesdialog.h
index 6b0e9ff48..5490be85b 100644
--- a/src/settings/viewpropertiesdialog.h
+++ b/src/settings/viewpropertiesdialog.h
@@ -21,9 +21,9 @@
#ifndef VIEWPROPERTIESDIALOG_H
#define VIEWPROPERTIESDIALOG_H
-#include "libdolphin_export.h"
+#include "dolphin_export.h"
-#include <KDialog>
+#include <QDialog>
class QCheckBox;
class KComboBox;
@@ -39,7 +39,7 @@ class DolphinView;
* and previews should be shown. The properties can be assigned to the current folder,
* or recursively to all sub folders.
*/
-class LIBDOLPHINPRIVATE_EXPORT ViewPropertiesDialog : public KDialog
+class DOLPHIN_EXPORT ViewPropertiesDialog : public QDialog
{
Q_OBJECT
@@ -47,8 +47,10 @@ public:
explicit ViewPropertiesDialog(DolphinView* dolphinView);
virtual ~ViewPropertiesDialog();
+public slots:
+ void accept() Q_DECL_OVERRIDE;
+
private slots:
- void slotOk();
void slotApply();
void slotViewModeChanged(int index);
void slotSortingChanged(int index);
@@ -60,6 +62,9 @@ private slots:
void markAsDirty(bool isDirty);
void configureAdditionalInfo();
+signals:
+ void isDirtyChanged(bool isDirty);
+
private:
void applyViewProperties();
void loadSettings();
diff --git a/src/settings/viewpropsprogressinfo.cpp b/src/settings/viewpropsprogressinfo.cpp
index 9b7797d02..56fee8027 100644
--- a/src/settings/viewpropsprogressinfo.cpp
+++ b/src/settings/viewpropsprogressinfo.cpp
@@ -24,17 +24,20 @@
#include <QLabel>
#include <QProgressBar>
#include <QTimer>
-#include <QBoxLayout>
+#include <QVBoxLayout>
+#include <QDialogButtonBox>
+#include <QPushButton>
-#include <KLocale>
-#include <KIO/JobClasses>
+#include <KConfigGroup>
+#include <KLocalizedString>
+#include <KIO/Job>
#include <views/viewproperties.h>
ViewPropsProgressInfo::ViewPropsProgressInfo(QWidget* parent,
- const KUrl& dir,
+ const QUrl& dir,
const ViewProperties& viewProps) :
- KDialog(parent),
+ QDialog(parent),
m_dir(dir),
m_viewProps(0),
m_label(0),
@@ -45,9 +48,8 @@ ViewPropsProgressInfo::ViewPropsProgressInfo(QWidget* parent,
{
const QSize minSize = minimumSize();
setMinimumSize(QSize(320, minSize.height()));
-
- setCaption(i18nc("@title:window", "Applying View Properties"));
- setButtons(KDialog::Cancel);
+ setWindowTitle(i18nc("@title:window", "Applying View Properties"));
+ setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
m_viewProps = new ViewProperties(dir);
m_viewProps->setDirProperties(viewProps);
@@ -56,37 +58,39 @@ ViewPropsProgressInfo::ViewPropsProgressInfo(QWidget* parent,
// that the view properties are saved twice:
m_viewProps->setAutoSaveEnabled(false);
- QWidget* main = new QWidget();
- QVBoxLayout* topLayout = new QVBoxLayout();
+ auto layout = new QVBoxLayout(this);
+ setLayout(layout);
+
+ m_label = new QLabel(i18nc("@info:progress", "Counting folders: %1", 0), this);
+ layout->addWidget(m_label);
- m_label = new QLabel(i18nc("@info:progress", "Counting folders: %1", 0), main);
- m_progressBar = new QProgressBar(main);
+ m_progressBar = new QProgressBar(this);
m_progressBar->setMinimum(0);
m_progressBar->setMaximum(0);
m_progressBar->setValue(0);
+ layout->addWidget(m_progressBar);
- topLayout->addWidget(m_label);
- topLayout->addWidget(m_progressBar);
+ layout->addStretch();
- main->setLayout(topLayout);
- setMainWidget(main);
+ auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel, this);
+ connect(buttonBox, &QDialogButtonBox::accepted, this, &ViewPropsProgressInfo::accept);
+ connect(buttonBox, &QDialogButtonBox::rejected, this, &ViewPropsProgressInfo::reject);
+ layout->addWidget(buttonBox);
// Use the directory size job to count the number of directories first. This
// allows to give a progress indication for the user when applying the view
// properties later.
m_dirSizeJob = KIO::directorySize(dir);
- connect(m_dirSizeJob, SIGNAL(result(KJob*)),
- this, SLOT(applyViewProperties()));
+ connect(m_dirSizeJob, &KIO::DirectorySizeJob::result,
+ this, &ViewPropsProgressInfo::applyViewProperties);
// The directory size job cannot emit any progress signal, as it is not aware
// about the total number of directories. Therefor a timer is triggered, which
// periodically updates the current directory count.
m_timer = new QTimer(this);
- connect(m_timer, SIGNAL(timeout()),
- this, SLOT(updateProgress()));
+ connect(m_timer, &QTimer::timeout,
+ this, &ViewPropsProgressInfo::updateProgress);
m_timer->start(300);
-
- connect(this, SIGNAL(cancelClicked()), this, SLOT(cancelApplying()));
}
ViewPropsProgressInfo::~ViewPropsProgressInfo()
@@ -99,7 +103,22 @@ void ViewPropsProgressInfo::closeEvent(QCloseEvent* event)
{
m_timer->stop();
m_applyViewPropsJob = 0;
- KDialog::closeEvent(event);
+ QDialog::closeEvent(event);
+}
+
+void ViewPropsProgressInfo::reject()
+{
+ if (m_dirSizeJob) {
+ m_dirSizeJob->kill();
+ m_dirSizeJob = 0;
+ }
+
+ if (m_applyViewPropsJob) {
+ m_applyViewPropsJob->kill();
+ m_applyViewPropsJob = 0;
+ }
+
+ QDialog::reject();
}
void ViewPropsProgressInfo::updateProgress()
@@ -128,21 +147,7 @@ void ViewPropsProgressInfo::applyViewProperties()
m_dirSizeJob = 0;
m_applyViewPropsJob = new ApplyViewPropsJob(m_dir, *m_viewProps);
- connect(m_applyViewPropsJob, SIGNAL(result(KJob*)),
- this, SLOT(close()));
-}
-
-void ViewPropsProgressInfo::cancelApplying()
-{
- if (m_dirSizeJob) {
- m_dirSizeJob->kill();
- m_dirSizeJob = 0;
- }
-
- if (m_applyViewPropsJob) {
- m_applyViewPropsJob->kill();
- m_applyViewPropsJob = 0;
- }
+ connect(m_applyViewPropsJob, &ApplyViewPropsJob::result,
+ this, &ViewPropsProgressInfo::close);
}
-#include "viewpropsprogressinfo.moc"
diff --git a/src/settings/viewpropsprogressinfo.h b/src/settings/viewpropsprogressinfo.h
index 6f8c763c3..cd7aa50ce 100644
--- a/src/settings/viewpropsprogressinfo.h
+++ b/src/settings/viewpropsprogressinfo.h
@@ -20,9 +20,9 @@
#ifndef VIEWPROPSPROGRESSINFO_H
#define VIEWPROPSPROGRESSINFO_H
-#include <KDialog>
+#include <QDialog>
#include <kio/directorysizejob.h>
-#include <KUrl>
+#include <QUrl>
class ApplyViewPropsJob;
class QLabel;
@@ -37,7 +37,7 @@ class ViewProperties;
* It is possible to cancel the applying. In this case the already applied
* view properties won't get reverted.
*/
-class ViewPropsProgressInfo : public KDialog
+class ViewPropsProgressInfo : public QDialog
{
Q_OBJECT
@@ -50,21 +50,23 @@ public:
* sub directories.
*/
ViewPropsProgressInfo(QWidget* parent,
- const KUrl& dir,
+ const QUrl& dir,
const ViewProperties& viewProps);
virtual ~ViewPropsProgressInfo();
protected:
- virtual void closeEvent(QCloseEvent* event);
+ virtual void closeEvent(QCloseEvent* event) Q_DECL_OVERRIDE;
+
+public slots:
+ void reject() Q_DECL_OVERRIDE;
private slots:
void updateProgress();
void applyViewProperties();
- void cancelApplying();
private:
- KUrl m_dir;
+ QUrl m_dir;
ViewProperties* m_viewProps;
QLabel* m_label;