]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Show full path in title bar
authorJohn Salatas <jsalatas@gmail.com>
Sat, 14 Jan 2017 12:26:14 +0000 (04:26 -0800)
committerJohn Salatas <jsalatas@gmail.com>
Sat, 14 Jan 2017 12:26:14 +0000 (04:26 -0800)
BUG: 229810

Differential Revision: https://phabricator.kde.org/D4078

src/dolphinmainwindow.cpp
src/settings/dolphin_generalsettings.kcfg
src/settings/startup/startupsettingspage.cpp
src/settings/startup/startupsettingspage.h

index e5103fd42826065233244b2581927af1e802d392..deb5d5e576b0a3523f47aa6dc4445e5829b94323 100644 (file)
@@ -961,13 +961,17 @@ void DolphinMainWindow::setUrlAsCaption(const QUrl& url)
         }
     }
 
-    QString fileName = url.adjusted(QUrl::StripTrailingSlash).fileName();
-    if (fileName.isEmpty()) {
-        fileName = '/';
+    if (GeneralSettings::showFullPathInTitlebar()) {
+        const QString path = url.adjusted(QUrl::StripTrailingSlash).path();
+        caption.append(path);
+    } else {
+        QString fileName = url.adjusted(QUrl::StripTrailingSlash).fileName();
+        if (fileName.isEmpty()) {
+            fileName = '/';
+        }
+        caption.append(fileName);
     }
 
-    caption.append(fileName);
-
     setWindowTitle(caption);
 }
 
@@ -1404,6 +1408,7 @@ void DolphinMainWindow::refreshViews()
         const bool splitView = GeneralSettings::splitView();
         m_tabWidget->currentTabPage()->setSplitViewEnabled(splitView);
         updateSplitAction();
+        setUrlAsCaption(activeViewContainer()->url());
     }
 
     emit settingsChanged();
index c724afcd1c0dac12bebe335cfcf7895590a0d832..5878abcbe1f33a5eaa7a073e7b0de422f5ba6825 100644 (file)
             <label>Should the full path be shown inside the location bar</label>
             <default>false</default>
         </entry>
+        <entry name="ShowFullPathInTitlebar" type="Bool">
+            <label>Should the full path be shown in the title bar</label>
+            <default>false</default>
+        </entry>
         <entry name="Version" type="Int">
             <label>Internal version of Dolphin, containing 3 digits for major, minor, bugfix</label>
             <default>0</default>
index 6554493d8066ab6a67c2ed633655e7ff6aed1d89..f076f16c74e56c04acfb59de9a5b2be4c06dfbf6 100644 (file)
@@ -46,7 +46,8 @@ StartupSettingsPage::StartupSettingsPage(const QUrl& url, QWidget* parent) :
     m_splitView(0),
     m_editableUrl(0),
     m_showFullPath(0),
-    m_filterBar(0)
+    m_filterBar(0),
+    m_showFullPathInTitlebar(0)
 {
     QVBoxLayout* topLayout = new QVBoxLayout(this);
     QWidget* vBox = new QWidget(this);
@@ -104,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
@@ -119,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()
@@ -141,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();
 }
@@ -190,4 +195,5 @@ void StartupSettingsPage::loadSettings()
     m_editableUrl->setChecked(GeneralSettings::editableUrl());
     m_showFullPath->setChecked(GeneralSettings::showFullPath());
     m_filterBar->setChecked(GeneralSettings::filterBar());
+    m_showFullPathInTitlebar->setChecked(GeneralSettings::showFullPathInTitlebar());
 }
index 9bcc3113171bbef5b5fdae186254a5bbe383cec0..7a69cd3d61b42f479db7c19e2db8c2848b5696d8 100644 (file)
@@ -62,6 +62,7 @@ private:
     QCheckBox* m_editableUrl;
     QCheckBox* m_showFullPath;
     QCheckBox* m_filterBar;
+    QCheckBox* m_showFullPathInTitlebar;
 };
 
 #endif