diff options
| author | Nikolai Krasheninnikov <[email protected]> | 2020-05-06 20:31:05 +0300 |
|---|---|---|
| committer | Nikolai Krasheninnikov <[email protected]> | 2020-05-15 23:09:05 +0300 |
| commit | 9b7fc506aa3a78b06991238b98c591d0e1917a04 (patch) | |
| tree | 6a136136f37b62f8f7275aad1a06aa35b7a013b7 | |
| parent | a291c5999035bb17fe764c1910c3e78ba041f8ac (diff) | |
Added VCS plugins signals connections for outOfVersionControl() actions.
Summary:
Plugins can now do out of version control actions (D29041), so we need them to inform of their state.
This change connects every plugin signal to Dolphin on plugin instantiation.
Test Plan:
1. Try SVN Update of inaccessible repository: see SVN error message shows up.
2. Try pull inaccessible git repository: see GIT error message shows up.
3. Try SVN Commit: see SVN message.
Reviewers: #dolphin, meven, elvisangelaccio
Reviewed By: #dolphin, meven
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D29488
| -rw-r--r-- | src/views/versioncontrol/versioncontrolobserver.cpp | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index f6c74fb5f..2f0632243 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -168,21 +168,8 @@ void VersionControlObserver::verifyDirectory() return; } - if (m_plugin) { - m_plugin->disconnect(this); - } - m_plugin = searchPlugin(rootItem.url()); if (m_plugin) { - connect(m_plugin, &KVersionControlPlugin::itemVersionsChanged, - this, &VersionControlObserver::silentDirectoryVerification); - connect(m_plugin, &KVersionControlPlugin::infoMessage, - this, &VersionControlObserver::infoMessage); - connect(m_plugin, &KVersionControlPlugin::errorMessage, - this, &VersionControlObserver::errorMessage); - connect(m_plugin, &KVersionControlPlugin::operationCompletedMessage, - this, &VersionControlObserver::operationCompletedMessage); - if (!m_versionedDirectory) { m_versionedDirectory = true; @@ -311,6 +298,15 @@ KVersionControlPlugin* VersionControlObserver::searchPlugin(const QUrl& director if (enabledPlugins.contains((*it)->name())) { KVersionControlPlugin* plugin = (*it)->createInstance<KVersionControlPlugin>(this); if (plugin) { + connect(plugin, &KVersionControlPlugin::itemVersionsChanged, + this, &VersionControlObserver::silentDirectoryVerification); + connect(plugin, &KVersionControlPlugin::infoMessage, + this, &VersionControlObserver::infoMessage); + connect(plugin, &KVersionControlPlugin::errorMessage, + this, &VersionControlObserver::errorMessage); + connect(plugin, &KVersionControlPlugin::operationCompletedMessage, + this, &VersionControlObserver::operationCompletedMessage); + m_plugins.append( qMakePair(plugin, plugin->fileName()) ); } } |
