]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/settings/startup/startupsettingspage.cpp
Implemented (QTabBar based) DolphinTabBar class to encapsulate the tab bar handling...
[dolphin.git] / src / settings / startup / startupsettingspage.cpp
index d4bdca33976e64180e11611a77dc07d60b0ff04b..693826318241231c4a967b5e4d598bb3ccbb8259 100644 (file)
@@ -19,7 +19,6 @@
 
 #include "startupsettingspage.h"
 
-#include "settings/dolphinsettings.h"
 #include "dolphinmainwindow.h"
 #include "dolphinviewcontainer.h"
 
@@ -66,6 +65,11 @@ StartupSettingsPage::StartupSettingsPage(const KUrl& url, QWidget* parent) :
     m_homeUrl->setClearButtonShown(true);
 
     QPushButton* selectHomeUrlButton = new QPushButton(KIcon("folder-open"), QString(), homeUrlBox);
+
+#ifndef QT_NO_ACCESSIBILITY
+    selectHomeUrlButton->setAccessibleName(i18nc("@action:button", "Select Home Location"));
+#endif
+
     connect(selectHomeUrlButton, SIGNAL(clicked()),
             this, SLOT(selectHomeUrl()));
 
@@ -98,7 +102,7 @@ StartupSettingsPage::StartupSettingsPage(const KUrl& url, QWidget* parent) :
 
     loadSettings();
 
-    connect(m_homeUrl, SIGNAL(textChanged(const QString&)), this, SLOT(slotSettingsChanged()));
+    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()));
@@ -111,11 +115,11 @@ StartupSettingsPage::~StartupSettingsPage()
 
 void StartupSettingsPage::applySettings()
 {
-    GeneralSettings* settings = DolphinSettings::instance().generalSettings();
+    GeneralSettings* settings = GeneralSettings::self();
 
     const KUrl url(m_homeUrl->text());
     KFileItem fileItem(KFileItem::Unknown, KFileItem::Unknown, url);
-    if (url.isValid() && fileItem.isDir()) {
+    if ((url.isValid() && fileItem.isDir()) || (url.protocol() == QLatin1String("timeline"))) {
         settings->setHomeUrl(url.prettyUrl());
     } else {
         KMessageBox::error(this, i18nc("@info", "The location for the home folder is invalid or does not exist, it will not be applied."));
@@ -131,7 +135,7 @@ void StartupSettingsPage::applySettings()
 
 void StartupSettingsPage::restoreDefaults()
 {
-    GeneralSettings* settings = DolphinSettings::instance().generalSettings();
+    GeneralSettings* settings = GeneralSettings::self();
     settings->useDefaults(true);
     loadSettings();
     settings->useDefaults(false);
@@ -142,9 +146,7 @@ void StartupSettingsPage::slotSettingsChanged()
     // Provide a hint that the startup settings have been changed. This allows the views
     // to apply the startup settings only if they have been explicitly changed by the user
     // (see bug #254947).
-    GeneralSettings* settings = DolphinSettings::instance().generalSettings();
-    settings->setModifiedStartupSettings(true);
-
+    GeneralSettings::setModifiedStartupSettings(true);
     emit changed();
 }
 
@@ -171,13 +173,12 @@ void StartupSettingsPage::useDefaultLocation()
 
 void StartupSettingsPage::loadSettings()
 {
-    GeneralSettings* settings = DolphinSettings::instance().generalSettings();
-    KUrl url(settings->homeUrl());
+    const KUrl url(GeneralSettings::homeUrl());
     m_homeUrl->setText(url.prettyUrl());
-    m_splitView->setChecked(settings->splitView());
-    m_editableUrl->setChecked(settings->editableUrl());
-    m_showFullPath->setChecked(settings->showFullPath());
-    m_filterBar->setChecked(settings->filterBar());
+    m_splitView->setChecked(GeneralSettings::splitView());
+    m_editableUrl->setChecked(GeneralSettings::editableUrl());
+    m_showFullPath->setChecked(GeneralSettings::showFullPath());
+    m_filterBar->setChecked(GeneralSettings::filterBar());
 }
 
 #include "startupsettingspage.moc"