diff options
author | con <qtc-committer@nokia.com> | 2009-11-10 18:02:42 +0100 |
---|---|---|
committer | con <qtc-committer@nokia.com> | 2009-11-10 18:21:37 +0100 |
commit | 6fb67a2c7816d9eb9ee82b2433786b152c46b8b1 (patch) | |
tree | 1bf4e833ace179f9d50bfa872339c31ee450549d | |
parent | f4a50a05523ab86d400c92e22c7156b70bccb497 (diff) |
Revert "Code model: Update on changes from the versioning system."
This reverts commit 7aa24116935249a840e1350a6f8de73bc794fb09.
It breaks the code model updates completely. So reverting this change
until we have the right thing.
Reviewed-by: Roberto Raggi
(cherry picked from commit e4b1a25dd2bb8233a02c7ae5a5476e88ac4f0451)
30 files changed, 61 insertions, 265 deletions
diff --git a/src/plugins/coreplugin/iversioncontrol.h b/src/plugins/coreplugin/iversioncontrol.h index edaab39fbd..8cbd8240b3 100644 --- a/src/plugins/coreplugin/iversioncontrol.h +++ b/src/plugins/coreplugin/iversioncontrol.h @@ -106,10 +106,6 @@ public: */ virtual bool vcsDelete(const QString &filename) = 0; -signals: - void repositoryChanged(const QString &repository); - void filesChanged(const QStringList &files); - // TODO: ADD A WAY TO DETECT WHETHER A FILE IS MANAGED, e.g // virtual bool sccManaged(const QString &filename) = 0; }; diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index e7b8e7fa54..282b2bf681 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -126,7 +126,7 @@ MainWindow::MainWindow() : m_progressManager(new ProgressManagerPrivate()), m_scriptManager(new ScriptManagerPrivate(this)), m_variableManager(new VariableManager(this)), - m_vcsManager(new VCSManager), + m_vcsManager(new VCSManager()), m_viewManager(0), m_modeManager(0), m_mimeDatabase(new MimeDatabase), @@ -346,7 +346,6 @@ void MainWindow::extensionsInitialized() OutputPaneManager::instance()->init(); m_actionManager->initialize(); - m_vcsManager->extensionsInitialized(); readSettings(); updateContext(); diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index e07ba2ff12..33c7e484a0 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -57,8 +57,7 @@ struct VCSManagerPrivate { QMap<QString, IVersionControl *> m_cachedMatches; }; -VCSManager::VCSManager(QObject *parent) : - QObject(parent), +VCSManager::VCSManager() : m_d(new VCSManagerPrivate) { } @@ -68,17 +67,6 @@ VCSManager::~VCSManager() delete m_d; } -void VCSManager::extensionsInitialized() -{ - // Change signal connections - foreach (IVersionControl *versionControl, allVersionControls()) { - connect(versionControl, SIGNAL(filesChanged(QStringList)), - this, SIGNAL(filesChanged(QStringList))); - connect(versionControl, SIGNAL(repositoryChanged(QString)), - this, SIGNAL(repositoryChanged(QString))); - } -} - void VCSManager::setVCSEnabled(const QString &directory) { if (debug) diff --git a/src/plugins/coreplugin/vcsmanager.h b/src/plugins/coreplugin/vcsmanager.h index 772243dd95..fa94efc618 100644 --- a/src/plugins/coreplugin/vcsmanager.h +++ b/src/plugins/coreplugin/vcsmanager.h @@ -33,7 +33,6 @@ #include "core_global.h" #include <QtCore/QString> -#include <QtCore/QObject> namespace Core { @@ -50,16 +49,13 @@ class IVersionControl; // for the topmost directory it manages. This information is cached and // VCSManager thus knows pretty fast which IVersionControl * is responsible. -class CORE_EXPORT VCSManager : public QObject +class CORE_EXPORT VCSManager { - Q_OBJECT Q_DISABLE_COPY(VCSManager) public: - explicit VCSManager(QObject *parent = 0); + VCSManager(); virtual ~VCSManager(); - void extensionsInitialized(); - IVersionControl *findVersionControlForDirectory(const QString &directory); // Enable the VCS managing a certain directory only. This should @@ -73,10 +69,6 @@ public: // if a failure occurs bool showDeleteDialog(const QString &fileName); -signals: - void repositoryChanged(const QString &repository); - void filesChanged(const QStringList &files); - private: VCSManagerPrivate *m_d; }; diff --git a/src/plugins/cppeditor/cppeditorconstants.h b/src/plugins/cppeditor/cppeditorconstants.h index 85d0202125..356f711ba9 100644 --- a/src/plugins/cppeditor/cppeditorconstants.h +++ b/src/plugins/cppeditor/cppeditorconstants.h @@ -41,10 +41,8 @@ const char * const SWITCH_DECLARATION_DEFINITION = "CppEditor.SwitchDeclarationD const char * const RENAME_SYMBOL_UNDER_CURSOR = "CppEditor.RenameSymbolUnderCursor"; const char * const FIND_USAGES = "CppEditor.FindUsages"; const char * const SEPARATOR = "CppEditor.Separator"; -const char * const SEPARATOR2 = "CppEditor.Separator2"; const char * const FIND_REFERENCES = "CppEditor.FindReferences"; const char * const JUMP_TO_DEFINITION = "CppEditor.JumpToDefinition"; -const char * const UPDATE_CODEMODEL = "CppEditor.UpdateCodeModel"; const char * const HEADER_FILE_TYPE = "CppHeaderFiles"; const char * const SOURCE_FILE_TYPE = "CppSourceFiles"; diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp index 16d7ce4b91..f98fb68087 100644 --- a/src/plugins/cppeditor/cppplugin.cpp +++ b/src/plugins/cppeditor/cppplugin.cpp @@ -43,7 +43,7 @@ #include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/actionmanager/command.h> #include <coreplugin/editormanager/editormanager.h> -#include <cpptools/cppmodelmanagerinterface.h> +#include <coreplugin/progressmanager/progressmanager.h> #include <texteditor/completionsupport.h> #include <texteditor/fontsettings.h> #include <texteditor/storagesettings.h> @@ -112,11 +112,7 @@ CppPlugin *CppPlugin::m_instance = 0; CppPlugin::CppPlugin() : m_actionHandler(0), - m_sortedMethodOverview(false), - m_renameSymbolUnderCursorAction(0), - m_findUsagesAction(0), - m_updateCodeModelAction(0) - + m_sortedMethodOverview(false) { m_instance = this; } @@ -162,17 +158,6 @@ bool CppPlugin::sortedMethodOverview() const return m_sortedMethodOverview; } -static inline - Core::Command *createSeparator(Core::ActionManager *am, - QObject *parent, - const QList<int> &context, - const char *id) -{ - QAction *separator = new QAction(parent); - separator->setSeparator(true); - return am->registerAction(separator, QLatin1String(id), context); -} - bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMessage) { Core::ICore *core = Core::ICore::instance(); @@ -207,7 +192,6 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess Core::ActionContainer *contextMenu= am->createMenu(CppEditor::Constants::M_CONTEXT); Core::Command *cmd; - Core::ActionContainer *cppToolsMenu = am->actionContainer(QLatin1String(CppTools::Constants::M_TOOLS_CPP)); QAction *jumpToDefinition = new QAction(tr("Follow Symbol under Cursor"), this); cmd = am->registerAction(jumpToDefinition, @@ -216,7 +200,7 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess connect(jumpToDefinition, SIGNAL(triggered()), this, SLOT(jumpToDefinition())); contextMenu->addAction(cmd); - cppToolsMenu->addAction(cmd); + am->actionContainer(CppTools::Constants::M_TOOLS_CPP)->addAction(cmd); QAction *switchDeclarationDefinition = new QAction(tr("Switch between Method Declaration/Definition"), this); cmd = am->registerAction(switchDeclarationDefinition, @@ -225,14 +209,14 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess connect(switchDeclarationDefinition, SIGNAL(triggered()), this, SLOT(switchDeclarationDefinition())); contextMenu->addAction(cmd); - cppToolsMenu->addAction(cmd); + am->actionContainer(CppTools::Constants::M_TOOLS_CPP)->addAction(cmd); m_findUsagesAction = new QAction(tr("Find Usages"), this); cmd = am->registerAction(m_findUsagesAction, Constants::FIND_USAGES, context); cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+Shift+U"))); connect(m_findUsagesAction, SIGNAL(triggered()), this, SLOT(findUsages())); contextMenu->addAction(cmd); - cppToolsMenu->addAction(cmd); + am->actionContainer(CppTools::Constants::M_TOOLS_CPP)->addAction(cmd); m_renameSymbolUnderCursorAction = new QAction(tr("Rename Symbol under Cursor"), this); cmd = am->registerAction(m_renameSymbolUnderCursorAction, @@ -240,17 +224,7 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess cmd->setDefaultKeySequence(QKeySequence("CTRL+SHIFT+R")); connect(m_renameSymbolUnderCursorAction, SIGNAL(triggered()), this, SLOT(renameSymbolUnderCursor())); contextMenu->addAction(cmd); - cppToolsMenu->addAction(cmd); - - // Update context in global context - QList<int> globalContext; - globalContext.append(Core::Constants::C_GLOBAL_ID); - cppToolsMenu->addAction(createSeparator(am, this, globalContext, CppEditor::Constants::SEPARATOR2)); - m_updateCodeModelAction = new QAction(tr("Update code model"), this); - cmd = am->registerAction(m_updateCodeModelAction, QLatin1String(Constants::UPDATE_CODEMODEL), globalContext); - CppTools::CppModelManagerInterface *cppModelManager = CppTools::CppModelManagerInterface::instance(); - connect(m_updateCodeModelAction, SIGNAL(triggered()), cppModelManager, SLOT(updateModifiedSourceFiles())); - cppToolsMenu->addAction(cmd); + am->actionContainer(CppTools::Constants::M_TOOLS_CPP)->addAction(cmd); m_actionHandler = new TextEditor::TextEditorActionHandler(CppEditor::Constants::C_CPPEDITOR, TextEditor::TextEditorActionHandler::Format @@ -259,7 +233,10 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess m_actionHandler->initializeActions(); - contextMenu->addAction(createSeparator(am, this, context, CppEditor::Constants::SEPARATOR)); + QAction *separator = new QAction(this); + separator->setSeparator(true); + cmd = am->registerAction(separator, CppEditor::Constants::SEPARATOR, context); + contextMenu->addAction(cmd); cmd = am->command(TextEditor::Constants::AUTO_INDENT_SELECTION); contextMenu->addAction(cmd); @@ -267,8 +244,10 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess cmd = am->command(TextEditor::Constants::UN_COMMENT_SELECTION); contextMenu->addAction(cmd); - connect(cppModelManager, SIGNAL(indexingStarted()), this, SLOT(onCppModelIndexingStarted())); - connect(cppModelManager, SIGNAL(indexingFinished()), this, SLOT(onCppModelIndexingFinished())); + connect(core->progressManager(), SIGNAL(taskStarted(QString)), + this, SLOT(onTaskStarted(QString))); + connect(core->progressManager(), SIGNAL(allTasksFinished(QString)), + this, SLOT(onAllTasksFinished(QString))); readSettings(); return true; } @@ -324,18 +303,20 @@ void CppPlugin::findUsages() editor->findUsages(); } -void CppPlugin::onCppModelIndexingStarted() +void CppPlugin::onTaskStarted(const QString &type) { - m_renameSymbolUnderCursorAction->setEnabled(false); - m_findUsagesAction->setEnabled(false); - m_updateCodeModelAction->setEnabled(false); + if (type == CppTools::Constants::TASK_INDEX) { + m_renameSymbolUnderCursorAction->setEnabled(false); + m_findUsagesAction->setEnabled(false); + } } -void CppPlugin::onCppModelIndexingFinished() +void CppPlugin::onAllTasksFinished(const QString &type) { - m_renameSymbolUnderCursorAction->setEnabled(true); - m_findUsagesAction->setEnabled(true); - m_updateCodeModelAction->setEnabled(true); + if (type == CppTools::Constants::TASK_INDEX) { + m_renameSymbolUnderCursorAction->setEnabled(true); + m_findUsagesAction->setEnabled(true); + } } Q_EXPORT_PLUGIN(CppPlugin) diff --git a/src/plugins/cppeditor/cppplugin.h b/src/plugins/cppeditor/cppplugin.h index e0ccc7ac64..3456bd9baf 100644 --- a/src/plugins/cppeditor/cppplugin.h +++ b/src/plugins/cppeditor/cppplugin.h @@ -75,8 +75,8 @@ private slots: void switchDeclarationDefinition(); void jumpToDefinition(); void renameSymbolUnderCursor(); - void onCppModelIndexingStarted(); - void onCppModelIndexingFinished(); + void onTaskStarted(const QString &type); + void onAllTasksFinished(const QString &type); void findUsages(); private: @@ -90,7 +90,6 @@ private: bool m_sortedMethodOverview; QAction *m_renameSymbolUnderCursorAction; QAction *m_findUsagesAction; - QAction *m_updateCodeModelAction; }; class CppEditorFactory : public Core::IEditorFactory diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 6a49051840..5cae6bdeaf 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -595,8 +595,6 @@ Document::Ptr CppPreprocessor::switchDocument(Document::Ptr doc) void CppTools::CppModelManagerInterface::updateModifiedSourceFiles() { - if (isIndexing()) - return; const Snapshot snapshot = this->snapshot(); QStringList sourceFiles; @@ -632,8 +630,7 @@ CppTools::CppModelManagerInterface *CppTools::CppModelManagerInterface::instance */ CppModelManager::CppModelManager(QObject *parent) - : CppModelManagerInterface(parent), - m_indexing(false) + : CppModelManagerInterface(parent) { m_findReferences = new CppFindReferences(this); @@ -678,11 +675,6 @@ CppModelManager::CppModelManager(QObject *parent) connect(m_core->editorManager(), SIGNAL(editorAboutToClose(Core::IEditor *)), this, SLOT(editorAboutToClose(Core::IEditor *))); - - connect(m_core->progressManager(), SIGNAL(taskStarted(QString)), - this, SLOT(onTaskStarted(QString))); - connect(m_core->progressManager(), SIGNAL(allTasksFinished(QString)), - this, SLOT(onAllTasksFinished(QString))); } CppModelManager::~CppModelManager() @@ -879,7 +871,7 @@ QStringList CppModelManager::includesInPath(const QString &path) const QFuture<void> CppModelManager::refreshSourceFiles(const QStringList &sourceFiles) { - if (!m_indexing && !sourceFiles.isEmpty() && qgetenv("QTCREATOR_NO_CODE_INDEXER").isNull()) { + if (! sourceFiles.isEmpty() && qgetenv("QTCREATOR_NO_CODE_INDEXER").isNull()) { const QMap<QString, QString> workingCopy = buildWorkingCopyList(); CppPreprocessor *preproc = new CppPreprocessor(this); @@ -905,7 +897,7 @@ QFuture<void> CppModelManager::refreshSourceFiles(const QStringList &sourceFiles m_synchronizer.addFuture(result); - if (sourceFiles.count() > 1) { + if (sourceFiles.count() > 1) { m_core->progressManager()->addTask(result, tr("Indexing"), CppTools::Constants::TASK_INDEX, Core::ProgressManager::CloseOnSuccess); @@ -1399,31 +1391,4 @@ void CppModelManager::GC() protectSnapshot.unlock(); } -bool CppModelManager::isIndexing() const -{ - return m_indexing; -} - -void CppModelManager::setIndexing(bool v) -{ - if (m_indexing == v) - return; - m_indexing = v; - if (v) { - emit indexingStarted(); - } else { - emit indexingFinished(); - } -} - -void CppModelManager::onTaskStarted(const QString &type) -{ - if (type == QLatin1String(CppTools::Constants::TASK_INDEX)) - setIndexing(true); -} -void CppModelManager::onAllTasksFinished(const QString &type) -{ - if (type == QLatin1String(CppTools::Constants::TASK_INDEX)) - setIndexing(false); -} diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h index ca13b44a24..4222ccab6b 100644 --- a/src/plugins/cpptools/cppmodelmanager.h +++ b/src/plugins/cpptools/cppmodelmanager.h @@ -111,8 +111,6 @@ public: void setHeaderSuffixes(const QStringList &suffixes) { m_headerSuffixes = suffixes; } - virtual bool isIndexing() const; - Q_SIGNALS: void projectPathChanged(const QString &projectPath); @@ -131,8 +129,6 @@ private Q_SLOTS: void onProjectAdded(ProjectExplorer::Project *project); void postEditorUpdate(); void updateEditorSelections(); - void onTaskStarted(const QString &type); - void onAllTasksFinished(const QString &type); private: QMap<QString, QString> buildWorkingCopyList(); @@ -179,13 +175,10 @@ private: CppPreprocessor *preproc, QStringList files); - void setIndexing(bool); - private: Core::ICore *m_core; CPlusPlus::Snapshot m_snapshot; - bool m_indexing; // cache bool m_dirty; QStringList m_projectFiles; diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h index 1ec38abe30..1976df75ea 100644 --- a/src/plugins/cpptools/cppmodelmanagerinterface.h +++ b/src/plugins/cpptools/cppmodelmanagerinterface.h @@ -102,12 +102,6 @@ public: virtual void renameUsages(CPlusPlus::Symbol *symbol) = 0; virtual void findUsages(CPlusPlus::Symbol *symbol) = 0; - virtual bool isIndexing() const = 0; - -signals: - void indexingStarted(); - void indexingFinished(); - public Q_SLOTS: void updateModifiedSourceFiles(); virtual void updateSourceFiles(const QStringList &sourceFiles) = 0; diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp index d321b7c39b..bbc894390c 100644 --- a/src/plugins/cpptools/cpptoolsplugin.cpp +++ b/src/plugins/cpptools/cpptoolsplugin.cpp @@ -47,7 +47,6 @@ #include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/editormanager/editormanager.h> #include <coreplugin/progressmanager/progressmanager.h> -#include <coreplugin/vcsmanager.h> #include <cppeditor/cppeditorconstants.h> #include <QtCore/QtConcurrentRun> @@ -98,11 +97,6 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error) // Objects m_modelManager = new CppModelManager(this); - Core::VCSManager *vcsManager = core->vcsManager(); - connect(vcsManager, SIGNAL(repositoryChanged(QString)), - m_modelManager, SLOT(updateModifiedSourceFiles())); - connect(vcsManager, SIGNAL(filesChanged(QStringList)), - m_modelManager, SLOT(updateModifiedSourceFiles())); addAutoReleasedObject(m_modelManager); m_completion = new CppCodeCompletion(m_modelManager); diff --git a/src/plugins/cvs/cvscontrol.cpp b/src/plugins/cvs/cvscontrol.cpp index 1689f22052..51edeec5a6 100644 --- a/src/plugins/cvs/cvscontrol.cpp +++ b/src/plugins/cvs/cvscontrol.cpp @@ -96,14 +96,3 @@ QString CVSControl::findTopLevelForDirectory(const QString &directory) const { return m_plugin->findTopLevelForDirectory(directory); } - -void CVSControl::emitRepositoryChanged(const QString &s) -{ - emit repositoryChanged(s); -} - -void CVSControl::emitFilesChanged(const QStringList &l) -{ - emit filesChanged(l); -} - diff --git a/src/plugins/cvs/cvscontrol.h b/src/plugins/cvs/cvscontrol.h index c6adb7ffa9..52067ad370 100644 --- a/src/plugins/cvs/cvscontrol.h +++ b/src/plugins/cvs/cvscontrol.h @@ -56,9 +56,6 @@ public: virtual bool vcsAdd(const QString &fileName); virtual bool vcsDelete(const QString &filename); - void emitRepositoryChanged(const QString &s); - void emitFilesChanged(const QStringList &l); - signals: void enabledChanged(bool); diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp index 0fa8619e27..654fce42bb 100644 --- a/src/plugins/cvs/cvsplugin.cpp +++ b/src/plugins/cvs/cvsplugin.cpp @@ -551,11 +551,9 @@ void CVSPlugin::revertCurrentFile() QStringList args(QLatin1String("update")); args.push_back(QLatin1String("-C")); - const QStringList files = QStringList(file); - const CVSResponse revertResponse = runCVS(args, files, cvsShortTimeOut, true); + const CVSResponse revertResponse = runCVS(args, QStringList(file), cvsShortTimeOut, true); if (revertResponse.result == CVSResponse::Ok) { fcb.setModifiedReload(true); - m_versionControl->emitFilesChanged(files); } } @@ -736,10 +734,7 @@ void CVSPlugin::updateProject() if (!topLevels.empty()) { QStringList args(QLatin1String("update")); args.push_back(QLatin1String("-dR")); - const CVSResponse response = runCVS(args, topLevels, cvsLongTimeOut, true); - if (response.result == CVSResponse::Ok) - foreach(const QString &topLevel, topLevels) - m_versionControl->emitRepositoryChanged(topLevel); + runCVS(args, topLevels, cvsLongTimeOut, true); } } diff --git a/src/plugins/cvs/cvsplugin.h b/src/plugins/cvs/cvsplugin.h index a1515cfc93..c0f63473b2 100644 --- a/src/plugins/cvs/cvsplugin.h +++ b/src/plugins/cvs/cvsplugin.h @@ -59,7 +59,6 @@ namespace CVS { namespace Internal { class CVSSubmitEditor; -class CVSControl; struct CVSResponse { @@ -154,7 +153,7 @@ private: void cleanCommitMessageFile(); CVSSettings m_settings; - CVSControl *m_versionControl; + Core::IVersionControl *m_versionControl; QString m_commitMessageFileName; ProjectExplorer::ProjectExplorerPlugin *m_projectExplorer; diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 486196174a..419784887f 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -34,7 +34,6 @@ #include "gitconstants.h" #include "gitplugin.h" #include "gitsubmiteditor.h" -#include "gitversioncontrol.h" #include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/coreconstants.h> @@ -44,9 +43,6 @@ #include <coreplugin/progressmanager/progressmanager.h> #include <coreplugin/uniqueidmanager.h> #include <coreplugin/filemanager.h> -#include <coreplugin/filemanager.h> -#include <coreplugin/iversioncontrol.h> - #include <texteditor/itexteditor.h> #include <utils/qtcassert.h> #include <vcsbase/vcsbaseeditor.h> @@ -59,7 +55,6 @@ #include <QtCore/QTime> #include <QtCore/QFileInfo> #include <QtCore/QDir> -#include <QtCore/QSignalMapper> #include <QtGui/QMainWindow> // for msg box parent #include <QtGui/QMessageBox> @@ -107,8 +102,7 @@ static QString formatCommand(const QString &binary, const QStringList &args) GitClient::GitClient(GitPlugin* plugin) : m_msgWait(tr("Waiting for data...")), m_plugin(plugin), - m_core(Core::ICore::instance()), - m_repositoryChangedSignalMapper(0) + m_core(Core::ICore::instance()) { if (QSettings *s = m_core->settings()) { m_settings.fromSettings(s); @@ -323,8 +317,7 @@ void GitClient::checkoutBranch(const QString &workingDirectory, const QString &b { QStringList arguments(QLatin1String("checkout")); arguments << branch; - GitCommand *cmd = executeGit(workingDirectory, arguments, 0, true); - connectRepositoryChanged(workingDirectory, cmd); + executeGit(workingDirectory, arguments, 0, true); } void GitClient::checkout(const QString &workingDirectory, const QString &fileName) @@ -348,8 +341,7 @@ void GitClient::hardReset(const QString &workingDirectory, const QString &commit if (!commit.isEmpty()) arguments << commit; - GitCommand *cmd = executeGit(workingDirectory, arguments, 0, true); - connectRepositoryChanged(workingDirectory, cmd); + executeGit(workingDirectory, arguments, 0, true); } void GitClient::addFile(const QString &workingDirectory, const QString &fileName) @@ -508,19 +500,18 @@ GitCommand *GitClient::createCommand(const QString &workingDirectory, } // Execute a single command -GitCommand *GitClient::executeGit(const QString &workingDirectory, - const QStringList &arguments, - VCSBase::VCSBaseEditor* editor, - bool outputToWindow, - GitCommand::TerminationReportMode tm, - int editorLineNumber) +void GitClient::executeGit(const QString &workingDirectory, + const QStringList &arguments, + VCSBase::VCSBaseEditor* editor, + bool outputToWindow, + GitCommand::TerminationReportMode tm, + int editorLineNumber) { VCSBase::VCSBaseOutputWindow::instance()->appendCommand(formatCommand(QLatin1String(Constants::GIT_BINARY), arguments)); GitCommand *command = createCommand(workingDirectory, editor, outputToWindow, editorLineNumber); command->addJob(arguments, m_settings.timeout); command->setTerminationReportMode(tm); command->execute(); - return command; } // Return fixed arguments required to run @@ -912,8 +903,6 @@ void GitClient::revert(const QStringList &files) QString errorMessage; switch (revertI(files, &isDirectory, &errorMessage)) { case RevertOk: - m_plugin->versionControl()->emitFilesChanged(files); - break; case RevertCanceled: break; case RevertUnchanged: { @@ -929,8 +918,7 @@ void GitClient::revert(const QStringList &files) void GitClient::pull(const QString &workingDirectory) { - GitCommand *cmd = executeGit(workingDirectory, QStringList(QLatin1String("pull")), 0, true, GitCommand::ReportStderr); - connectRepositoryChanged(workingDirectory, cmd); + executeGit(workingDirectory, QStringList(QLatin1String("pull")), 0, true, GitCommand::ReportStderr); } void GitClient::push(const QString &workingDirectory) @@ -964,8 +952,7 @@ void GitClient::stashPop(const QString &workingDirectory) { QStringList arguments(QLatin1String("stash")); arguments << QLatin1String("pop"); - GitCommand *cmd = executeGit(workingDirectory, arguments, 0, true); - connectRepositoryChanged(workingDirectory, cmd); + executeGit(workingDirectory, arguments, 0, true); } void GitClient::branchList(const QString &workingDirectory) @@ -1013,16 +1000,3 @@ void GitClient::setSettings(const GitSettings &s) m_binaryPath = m_settings.gitBinaryPath(); } } - -void GitClient::connectRepositoryChanged(const QString & repository, GitCommand *cmd) -{ - // Bind command success termination with repository to changed signal - if (!m_repositoryChangedSignalMapper) { - m_repositoryChangedSignalMapper = new QSignalMapper(this); - connect(m_repositoryChangedSignalMapper, SIGNAL(mapped(QString)), - m_plugin->versionControl(), SIGNAL(repositoryChanged(QString))); - } - m_repositoryChangedSignalMapper->setMapping(cmd, repository); - connect(cmd, SIGNAL(success()), m_repositoryChangedSignalMapper, SLOT(map()), - Qt::QueuedConnection); -} diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index 76da312034..341e177f35 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -33,6 +33,7 @@ #include "gitsettings.h" #include "gitcommand.h" +#include <coreplugin/iversioncontrol.h> #include <coreplugin/editormanager/ieditor.h> #include <QtCore/QString> @@ -40,7 +41,6 @@ QT_BEGIN_NAMESPACE class QErrorMessage; -class QSignalMapper; QT_END_NAMESPACE namespace Core { @@ -158,12 +158,12 @@ private: bool outputToWindow = false, int editorLineNumber = -1); - GitCommand *executeGit(const QString &workingDirectory, - const QStringList &arguments, - VCSBase::VCSBaseEditor* editor = 0, - bool outputToWindow = false, - GitCommand::TerminationReportMode tm = GitCommand::NoReport, - int editorLineNumber = -1); + void executeGit(const QString &workingDirectory, + const QStringList &arguments, + VCSBase::VCSBaseEditor* editor = 0, + bool outputToWindow = false, + GitCommand::TerminationReportMode tm = GitCommand::NoReport, + int editorLineNumber = -1); bool synchronousGit(const QString &workingDirectory, const QStringList &arguments, @@ -173,14 +173,12 @@ private: enum RevertResult { RevertOk, RevertUnchanged, RevertCanceled, RevertFailed }; RevertResult revertI(QStringList files, bool *isDirectory, QString *errorMessage); - void connectRepositoryChanged(const QString & repository, GitCommand *cmd); const QString m_msgWait; GitPlugin *m_plugin; Core::ICore *m_core; GitSettings m_settings; QString m_binaryPath; - QSignalMapper *m_repositoryChangedSignalMapper; }; diff --git a/src/plugins/git/gitcommand.cpp b/src/plugins/git/gitcommand.cpp index ea6c17dab1..3f7a97095e 100644 --- a/src/plugins/git/gitcommand.cpp +++ b/src/plugins/git/gitcommand.cpp @@ -177,8 +177,6 @@ void GitCommand::run() emit errorText(error); emit finished(ok, m_cookie); - if (ok) - emit success(); // As it is used asynchronously, we need to delete ourselves this->deleteLater(); } diff --git a/src/plugins/git/gitcommand.h b/src/plugins/git/gitcommand.h index 8f1c5aad0e..7acf167750 100644 --- a/src/plugins/git/gitcommand.h +++ b/src/plugins/git/gitcommand.h @@ -73,7 +73,6 @@ Q_SIGNALS: void outputData(const QByteArray&); void errorText(const QString&); void finished(bool ok, const QVariant &cookie); - void success(); private: struct Job { diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index 6e442bec7f..0af7286ac9 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -142,7 +142,6 @@ GitPlugin::GitPlugin() : m_stashListAction(0), m_branchListAction(0), m_gitClient(0), - m_versionControl(0), m_changeSelectionDialog(0), m_submitActionTriggered(false) { @@ -216,8 +215,8 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage) addAutoReleasedObject(new GitSubmitEditorFactory(&submitParameters)); - m_versionControl = new GitVersionControl(m_gitClient); - addAutoReleasedObject(m_versionControl); + GitVersionControl *versionControl = new GitVersionControl(m_gitClient); + addAutoReleasedObject(versionControl); addAutoReleasedObject(new CloneWizard); addAutoReleasedObject(new Gitorious::Internal::GitoriousCloneWizard); @@ -233,8 +232,8 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage) gitContainer->menu()->setTitle(tr("&Git")); toolsContainer->addMenu(gitContainer); if (QAction *ma = gitContainer->menu()->menuAction()) { - ma->setEnabled(m_versionControl->isEnabled()); - connect(m_versionControl, SIGNAL(enabledChanged(bool)), ma, SLOT(setVisible(bool))); + ma->setEnabled(versionControl->isEnabled()); + connect(versionControl, SIGNAL(enabledChanged(bool)), ma, SLOT(setVisible(bool))); } Core::Command *command; @@ -399,11 +398,6 @@ void GitPlugin::extensionsInitialized() { } -GitVersionControl *GitPlugin::versionControl() const -{ - return m_versionControl; -} - void GitPlugin::submitEditorDiff(const QStringList &unstaged, const QStringList &staged) { m_gitClient->diff(m_submitRepository, QStringList(), unstaged, staged); diff --git a/src/plugins/git/gitplugin.h b/src/plugins/git/gitplugin.h index 0d6ad7fbdd..4f934a8939 100644 --- a/src/plugins/git/gitplugin.h +++ b/src/plugins/git/gitplugin.h @@ -59,7 +59,6 @@ namespace Git { namespace Internal { class GitPlugin; -class GitVersionControl; class GitClient; class ChangeSelectionDialog; class GitSubmitEditor; @@ -97,7 +96,6 @@ public: void setSettings(const GitSettings &s); GitClient *gitClient() const; - GitVersionControl *versionControl() const; public slots: void updateActions(); @@ -161,7 +159,6 @@ private: QAction *m_branchListAction; GitClient *m_gitClient; - GitVersionControl *m_versionControl; ChangeSelectionDialog *m_changeSelectionDialog; QString m_submitRepository; QStringList m_submitOrigCommitFiles; diff --git a/src/plugins/git/gitversioncontrol.cpp b/src/plugins/git/gitversioncontrol.cpp index c64a683bea..559d296220 100644 --- a/src/plugins/git/gitversioncontrol.cpp +++ b/src/plugins/git/gitversioncontrol.cpp @@ -96,10 +96,5 @@ QString GitVersionControl::findTopLevelForDirectory(const QString &directory) co return GitClient::findRepositoryForDirectory(directory); } -void GitVersionControl::emitFilesChanged(const QStringList &l) -{ - emit filesChanged(l); -} - } // Internal } // Git diff --git a/src/plugins/git/gitversioncontrol.h b/src/plugins/git/gitversioncontrol.h index 4459800063..72908b0da2 100644 --- a/src/plugins/git/gitversioncontrol.h +++ b/src/plugins/git/gitversioncontrol.h @@ -57,8 +57,6 @@ public: virtual bool vcsAdd(const QString &fileName); virtual bool vcsDelete(const QString &filename); - void emitFilesChanged(const QStringList &); - signals: void enabledChanged(bool); diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index a80d8f5597..7039798b09 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -454,8 +454,6 @@ void PerforcePlugin::revertCurrentFile() Core::FileChangeBlocker fcb(fileName); fcb.setModifiedReload(true); PerforceResponse result2 = runP4Cmd(QStringList() << QLatin1String("revert") << fileName, QStringList(), CommandToWindow|StdOutToWindow|StdErrToWindow|ErrorToWindow); - if (!result2.error) - m_versionControl->emitFilesChanged(QStringList(fileName)); } void PerforcePlugin::diffCurrentFile() @@ -516,10 +514,7 @@ void PerforcePlugin::updateCheckout(const QStringList &dirs) { QStringList args(QLatin1String("sync")); args.append(dirs); - const PerforceResponse resp = runP4Cmd(args, QStringList(), CommandToWindow|StdOutToWindow|StdErrToWindow|ErrorToWindow); - if (!dirs.empty()) - foreach(const QString &dir, dirs) - m_versionControl->emitRepositoryChanged(dir); + runP4Cmd(args, QStringList(), CommandToWindow|StdOutToWindow|StdErrToWindow|ErrorToWindow); } void PerforcePlugin::printOpenedFileList() diff --git a/src/plugins/perforce/perforceversioncontrol.cpp b/src/plugins/perforce/perforceversioncontrol.cpp index ad915b2a20..040692428d 100644 --- a/src/plugins/perforce/perforceversioncontrol.cpp +++ b/src/plugins/perforce/perforceversioncontrol.cpp @@ -94,15 +94,5 @@ QString PerforceVersionControl::findTopLevelForDirectory(const QString &director return m_plugin->findTopLevelForDirectory(directory); } -void PerforceVersionControl::emitRepositoryChanged(const QString &s) -{ - emit repositoryChanged(s); -} - -void PerforceVersionControl::emitFilesChanged(const QStringList &l) -{ - emit filesChanged(l); -} - } // Internal } // Perforce diff --git a/src/plugins/perforce/perforceversioncontrol.h b/src/plugins/perforce/perforceversioncontrol.h index dd385061cb..2992e5518b 100644 --- a/src/plugins/perforce/perforceversioncontrol.h +++ b/src/plugins/perforce/perforceversioncontrol.h @@ -56,9 +56,6 @@ public: virtual bool vcsAdd(const QString &fileName); virtual bool vcsDelete(const QString &filename); - void emitRepositoryChanged(const QString &s); - void emitFilesChanged(const QStringList &l); - signals: void enabledChanged(bool); diff --git a/src/plugins/subversion/subversioncontrol.cpp b/src/plugins/subversion/subversioncontrol.cpp index ff0e0f1c81..32ef57e5ec 100644 --- a/src/plugins/subversion/subversioncontrol.cpp +++ b/src/plugins/subversion/subversioncontrol.cpp @@ -96,13 +96,3 @@ QString SubversionControl::findTopLevelForDirectory(const QString &directory) co { return m_plugin->findTopLevelForDirectory(directory); } - -void SubversionControl::emitRepositoryChanged(const QString &s) -{ - emit repositoryChanged(s); -} - -void SubversionControl::emitFilesChanged(const QStringList &l) -{ - emit filesChanged(l); -} diff --git a/src/plugins/subversion/subversioncontrol.h b/src/plugins/subversion/subversioncontrol.h index 325cfd1098..42f64ab147 100644 --- a/src/plugins/subversion/subversioncontrol.h +++ b/src/plugins/subversion/subversioncontrol.h @@ -56,9 +56,6 @@ public: virtual bool vcsAdd(const QString &fileName); virtual bool vcsDelete(const QString &filename); - void emitRepositoryChanged(const QString &); - void emitFilesChanged(const QStringList &); - signals: void enabledChanged(bool); diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index 0060e02395..676ffc2b8a 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -574,7 +574,6 @@ void SubversionPlugin::revertCurrentFile() const SubversionResponse revertResponse = runSvn(args, subversionShortTimeOut, true); if (!revertResponse.error) { fcb.setModifiedReload(true); - m_versionControl->emitFilesChanged(QStringList(file)); } } @@ -751,10 +750,7 @@ void SubversionPlugin::updateProject() QStringList args(QLatin1String("update")); args.push_back(QLatin1String(nonInteractiveOptionC)); args.append(topLevels); - const SubversionResponse response = runSvn(args, subversionLongTimeOut, true); - if (!response.error) - foreach(const QString &repo, topLevels) - m_versionControl->emitRepositoryChanged(repo); + runSvn(args, subversionLongTimeOut, true); } void SubversionPlugin::annotateCurrentFile() diff --git a/src/plugins/subversion/subversionplugin.h b/src/plugins/subversion/subversionplugin.h index 6e3dab7e5d..1dcfce6803 100644 --- a/src/plugins/subversion/subversionplugin.h +++ b/src/plugins/subversion/subversionplugin.h @@ -56,7 +56,6 @@ namespace Subversion { namespace Internal { class SubversionSubmitEditor; -class SubversionControl; struct SubversionResponse { @@ -132,7 +131,7 @@ private: const QStringList m_svnDirectories; SubversionSettings m_settings; - SubversionControl *m_versionControl; + Core::IVersionControl *m_versionControl; QString m_commitMessageFileName; ProjectExplorer::ProjectExplorerPlugin *m_projectExplorer; |