X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/a06ee3399bece608790e419054f95807a017a020..1a6b3c0a2baba955259d6083c0a3f25dfb44a682:/src/settings/startup/startupsettingspage.cpp diff --git a/src/settings/startup/startupsettingspage.cpp b/src/settings/startup/startupsettingspage.cpp index 11adb869b..b216181d8 100644 --- a/src/settings/startup/startupsettingspage.cpp +++ b/src/settings/startup/startupsettingspage.cpp @@ -19,13 +19,12 @@ #include "startupsettingspage.h" +#include "global.h" #include "dolphinmainwindow.h" #include "dolphinviewcontainer.h" #include "dolphin_generalsettings.h" -#include -#include #include #include #include @@ -36,26 +35,24 @@ #include #include #include -#include +#include #include "views/dolphinview.h" StartupSettingsPage::StartupSettingsPage(const QUrl& url, QWidget* parent) : SettingsPageBase(parent), m_url(url), - m_homeUrl(0), - m_splitView(0), - m_editableUrl(0), - m_showFullPath(0), - m_filterBar(0) + m_homeUrl(nullptr), + m_splitView(nullptr), + m_editableUrl(nullptr), + m_showFullPath(nullptr), + m_filterBar(nullptr), + m_showFullPathInTitlebar(nullptr) { - const int spacing = KDialog::spacingHint(); - QVBoxLayout* topLayout = new QVBoxLayout(this); QWidget* vBox = new QWidget(this); QVBoxLayout *vBoxLayout = new QVBoxLayout(vBox); vBoxLayout->setMargin(0); - vBoxLayout->setSpacing(spacing); vBoxLayout->setAlignment(Qt::AlignTop); // create 'Home URL' editor @@ -65,7 +62,6 @@ StartupSettingsPage::StartupSettingsPage(const QUrl& url, QWidget* parent) : QWidget* homeUrlBox = new QWidget(homeBox); QHBoxLayout *homeUrlBoxLayout = new QHBoxLayout(homeUrlBox); homeUrlBoxLayout->setMargin(0); - homeUrlBoxLayout->setSpacing(spacing); QLabel* homeUrlLabel = new QLabel(i18nc("@label:textbox", "Location:"), homeUrlBox); homeUrlBoxLayout->addWidget(homeUrlLabel); @@ -73,7 +69,7 @@ StartupSettingsPage::StartupSettingsPage(const QUrl& url, QWidget* parent) : homeUrlBoxLayout->addWidget(m_homeUrl); m_homeUrl->setClearButtonEnabled(true); - QPushButton* selectHomeUrlButton = new QPushButton(QIcon::fromTheme("folder-open"), QString(), homeUrlBox); + QPushButton* selectHomeUrlButton = new QPushButton(QIcon::fromTheme(QStringLiteral("folder-open")), QString(), homeUrlBox); homeUrlBoxLayout->addWidget(selectHomeUrlButton); #ifndef QT_NO_ACCESSIBILITY @@ -86,7 +82,6 @@ StartupSettingsPage::StartupSettingsPage(const QUrl& url, QWidget* parent) : 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); buttonBoxLayout->addWidget(useCurrentButton); @@ -110,6 +105,8 @@ StartupSettingsPage::StartupSettingsPage(const QUrl& url, QWidget* parent) : vBoxLayout->addWidget(m_showFullPath); m_filterBar = new QCheckBox(i18nc("@option:check Startup Settings", "Show filter bar"), vBox); vBoxLayout->addWidget(m_filterBar); + m_showFullPathInTitlebar = new QCheckBox(i18nc("@option:check Startup Settings", "Show full path in title bar"), vBox); + vBoxLayout->addWidget(m_showFullPathInTitlebar); // Add a dummy widget with no restriction regarding // a vertical resizing. This assures that the dialog layout @@ -125,6 +122,7 @@ StartupSettingsPage::StartupSettingsPage(const QUrl& url, QWidget* parent) : connect(m_editableUrl, &QCheckBox::toggled, this, &StartupSettingsPage::slotSettingsChanged); connect(m_showFullPath, &QCheckBox::toggled, this, &StartupSettingsPage::slotSettingsChanged); connect(m_filterBar, &QCheckBox::toggled, this, &StartupSettingsPage::slotSettingsChanged); + connect(m_showFullPathInTitlebar, &QCheckBox::toggled, this, &StartupSettingsPage::slotSettingsChanged); } StartupSettingsPage::~StartupSettingsPage() @@ -135,7 +133,7 @@ void StartupSettingsPage::applySettings() { GeneralSettings* settings = GeneralSettings::self(); - const QUrl url(QUrl::fromLocalFile(m_homeUrl->text())); + const QUrl url(QUrl::fromUserInput(m_homeUrl->text(), QString(), QUrl::AssumeLocalFile)); KFileItem fileItem(url); if ((url.isValid() && fileItem.isDir()) || (url.scheme() == QLatin1String("timeline"))) { settings->setHomeUrl(url.toDisplayString(QUrl::PreferLocalFile)); @@ -147,6 +145,7 @@ void StartupSettingsPage::applySettings() settings->setEditableUrl(m_editableUrl->isChecked()); settings->setShowFullPath(m_showFullPath->isChecked()); settings->setFilterBar(m_filterBar->isChecked()); + settings->setShowFullPathInTitlebar(m_showFullPathInTitlebar->isChecked()); settings->save(); } @@ -170,8 +169,8 @@ void StartupSettingsPage::slotSettingsChanged() void StartupSettingsPage::selectHomeUrl() { - const QString homeUrl = m_homeUrl->text(); - QUrl url = KFileDialog::getExistingDirectoryUrl(QUrl::fromLocalFile(homeUrl), this); + const QUrl homeUrl(QUrl::fromUserInput(m_homeUrl->text(), QString(), QUrl::AssumeLocalFile)); + QUrl url = QFileDialog::getExistingDirectoryUrl(this, QString(), homeUrl); if (!url.isEmpty()) { m_homeUrl->setText(url.toDisplayString(QUrl::PreferLocalFile)); slotSettingsChanged(); @@ -190,10 +189,11 @@ void StartupSettingsPage::useDefaultLocation() void StartupSettingsPage::loadSettings() { - const QUrl url(QUrl::fromLocalFile(GeneralSettings::homeUrl())); + const QUrl url(Dolphin::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()); + m_showFullPathInTitlebar->setChecked(GeneralSettings::showFullPathInTitlebar()); }