X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/550da74b546198f03b3d2fc4fe6747bb17636aea..b5fc0369993986c2e47abf223dd659f8820894bf:/src/settings/startup/startupsettingspage.cpp diff --git a/src/settings/startup/startupsettingspage.cpp b/src/settings/startup/startupsettingspage.cpp index 693826318..11adb869b 100644 --- a/src/settings/startup/startupsettingspage.cpp +++ b/src/settings/startup/startupsettingspage.cpp @@ -26,20 +26,21 @@ #include #include -#include -#include +#include +#include #include -#include +#include #include #include #include #include -#include +#include +#include #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), @@ -51,37 +52,50 @@ StartupSettingsPage::StartupSettingsPage(const KUrl& url, QWidget* 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 *vBoxLayout = new QVBoxLayout(vBox); + vBoxLayout->setMargin(0); + vBoxLayout->setSpacing(spacing); + 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); + homeUrlBoxLayout->setSpacing(spacing); - 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); + buttonBoxLayout->setSpacing(spacing); 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 +103,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 +120,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 +135,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 +148,7 @@ void StartupSettingsPage::applySettings() settings->setShowFullPath(m_showFullPath->isChecked()); settings->setFilterBar(m_filterBar->isChecked()); - settings->writeConfig(); + settings->save(); } void StartupSettingsPage::restoreDefaults() @@ -153,32 +171,29 @@ void StartupSettingsPage::slotSettingsChanged() void StartupSettingsPage::selectHomeUrl() { const QString homeUrl = m_homeUrl->text(); - KUrl url = KFileDialog::getExistingDirectoryUrl(homeUrl, this); + QUrl url = KFileDialog::getExistingDirectoryUrl(QUrl::fromLocalFile(homeUrl), this); 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"