From 36c8c952b2ef8d4a44def3794a20db69c8c833e151c1126f13a4415078068029 Mon Sep 17 00:00:00 2001 From: Hrvoje Senjan Date: Sun, 25 Oct 2015 13:58:53 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/KDE:Applications/dolphin?expand=0&rev=10 --- ...irectories-with-non-local-file-paths.patch | 162 ++++++++++++++++++ dolphin.changes | 6 + dolphin.spec | 8 +- 3 files changed, 173 insertions(+), 3 deletions(-) create mode 100644 allow-home-directories-with-non-local-file-paths.patch diff --git a/allow-home-directories-with-non-local-file-paths.patch b/allow-home-directories-with-non-local-file-paths.patch new file mode 100644 index 0000000..526bb5b --- /dev/null +++ b/allow-home-directories-with-non-local-file-paths.patch @@ -0,0 +1,162 @@ +From: Emmanuel Pescosta +Date: Sat, 10 Oct 2015 13:09:48 +0000 +Subject: Allow home directories with non-local file paths. +X-Git-Url: http://quickgit.kde.org/?p=dolphin.git&a=commitdiff&h=5dd5eaf08da4b7d11e53c90096c2ea0e6a19e840 +--- +Allow home directories with non-local file paths. + +Paths like file:/home/me work now instead of showing +an error message. + +BUG: 352743 +BUG: 353550 +FIXED-IN: 15.08.3 +REVIEW: 125586 +--- + + +--- a/src/dolphinmainwindow.cpp ++++ b/src/dolphinmainwindow.cpp +@@ -21,6 +21,7 @@ + + #include "dolphinmainwindow.h" + ++#include "global.h" + #include "dolphindockwidget.h" + #include "dolphincontextmenu.h" + #include "dolphinnewfilemenu.h" +@@ -639,7 +640,7 @@ + { + // The default case (left button pressed) is handled in goHome(). + if (buttons == Qt::MiddleButton) { +- openNewTab(GeneralSettings::self()->homeUrl()); ++ openNewTab(Dolphin::homeUrl()); + } + } + + +--- a/src/dolphinviewcontainer.cpp ++++ b/src/dolphinviewcontainer.cpp +@@ -39,6 +39,7 @@ + #ifdef KActivities_FOUND + #endif + ++#include "global.h" + #include "dolphin_generalsettings.h" + #include "filterbar/filterbar.h" + #include "search/dolphinsearchbox.h" +@@ -77,7 +78,7 @@ + const GeneralSettings* settings = GeneralSettings::self(); + m_urlNavigator->setUrlEditable(settings->editableUrl()); + m_urlNavigator->setShowFullPath(settings->showFullPath()); +- m_urlNavigator->setHomeUrl(QUrl::fromLocalFile(settings->homeUrl())); ++ m_urlNavigator->setHomeUrl(Dolphin::homeUrl()); + KUrlComboBox* editor = m_urlNavigator->editor(); + editor->setCompletionMode(KCompletion::CompletionMode(settings->urlCompletionMode())); + +@@ -304,7 +305,7 @@ + // settings of the URL navigator and the filterbar. + m_urlNavigator->setUrlEditable(GeneralSettings::editableUrl()); + m_urlNavigator->setShowFullPath(GeneralSettings::showFullPath()); +- m_urlNavigator->setHomeUrl(QUrl::fromLocalFile(GeneralSettings::homeUrl())); ++ m_urlNavigator->setHomeUrl(Dolphin::homeUrl()); + setFilterBarVisible(GeneralSettings::filterBar()); + } + +@@ -340,7 +341,7 @@ + // started with a search-URL, the home URL is used as fallback. + QUrl url = m_searchBox->searchPath(); + if (url.isEmpty() || !url.isValid() || isSearchUrl(url)) { +- url = QUrl::fromLocalFile(GeneralSettings::self()->homeUrl()); ++ url = Dolphin::homeUrl(); + } + m_urlNavigator->setLocationUrl(url); + } + +--- a/src/global.cpp ++++ b/src/global.cpp +@@ -20,6 +20,8 @@ + #include "global.h" + #include "dolphindebug.h" + ++#include "dolphin_generalsettings.h" ++ + QList Dolphin::validateUris(const QStringList& uriList) + { + QList urls; +@@ -33,3 +35,8 @@ QList Dolphin::validateUris(const + } + return urls; + } ++ ++QUrl Dolphin::homeUrl() ++{ ++ return QUrl::fromUserInput(GeneralSettings::homeUrl(), QString(), QUrl::AssumeLocalFile); ++} +--- a/src/global.h ++++ b/src/global.h +@@ -25,6 +25,11 @@ + + namespace Dolphin { + QList validateUris(const QStringList& uriList); ++ ++ /** ++ * Returns the home url which is defined in General Settings ++ */ ++ QUrl homeUrl(); + } + + #endif //GLOBAL_H + +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -113,8 +113,7 @@ + + if (urls.isEmpty()) { + // We need at least one URL to open Dolphin +- const QUrl homeUrl(QUrl::fromLocalFile(GeneralSettings::homeUrl())); +- urls.append(homeUrl); ++ urls.append(Dolphin::homeUrl()); + } + + const bool splitView = parser.isSet("split") || GeneralSettings::splitView(); + +--- a/src/settings/startup/startupsettingspage.cpp ++++ b/src/settings/startup/startupsettingspage.cpp +@@ -19,6 +19,7 @@ + + #include "startupsettingspage.h" + ++#include "global.h" + #include "dolphinmainwindow.h" + #include "dolphinviewcontainer.h" + +@@ -128,7 +129,7 @@ + { + 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)); +@@ -163,8 +164,8 @@ + + void StartupSettingsPage::selectHomeUrl() + { +- const QString homeUrl = m_homeUrl->text(); +- QUrl url = QFileDialog::getExistingDirectoryUrl(this, QString(), QUrl::fromLocalFile(homeUrl)); ++ 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(); +@@ -183,7 +184,7 @@ + + 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()); diff --git a/dolphin.changes b/dolphin.changes index a4ee0e9..e1b13bd 100644 --- a/dolphin.changes +++ b/dolphin.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Oct 25 14:02:05 UTC 2015 - hrvoje.senjan@gmail.com + +- Added allow-home-directories-with-non-local-file-paths.patch + (boo#950883, kde#352743, kde#353550) + ------------------------------------------------------------------- Wed Oct 21 16:34:29 UTC 2015 - wbauer@tmo.at diff --git a/dolphin.spec b/dolphin.spec index b499303..b283661 100644 --- a/dolphin.spec +++ b/dolphin.spec @@ -26,9 +26,10 @@ Url: http://www.kde.org/ Source: dolphin-%{version}.tar.xz Source1: dolphinsu.desktop Patch0: dolphin-go_up.diff -BuildRequires: baloo5-widgets-devel +# PATCH-FIX-UPSTREAM allow-home-directories-with-non-local-file-paths.patch +Patch1: allow-home-directories-with-non-local-file-paths.patch BuildRequires: baloo5-devel -BuildRequires: kfilemetadata5-devel +BuildRequires: baloo5-widgets-devel BuildRequires: extra-cmake-modules >= 1.6.0 BuildRequires: kactivities5-devel >= 5.7.0 BuildRequires: kbookmarks-devel >= 5.7.0 @@ -38,6 +39,7 @@ BuildRequires: kconfig-devel >= 5.7.0 BuildRequires: kcoreaddons-devel >= 5.7.0 BuildRequires: kdbusaddons-devel >= 5.7.0 BuildRequires: kdoctools-devel >= 5.7.0 +BuildRequires: kfilemetadata5-devel BuildRequires: ki18n-devel >= 5.7.0 BuildRequires: kiconthemes-devel >= 5.7.0 BuildRequires: kinit-devel >= 5.7.0 @@ -93,6 +95,7 @@ This package contains the libraries used by Dolphin and Konqueror. %prep %setup -q -n dolphin-%{version} %patch0 -p1 +%patch1 -p1 %build %cmake_kf5 -d build @@ -139,7 +142,6 @@ This package contains the libraries used by Dolphin and Konqueror. %{_datadir}/dbus-1/interfaces/org.freedesktop.FileManager1.xml %{_datadir}/dbus-1/services/org.kde.dolphin.FileManager1.service - %files -n dolphin-part %defattr(-,root,root) %doc COPYING* README