From df3c2c1391a59a4d7d55365c6259f786e81ae642 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 28 Jan 2019 08:29:51 +0100 Subject: [PATCH 1/5] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- src/dolphinpart.desktop | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dolphinpart.desktop b/src/dolphinpart.desktop index a217e34c5b..033a27e987 100644 --- a/src/dolphinpart.desktop +++ b/src/dolphinpart.desktop @@ -150,7 +150,7 @@ Name[sv]=Kompakt Name[tr]=Sıkışık Name[uk]=Компактний Name[x-test]=xxCompactxx -Name[zh_CN]=精简视图 +Name[zh_CN]=紧凑 Name[zh_TW]=簡潔模式 Icon=view-list-details # Dummy @@ -199,7 +199,7 @@ Name[sv]=Detaljinformation Name[tr]=Ayrıntılar Name[uk]=Подробиці Name[x-test]=xxDetailsxx -Name[zh_CN]=详细信息 +Name[zh_CN]=详细 Name[zh_TW]=詳細模式 Icon=view-list-tree # Dummy From 9a9fbae988147c5651ce9e2bd2b412d32c1bf01d Mon Sep 17 00:00:00 2001 From: Anthony Fieroni Date: Tue, 29 Jan 2019 20:28:07 +0200 Subject: [PATCH 2/5] [versioncontrolobserver] Do not use static plugin objects Differential Revision: https://phabricator.kde.org/D17640 Signed-off-by: Anthony Fieroni --- .../versioncontrol/versioncontrolobserver.cpp | 31 ++++++++----------- .../versioncontrol/versioncontrolobserver.h | 4 ++- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index 7295a245ae..d2e1ecd13d 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -37,6 +37,7 @@ VersionControlObserver::VersionControlObserver(QObject* parent) : m_silentUpdate(false), m_model(nullptr), m_dirVerificationTimer(nullptr), + m_pluginsInitialized(false), m_plugin(nullptr), m_updateItemStatesThread(nullptr) { @@ -256,18 +257,9 @@ int VersionControlObserver::createItemStatesList(QMap plugins; - - if (!pluginsAvailable) { - // A searching for plugins has already been done, but no - // plugins are installed - return nullptr; - } - - if (plugins.isEmpty()) { + if (!m_pluginsInitialized) { // No searching for plugins has been done yet. Query the KServiceTypeTrader for // all fileview version control plugins and remember them in 'plugins'. const QStringList enabledPlugins = VersionControlSettings::enabledPlugins(); @@ -275,16 +267,19 @@ KVersionControlPlugin* VersionControlObserver::searchPlugin(const QUrl& director const KService::List pluginServices = KServiceTypeTrader::self()->query(QStringLiteral("FileViewVersionControlPlugin")); for (KService::List::ConstIterator it = pluginServices.constBegin(); it != pluginServices.constEnd(); ++it) { if (enabledPlugins.contains((*it)->name())) { - KVersionControlPlugin* plugin = (*it)->createInstance(); + KVersionControlPlugin* plugin = (*it)->createInstance(this); if (plugin) { - plugins.append(plugin); + m_plugins.append(plugin); } } } - if (plugins.isEmpty()) { - pluginsAvailable = false; - return nullptr; - } + m_pluginsInitialized = true; + } + + if (m_plugins.empty()) { + // A searching for plugins has already been done, but no + // plugins are installed + return nullptr; } // We use the number of upUrl() calls to find the best matching plugin @@ -294,7 +289,7 @@ KVersionControlPlugin* VersionControlObserver::searchPlugin(const QUrl& director // Verify whether the current directory contains revision information // like .svn, .git, ... - foreach (KVersionControlPlugin* plugin, plugins) { + foreach (KVersionControlPlugin* plugin, m_plugins) { const QString fileName = directory.path() + '/' + plugin->fileName(); if (QFile::exists(fileName)) { // The score of this plugin is 0 (best), so we can just return this plugin, diff --git a/src/views/versioncontrol/versioncontrolobserver.h b/src/views/versioncontrol/versioncontrolobserver.h index ea0834e657..a42bbea634 100644 --- a/src/views/versioncontrol/versioncontrolobserver.h +++ b/src/views/versioncontrol/versioncontrolobserver.h @@ -126,7 +126,7 @@ private: * Returns a matching plugin for the given directory. * 0 is returned, if no matching plugin has been found. */ - KVersionControlPlugin* searchPlugin(const QUrl& directory) const; + KVersionControlPlugin* searchPlugin(const QUrl& directory); /** * Returns true, if the directory contains a version control information. @@ -143,7 +143,9 @@ private: QTimer* m_dirVerificationTimer; + bool m_pluginsInitialized; KVersionControlPlugin* m_plugin; + QList m_plugins; UpdateItemStatesThread* m_updateItemStatesThread; friend class UpdateItemStatesThread; From d72885302758bac7d429439361ec01e08ac214b9 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Wed, 30 Jan 2019 07:19:49 +0100 Subject: [PATCH 3/5] GIT_SILENT made messages (after extraction) --- src/org.kde.dolphin.appdata.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/org.kde.dolphin.appdata.xml b/src/org.kde.dolphin.appdata.xml index 2c01778154..5f19869c63 100644 --- a/src/org.kde.dolphin.appdata.xml +++ b/src/org.kde.dolphin.appdata.xml @@ -545,6 +545,7 @@ Gestão de ficheiros no Dolphin Gerenciamento de arquivos no Dolphin Управление файлами + Správa súborov v Dolphin Filhantering i Dolphin Керування файлами у Dolphin xxFile management in Dolphinxx From ec29cfff2017b40236edadcae50b8c1a1915d04e Mon Sep 17 00:00:00 2001 From: Anthony Fieroni Date: Sat, 2 Feb 2019 19:38:37 +0200 Subject: [PATCH 4/5] [versioncontrolobserver] Update working directory on tab activation Differential Revision: https://phabricator.kde.org/D18605 Signed-off-by: Anthony Fieroni --- src/views/dolphinview.cpp | 1 + .../versioncontrol/versioncontrolobserver.cpp | 21 +++++++++++++++++++ .../versioncontrol/versioncontrolobserver.h | 5 +++++ 3 files changed, 27 insertions(+) diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index 617c41acec..d64ae86224 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -182,6 +182,7 @@ DolphinView::DolphinView(const QUrl& url, QWidget* parent) : #endif m_versionControlObserver = new VersionControlObserver(this); + m_versionControlObserver->setView(this); m_versionControlObserver->setModel(m_model); connect(m_versionControlObserver, &VersionControlObserver::infoMessage, this, &DolphinView::infoMessage); connect(m_versionControlObserver, &VersionControlObserver::errorMessage, this, &DolphinView::errorMessage); diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index d2e1ecd13d..09344bc14b 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -21,6 +21,7 @@ #include "dolphin_versioncontrolsettings.h" #include "dolphindebug.h" +#include "views/dolphinview.h" #include "kitemviews/kfileitemmodel.h" #include "updateitemstatesthread.h" @@ -85,6 +86,26 @@ KFileItemModel* VersionControlObserver::model() const return m_model; } +void VersionControlObserver::setView(DolphinView* view) +{ + if (m_view) { + disconnect(m_view, &DolphinView::activated, + this, &VersionControlObserver::delayedDirectoryVerification); + } + + m_view = view; + + if (m_view) { + connect(m_view, &DolphinView::activated, + this, &VersionControlObserver::delayedDirectoryVerification); + } +} + +DolphinView* VersionControlObserver::view() const +{ + return m_view; +} + QList VersionControlObserver::actions(const KFileItemList& items) const { bool hasNullItems = false; diff --git a/src/views/versioncontrol/versioncontrolobserver.h b/src/views/versioncontrol/versioncontrolobserver.h index a42bbea634..08279dc866 100644 --- a/src/views/versioncontrol/versioncontrolobserver.h +++ b/src/views/versioncontrol/versioncontrolobserver.h @@ -37,6 +37,8 @@ class QAction; class QTimer; class UpdateItemStatesThread; +class DolphinView; + /** * @brief Observes all version control plugins. * @@ -55,6 +57,8 @@ public: void setModel(KFileItemModel* model); KFileItemModel* model() const; + void setView(DolphinView* view); + DolphinView* view() const; QList actions(const KFileItemList& items) const; @@ -139,6 +143,7 @@ private: bool m_silentUpdate; // if true, no messages will be send during the update // of version states + DolphinView* m_view; KFileItemModel* m_model; QTimer* m_dirVerificationTimer; From 83912a6de826d4a159fb7b4505f2869cc10b84bb Mon Sep 17 00:00:00 2001 From: Anthony Fieroni Date: Sat, 2 Feb 2019 19:48:09 +0200 Subject: [PATCH 5/5] Fix member initialization Signed-off-by: Anthony Fieroni --- src/views/versioncontrol/versioncontrolobserver.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index 09344bc14b..cfbebc7601 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -36,6 +36,7 @@ VersionControlObserver::VersionControlObserver(QObject* parent) : m_pendingItemStatesUpdate(false), m_versionedDirectory(false), m_silentUpdate(false), + m_view(nullptr), m_model(nullptr), m_dirVerificationTimer(nullptr), m_pluginsInitialized(false),