From cacdc6c736730418e4c92d0a184d3027afa48535 Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@nokia.com> Date: Fri, 8 Jan 2010 09:48:54 +0100 Subject: [PATCH] Add display name to VCS plugin structs Reviewed-by: Friedemann Kleint --- src/plugins/cvs/cvsconstants.h | 3 ++- src/plugins/cvs/cvsplugin.cpp | 19 ++++++++++------ src/plugins/git/gitclient.cpp | 24 ++++++++++---------- src/plugins/git/gitconstants.h | 17 ++++++++++---- src/plugins/git/gitplugin.cpp | 19 ++++++++++------ src/plugins/mercurial/constants.h | 11 ++++++++- src/plugins/mercurial/mercurialplugin.cpp | 23 +++++++++++-------- src/plugins/perforce/perforceconstants.h | 7 ++++++ src/plugins/perforce/perforceplugin.cpp | 5 ++++ src/plugins/subversion/subversionconstants.h | 8 +++++-- src/plugins/subversion/subversionplugin.cpp | 19 ++++++++++------ src/plugins/vcsbase/basevcseditorfactory.cpp | 6 ++++- src/plugins/vcsbase/vcsbaseeditor.cpp | 5 +++- src/plugins/vcsbase/vcsbaseeditor.h | 4 ++-- src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 2 ++ src/plugins/vcsbase/vcsbasesubmiteditor.h | 4 ++-- 16 files changed, 119 insertions(+), 57 deletions(-) diff --git a/src/plugins/cvs/cvsconstants.h b/src/plugins/cvs/cvsconstants.h index d2ae95e331a..d661553c2ec 100644 --- a/src/plugins/cvs/cvsconstants.h +++ b/src/plugins/cvs/cvsconstants.h @@ -37,7 +37,8 @@ const char * const CVS_SUBMIT_MIMETYPE = "application/vnd.nokia.text.cvs.submit" const char * const CVSEDITOR = "CVS Editor"; const char * const CVSEDITOR_KIND = "CVS Editor"; const char * const CVSCOMMITEDITOR = "CVS Commit Editor"; -const char * const CVSCOMMITEDITOR_KIND = "CVS Commit Editor"; +const char * const CVSCOMMITEDITOR_ID = "CVS Commit Editor"; +const char * const CVSCOMMITEDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "CVS Commit Editor"); const char * const SUBMIT_CURRENT = "CVS.SubmitCurrentLog"; const char * const DIFF_SELECTED = "CVS.DiffSelectedFilesInLog"; enum { debug = 0 }; diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp index 4a1bd30d70b..929bd41b608 100644 --- a/src/plugins/cvs/cvsplugin.cpp +++ b/src/plugins/cvs/cvsplugin.cpp @@ -102,22 +102,26 @@ static const char * const CMD_ID_SEPARATOR4 = "CVS.Separator4"; static const VCSBase::VCSBaseEditorParameters editorParameters[] = { { VCSBase::RegularCommandOutput, - "CVS Command Log Editor", // kind + "CVS Command Log Editor", // id + QT_TRANSLATE_NOOP("VCS", "CVS Command Log Editor"), // display name "CVS Command Log Editor", // context "application/vnd.nokia.text.scs_cvs_commandlog", "scslog"}, { VCSBase::LogOutput, - "CVS File Log Editor", // kind + "CVS File Log Editor", // id + QT_TRANSLATE_NOOP("VCS", "CVS File Log Editor"), // display name "CVS File Log Editor", // context "application/vnd.nokia.text.scs_cvs_filelog", "scsfilelog"}, { VCSBase::AnnotateOutput, - "CVS Annotation Editor", // kind + "CVS Annotation Editor", // id + QT_TRANSLATE_NOOP("VCS", "CVS Annotation Editor"), // display name "CVS Annotation Editor", // context "application/vnd.nokia.text.scs_cvs_annotation", "scsannotate"}, { VCSBase::DiffOutput, - "CVS Diff Editor", // kind + "CVS Diff Editor", // id + QT_TRANSLATE_NOOP("VCS", "CVS Diff Editor"), // display name "CVS Diff Editor", // context "text/x-patch","diff"} }; @@ -146,7 +150,7 @@ Core::IEditor* locateEditor(const char *property, const QString &entry) CVSPlugin *CVSPlugin::m_cvsPluginInstance = 0; CVSPlugin::CVSPlugin() : - VCSBase::VCSBasePlugin(QLatin1String(CVS::Constants::CVSCOMMITEDITOR_KIND)), + VCSBase::VCSBasePlugin(QLatin1String(CVS::Constants::CVSCOMMITEDITOR_ID)), m_addAction(0), m_deleteAction(0), m_revertAction(0), @@ -189,7 +193,8 @@ bool CVSPlugin::isCommitEditorOpen() const static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = { CVS::Constants::CVS_SUBMIT_MIMETYPE, - CVS::Constants::CVSCOMMITEDITOR_KIND, + CVS::Constants::CVSCOMMITEDITOR_ID, + CVS::Constants::CVSCOMMITEDITOR_DISPLAY_NAME, CVS::Constants::CVSCOMMITEDITOR }; @@ -478,7 +483,7 @@ void CVSPlugin::cvsDiff(const QString &workingDir, const QStringList &files) CVSSubmitEditor *CVSPlugin::openCVSSubmitEditor(const QString &fileName) { - Core::IEditor *editor = Core::EditorManager::instance()->openEditor(fileName, QLatin1String(Constants::CVSCOMMITEDITOR_KIND)); + Core::IEditor *editor = Core::EditorManager::instance()->openEditor(fileName, QLatin1String(Constants::CVSCOMMITEDITOR_ID)); CVSSubmitEditor *submitEditor = qobject_cast<CVSSubmitEditor*>(editor); QTC_ASSERT(submitEditor, /**/); submitEditor->registerActions(m_submitUndoAction, m_submitRedoAction, m_submitCurrentLogAction, m_submitDiffAction); diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index ff152c5b1b6..37d7c6a46d7 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -152,7 +152,7 @@ QString GitClient::findRepositoryForDirectory(const QString &dir) * existing instance and to reuse it (in case, say, 'git diff foo' is * already open). */ VCSBase::VCSBaseEditor - *GitClient::createVCSEditor(const QString &kind, + *GitClient::createVCSEditor(const QString &id, QString title, // Source file or directory const QString &source, @@ -170,7 +170,7 @@ VCSBase::VCSBaseEditor QTC_ASSERT(rc, return 0); } else { // Create new, set wait message, set up with source and codec - outputEditor = m_core->editorManager()->openEditorWithContents(kind, &title, m_msgWait); + outputEditor = m_core->editorManager()->openEditorWithContents(id, &title, m_msgWait); outputEditor->file()->setProperty(registerDynamicProperty, dynamicPropertyValue); rc = VCSBase::VCSBaseEditor::getVcsBaseEditor(outputEditor); connect(rc, SIGNAL(annotateRevisionRequested(QString,QString,int)), @@ -194,10 +194,10 @@ void GitClient::diff(const QString &workingDirectory, qDebug() << "diff" << workingDirectory << unstagedFileNames << stagedFileNames; const QString binary = QLatin1String(Constants::GIT_BINARY); - const QString kind = QLatin1String(Git::Constants::GIT_DIFF_EDITOR_KIND); + const QString editorId = QLatin1String(Git::Constants::GIT_DIFF_EDITOR_ID); const QString title = tr("Git Diff"); - VCSBase::VCSBaseEditor *editor = createVCSEditor(kind, title, workingDirectory, true, "originalFileName", workingDirectory); + VCSBase::VCSBaseEditor *editor = createVCSEditor(editorId, title, workingDirectory, true, "originalFileName", workingDirectory); editor->setDiffBaseDirectory(workingDirectory); // Create a batch of 2 commands to be run after each other in case @@ -241,10 +241,10 @@ void GitClient::diff(const QString &workingDirectory, if (!fileName.isEmpty()) arguments << diffArgs << QLatin1String("--") << fileName; - const QString kind = QLatin1String(Git::Constants::GIT_DIFF_EDITOR_KIND); + const QString editorId = QLatin1String(Git::Constants::GIT_DIFF_EDITOR_ID); const QString title = tr("Git Diff %1").arg(fileName); const QString sourceFile = VCSBase::VCSBaseEditor::getSource(workingDirectory, fileName); - VCSBase::VCSBaseEditor *editor = createVCSEditor(kind, title, sourceFile, true, "originalFileName", sourceFile); + VCSBase::VCSBaseEditor *editor = createVCSEditor(editorId, title, sourceFile, true, "originalFileName", sourceFile); executeGit(workingDirectory, arguments, editor); } @@ -277,9 +277,9 @@ void GitClient::log(const QString &workingDirectory, const QStringList &fileName const QString msgArg = fileNames.empty() ? workingDirectory : fileNames.join(QString(", ")); const QString title = tr("Git Log %1").arg(msgArg); - const QString kind = QLatin1String(Git::Constants::GIT_LOG_EDITOR_KIND); + const QString editorId = QLatin1String(Git::Constants::GIT_LOG_EDITOR_ID); const QString sourceFile = VCSBase::VCSBaseEditor::getSource(workingDirectory, fileNames); - VCSBase::VCSBaseEditor *editor = createVCSEditor(kind, title, sourceFile, false, "logFileName", sourceFile); + VCSBase::VCSBaseEditor *editor = createVCSEditor(editorId, title, sourceFile, false, "logFileName", sourceFile); editor->setFileLogAnnotateEnabled(enableAnnotationContextMenu); executeGit(workingDirectory, arguments, editor); } @@ -292,8 +292,8 @@ void GitClient::show(const QString &source, const QString &id) arguments << QLatin1String("show") << QLatin1String(noColorOption) << id; const QString title = tr("Git Show %1").arg(id); - const QString kind = QLatin1String(Git::Constants::GIT_DIFF_EDITOR_KIND); - VCSBase::VCSBaseEditor *editor = createVCSEditor(kind, title, source, true, "show", id); + const QString editorId = QLatin1String(Git::Constants::GIT_DIFF_EDITOR_ID); + VCSBase::VCSBaseEditor *editor = createVCSEditor(editorId, title, source, true, "show", id); const QFileInfo sourceFi(source); const QString workDir = sourceFi.isDir() ? sourceFi.absoluteFilePath() : sourceFi.absolutePath(); @@ -325,12 +325,12 @@ void GitClient::blame(const QString &workingDirectory, arguments << QLatin1String("--") << fileName; if (!revision.isEmpty()) arguments << revision; - const QString kind = QLatin1String(Git::Constants::GIT_BLAME_EDITOR_KIND); + const QString editorId = QLatin1String(Git::Constants::GIT_BLAME_EDITOR_ID); const QString id = VCSBase::VCSBaseEditor::getTitleId(workingDirectory, QStringList(fileName), revision); const QString title = tr("Git Blame %1").arg(id); const QString sourceFile = VCSBase::VCSBaseEditor::getSource(workingDirectory, fileName); - VCSBase::VCSBaseEditor *editor = createVCSEditor(kind, title, sourceFile, true, "blameFileName", id); + VCSBase::VCSBaseEditor *editor = createVCSEditor(editorId, title, sourceFile, true, "blameFileName", id); executeGit(workingDirectory, arguments, editor, false, GitCommand::NoReport, lineNumber); } diff --git a/src/plugins/git/gitconstants.h b/src/plugins/git/gitconstants.h index eb4086f0176..d03832fe06b 100644 --- a/src/plugins/git/gitconstants.h +++ b/src/plugins/git/gitconstants.h @@ -30,20 +30,27 @@ #ifndef GIT_CONSTANTS_H #define GIT_CONSTANTS_H +#include <QtCore/QtGlobal> + namespace Git { namespace Constants { -const char * const GIT_COMMAND_LOG_EDITOR_KIND = "Git Command Log Editor"; +const char * const GIT_COMMAND_LOG_EDITOR_ID = "Git Command Log Editor"; +const char * const GIT_COMMAND_LOG_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Git Command Log Editor"); const char * const C_GIT_COMMAND_LOG_EDITOR = "Git Command Log Editor"; -const char * const GIT_LOG_EDITOR_KIND = "Git File Log Editor"; +const char * const GIT_LOG_EDITOR_ID = "Git File Log Editor"; +const char * const GIT_LOG_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Git File Log Editor"); const char * const C_GIT_LOG_EDITOR = "Git File Log Editor"; -const char * const GIT_BLAME_EDITOR_KIND = "Git Annotation Editor"; +const char * const GIT_BLAME_EDITOR_ID = "Git Annotation Editor"; +const char * const GIT_BLAME_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Git Annotation Editor"); const char * const C_GIT_BLAME_EDITOR = "Git Annotation Editor"; -const char * const GIT_DIFF_EDITOR_KIND = "Git Diff Editor"; +const char * const GIT_DIFF_EDITOR_ID = "Git Diff Editor"; +const char * const GIT_DIFF_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Git Diff Editor"); const char * const C_GIT_DIFF_EDITOR = "Git Diff Editor"; const char * const C_GITSUBMITEDITOR = "Git Submit Editor"; -const char * const GITSUBMITEDITOR_KIND = "Git Submit Editor"; +const char * const GITSUBMITEDITOR_ID = "Git Submit Editor"; +const char * const GITSUBMITEDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Git Submit Editor"); const char * const SUBMIT_CURRENT = "Git.SubmitCurrentLog"; const char * const DIFF_SELECTED = "Git.DiffSelectedFilesInLog"; const char * const SUBMIT_MIMETYPE = "application/vnd.nokia.text.git.submit"; diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index eb1d8350266..19880501e22 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -71,22 +71,26 @@ static const VCSBase::VCSBaseEditorParameters editorParameters[] = { { VCSBase::RegularCommandOutput, - Git::Constants::GIT_COMMAND_LOG_EDITOR_KIND, + Git::Constants::GIT_COMMAND_LOG_EDITOR_ID, + Git::Constants::GIT_COMMAND_LOG_EDITOR_DISPLAY_NAME, Git::Constants::C_GIT_COMMAND_LOG_EDITOR, "application/vnd.nokia.text.scs_git_commandlog", "gitlog"}, { VCSBase::LogOutput, - Git::Constants::GIT_LOG_EDITOR_KIND, + Git::Constants::GIT_LOG_EDITOR_ID, + Git::Constants::GIT_LOG_EDITOR_DISPLAY_NAME, Git::Constants::C_GIT_LOG_EDITOR, "application/vnd.nokia.text.scs_git_filelog", "gitfilelog"}, { VCSBase::AnnotateOutput, - Git::Constants::GIT_BLAME_EDITOR_KIND, + Git::Constants::GIT_BLAME_EDITOR_ID, + Git::Constants::GIT_BLAME_EDITOR_DISPLAY_NAME, Git::Constants::C_GIT_BLAME_EDITOR, "application/vnd.nokia.text.scs_git_annotation", "gitsannotate"}, { VCSBase::DiffOutput, - Git::Constants::GIT_DIFF_EDITOR_KIND, + Git::Constants::GIT_DIFF_EDITOR_ID, + Git::Constants::GIT_DIFF_EDITOR_DISPLAY_NAME, Git::Constants::C_GIT_DIFF_EDITOR, "text/x-patch","diff"} }; @@ -106,7 +110,7 @@ using namespace Git::Internal; GitPlugin *GitPlugin::m_instance = 0; GitPlugin::GitPlugin() : - VCSBase::VCSBasePlugin(QLatin1String(Git::Constants::GITSUBMITEDITOR_KIND)), + VCSBase::VCSBasePlugin(QLatin1String(Git::Constants::GITSUBMITEDITOR_ID)), m_core(0), m_diffAction(0), m_diffProjectAction(0), @@ -166,7 +170,8 @@ GitPlugin *GitPlugin::instance() static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = { Git::Constants::SUBMIT_MIMETYPE, - Git::Constants::GITSUBMITEDITOR_KIND, + Git::Constants::GITSUBMITEDITOR_ID, + Git::Constants::GITSUBMITEDITOR_DISPLAY_NAME, Git::Constants::C_GITSUBMITEDITOR }; @@ -518,7 +523,7 @@ void GitPlugin::startCommit() Core::IEditor *GitPlugin::openSubmitEditor(const QString &fileName, const CommitData &cd) { - Core::IEditor *editor = m_core->editorManager()->openEditor(fileName, QLatin1String(Constants::GITSUBMITEDITOR_KIND)); + Core::IEditor *editor = m_core->editorManager()->openEditor(fileName, QLatin1String(Constants::GITSUBMITEDITOR_ID)); if (Git::Constants::debug) qDebug() << Q_FUNC_INFO << fileName << editor; m_core->editorManager()->ensureEditorManagerVisible(); diff --git a/src/plugins/mercurial/constants.h b/src/plugins/mercurial/constants.h index 5e8c8879eb9..aa6b1fc3334 100644 --- a/src/plugins/mercurial/constants.h +++ b/src/plugins/mercurial/constants.h @@ -54,24 +54,33 @@ const char * const CHANGEIDEXACT40 = "[a-f0-9]{40,40}"; const char * const DIFFIDENTIFIER = "^[-+]{3,3} [ab]{1,1}.*"; // match e.g. +++ b/filename //BaseEditorParameters +const char * const COMMANDLOG_ID = "Mercurial Command Log Editor"; +const char * const COMMANDLOG_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Mercurial Command Log Editor"); const char * const COMMANDLOG = "Mercurial Command Log Editor"; const char * const COMMANDAPP = "application/vnd.nokia.text.scs_mercurial_commandlog"; const char * const COMMANDEXT = "vcsMercurialCommand"; +const char * const FILELOG_ID = "Mercurial File Log Editor"; +const char * const FILELOG_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Mercurial File Log Editor"); const char * const FILELOG = "Mercurial File Log Editor"; const char * const LOGAPP = "application/vnd.nokia.text.scs_mercurial_log"; const char * const LOGEXT = "vcsMercurialLog"; +const char * const ANNOTATELOG_ID = "Mercurial Annotation Editor"; +const char * const ANNOTATELOG_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Mercurial Annotation Editor"); const char * const ANNOTATELOG = "Mercurial Annotation Editor"; const char * const ANNOTATEAPP = "application/vnd.nokia.text.scs_mercurial_annotatelog"; const char * const ANNOTATEEXT = "vcsMercurialAnnotate"; +const char * const DIFFLOG_ID = "Mercurial Diff Editor"; +const char * const DIFFLOG_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Mercurial Diff Editor"); const char * const DIFFLOG = "Mercurial Diff Editor"; const char * const DIFFAPP = "text/x-patch"; const char * const DIFFEXT = "diff"; //SubmitEditorParameters -const char * const COMMITKIND = "Mercurial Commit Log Editor"; +const char * const COMMIT_ID = "Mercurial Commit Log Editor"; +const char * const COMMIT_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Mercurial Commit Log Editor"); const char * const COMMITMIMETYPE = "application/vnd.nokia.text.scs_mercurial_commitlog"; //menu items diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp index 29c9f0f8d24..a0cc3309533 100644 --- a/src/plugins/mercurial/mercurialplugin.cpp +++ b/src/plugins/mercurial/mercurialplugin.cpp @@ -74,25 +74,29 @@ using namespace Mercurial; static const VCSBase::VCSBaseEditorParameters editorParameters[] = { { VCSBase::RegularCommandOutput, //type - Constants::COMMANDLOG, // kind + Constants::COMMANDLOG_ID, // id + Constants::COMMANDLOG_DISPLAY_NAME, // display name Constants::COMMANDLOG, // context Constants::COMMANDAPP, // mime type Constants::COMMANDEXT}, //extension { VCSBase::LogOutput, - Constants::FILELOG, + Constants::FILELOG_ID, + Constants::FILELOG_DISPLAY_NAME, Constants::FILELOG, Constants::LOGAPP, Constants::LOGEXT}, { VCSBase::AnnotateOutput, - Constants::ANNOTATELOG, + Constants::ANNOTATELOG_ID, + Constants::ANNOTATELOG_DISPLAY_NAME, Constants::ANNOTATELOG, Constants::ANNOTATEAPP, Constants::ANNOTATEEXT}, { VCSBase::DiffOutput, - Constants::DIFFLOG, + Constants::DIFFLOG_ID, + Constants::DIFFLOG_DISPLAY_NAME, Constants::DIFFLOG, Constants::DIFFAPP, Constants::DIFFEXT} @@ -100,8 +104,9 @@ static const VCSBase::VCSBaseEditorParameters editorParameters[] = { static const VCSBase::VCSBaseSubmitEditorParameters submitEditorParameters = { Constants::COMMITMIMETYPE, - Constants::COMMITKIND, - Constants::COMMITKIND + Constants::COMMIT_ID, + Constants::COMMIT_DISPLAY_NAME, + Constants::COMMIT_ID }; // Utility to find a parameter set by type @@ -115,7 +120,7 @@ static inline const VCSBase::VCSBaseEditorParameters *findType(int ie) MercurialPlugin *MercurialPlugin::m_instance = 0; MercurialPlugin::MercurialPlugin() : - VCSBase::VCSBasePlugin(QLatin1String(Constants::COMMITKIND)), + VCSBase::VCSBasePlugin(QLatin1String(Constants::COMMIT_ID)), optionsPage(0), m_client(0), changeLog(0), @@ -475,7 +480,7 @@ void MercurialPlugin::outgoing() void MercurialPlugin::createSubmitEditorActions() { - QList<int> context = QList<int>()<< core->uniqueIDManager()->uniqueIdentifier(QLatin1String(Constants::COMMITKIND)); + QList<int> context = QList<int>()<< core->uniqueIDManager()->uniqueIdentifier(QLatin1String(Constants::COMMIT_ID)); Core::Command *command; editorCommit = new QAction(VCSBase::VCSBaseSubmitEditor::submitIcon(), tr("Commit"), this); @@ -529,7 +534,7 @@ void MercurialPlugin::showCommitWidget(const QList<QPair<QString, QString> > &st } Core::IEditor *editor = core->editorManager()->openEditor(changeLog->fileName(), - QLatin1String(Constants::COMMITKIND)); + QLatin1String(Constants::COMMIT_ID)); if (!editor) { outputWindow->appendError(tr("Unable to create an editor for the commit.")); return; diff --git a/src/plugins/perforce/perforceconstants.h b/src/plugins/perforce/perforceconstants.h index 0da66fd2af6..43b1c2a0641 100644 --- a/src/plugins/perforce/perforceconstants.h +++ b/src/plugins/perforce/perforceconstants.h @@ -30,24 +30,31 @@ #ifndef PERFORCE_CONSTANTS_H #define PERFORCE_CONSTANTS_H +#include <QtCore/QtGlobal> + namespace Perforce { namespace Constants { const char * const PERFORCEEDITOR_CONTEXT = "Perforce Editor"; const char * const PERFORCE_SUBMIT_EDITOR_ID = "Perforce.SubmitEditor"; +const char * const PERFORCE_SUBMIT_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Perforce.SubmitEditor"); const char * const PERFORCESUBMITEDITOR_CONTEXT = "Perforce Submit Editor"; const char * const PERFORCE_COMMANDLOG_EDITOR_ID = "Perfoirce.CommandLogEditor"; +const char * const PERFORCE_COMMANDLOG_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Perforce CommandLog Editor"); const char * const PERFORCE_COMMANDLOG_EDITOR_CONTEXT = "Perforce Command Log Editor"; const char * const PERFORCE_LOG_EDITOR_ID = "Perforce.LogEditor"; +const char * const PERFORCE_LOG_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Perforce Log Editor"); const char * const PERFORCE_LOG_EDITOR_CONTEXT = "Perforce Log Editor"; const char * const PERFORCE_DIFF_EDITOR_ID = "Perforce.DiffEditor"; +const char * const PERFORCE_DIFF_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Perforce Diff Editor"); const char * const PERFORCE_DIFF_EDITOR_CONTEXT = "Perforce Diff Editor"; const char * const PERFORCE_ANNOTATION_EDITOR_ID = "Perforce.AnnotationEditor"; +const char * const PERFORCE_ANNOTATION_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Perforce Annotation Editor"); const char * const PERFORCE_ANNOTATION_EDITOR_CONTEXT = "Perforce Annotation Editor"; const char * const SUBMIT_CURRENT = "Perforce.SubmitCurrentLog"; diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index e7f05c3c768..d2a37da631f 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -72,21 +72,25 @@ static const VCSBase::VCSBaseEditorParameters editorParameters[] = { { VCSBase::RegularCommandOutput, Perforce::Constants::PERFORCE_COMMANDLOG_EDITOR_ID, + Perforce::Constants::PERFORCE_COMMANDLOG_EDITOR_DISPLAY_NAME, Perforce::Constants::PERFORCE_COMMANDLOG_EDITOR_CONTEXT, "application/vnd.nokia.text.scs_commandlog", "scslog"}, { VCSBase::LogOutput, Perforce::Constants::PERFORCE_LOG_EDITOR_ID, + Perforce::Constants::PERFORCE_LOG_EDITOR_DISPLAY_NAME, Perforce::Constants::PERFORCE_LOG_EDITOR_CONTEXT, "application/vnd.nokia.text.scs_filelog", "scsfilelog"}, { VCSBase::AnnotateOutput, Perforce::Constants::PERFORCE_ANNOTATION_EDITOR_ID, + Perforce::Constants::PERFORCE_ANNOTATION_EDITOR_DISPLAY_NAME, Perforce::Constants::PERFORCE_ANNOTATION_EDITOR_CONTEXT, "application/vnd.nokia.text.scs_annotation", "scsannotate"}, { VCSBase::DiffOutput, Perforce::Constants::PERFORCE_DIFF_EDITOR_ID, + Perforce::Constants::PERFORCE_DIFF_EDITOR_DISPLAY_NAME, Perforce::Constants::PERFORCE_DIFF_EDITOR_CONTEXT, "text/x-patch","diff"} }; @@ -205,6 +209,7 @@ PerforcePlugin::PerforcePlugin() : static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = { Perforce::Constants::SUBMIT_MIMETYPE, Perforce::Constants::PERFORCE_SUBMIT_EDITOR_ID, + Perforce::Constants::PERFORCE_SUBMIT_EDITOR_DISPLAY_NAME, Perforce::Constants::PERFORCESUBMITEDITOR_CONTEXT }; diff --git a/src/plugins/subversion/subversionconstants.h b/src/plugins/subversion/subversionconstants.h index 03afbc3e8a6..e6f2880a38f 100644 --- a/src/plugins/subversion/subversionconstants.h +++ b/src/plugins/subversion/subversionconstants.h @@ -30,14 +30,18 @@ #ifndef SUBVERSION_CONSTANTS_H #define SUBVERSION_CONSTANTS_H +#include <QtCore/QtGlobal> + namespace Subversion { namespace Constants { const char * const SUBVERSION_SUBMIT_MIMETYPE = "application/vnd.nokia.text.subversion.submit"; const char * const SUBVERSIONEDITOR = "Subversion Editor"; -const char * const SUBVERSIONEDITOR_KIND = "Subversion Editor"; +const char * const SUBVERSIONEDITOR_ID = "Subversion Editor"; +const char * const SUBVERSIONEDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Subversion Editor"); const char * const SUBVERSIONCOMMITEDITOR = "Subversion Commit Editor"; -const char * const SUBVERSIONCOMMITEDITOR_KIND = "Subversion Commit Editor"; +const char * const SUBVERSIONCOMMITEDITOR_ID = "Subversion Commit Editor"; +const char * const SUBVERSIONCOMMITEDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("VCS", "Subversion Commit Editor"); const char * const SUBMIT_CURRENT = "Subversion.SubmitCurrentLog"; const char * const DIFF_SELECTED = "Subversion.DiffSelectedFilesInLog"; enum { debug = 0 }; diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index a0c3212907c..3321652c6bb 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -97,22 +97,26 @@ static const char *nonInteractiveOptionC = "--non-interactive"; static const VCSBase::VCSBaseEditorParameters editorParameters[] = { { VCSBase::RegularCommandOutput, - "Subversion Command Log Editor", // kind + "Subversion Command Log Editor", // id + QT_TRANSLATE_NOOP("VCS", "Subversion Command Log Editor"), // display name "Subversion Command Log Editor", // context "application/vnd.nokia.text.scs_svn_commandlog", "scslog"}, { VCSBase::LogOutput, - "Subversion File Log Editor", // kind + "Subversion File Log Editor", // id + QT_TRANSLATE_NOOP("VCS", "Subversion File Log Editor"), // display_name "Subversion File Log Editor", // context "application/vnd.nokia.text.scs_svn_filelog", "scsfilelog"}, { VCSBase::AnnotateOutput, - "Subversion Annotation Editor", // kind + "Subversion Annotation Editor", // id + QT_TRANSLATE_NOOP("VCS", "Subversion Annotation Editor"), // display_name "Subversion Annotation Editor", // context "application/vnd.nokia.text.scs_svn_annotation", "scsannotate"}, { VCSBase::DiffOutput, - "Subversion Diff Editor", // kind + "Subversion Diff Editor", // id + QT_TRANSLATE_NOOP("VCS", "Subversion Diff Editor"), // display_name "Subversion Diff Editor", // context "text/x-patch","diff"} }; @@ -175,7 +179,7 @@ static inline QStringList svnDirectories() SubversionPlugin *SubversionPlugin::m_subversionPluginInstance = 0; SubversionPlugin::SubversionPlugin() : - VCSBase::VCSBasePlugin(QLatin1String(Subversion::Constants::SUBVERSIONCOMMITEDITOR_KIND)), + VCSBase::VCSBasePlugin(QLatin1String(Subversion::Constants::SUBVERSIONCOMMITEDITOR_ID)), m_svnDirectories(svnDirectories()), m_addAction(0), m_deleteAction(0), @@ -221,7 +225,8 @@ bool SubversionPlugin::isCommitEditorOpen() const static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = { Subversion::Constants::SUBVERSION_SUBMIT_MIMETYPE, - Subversion::Constants::SUBVERSIONCOMMITEDITOR_KIND, + Subversion::Constants::SUBVERSIONCOMMITEDITOR_ID, + Subversion::Constants::SUBVERSIONCOMMITEDITOR_DISPLAY_NAME, Subversion::Constants::SUBVERSIONCOMMITEDITOR }; @@ -506,7 +511,7 @@ void SubversionPlugin::svnDiff(const QString &workingDir, const QStringList &fil SubversionSubmitEditor *SubversionPlugin::openSubversionSubmitEditor(const QString &fileName) { - Core::IEditor *editor = Core::EditorManager::instance()->openEditor(fileName, QLatin1String(Constants::SUBVERSIONCOMMITEDITOR_KIND)); + Core::IEditor *editor = Core::EditorManager::instance()->openEditor(fileName, QLatin1String(Constants::SUBVERSIONCOMMITEDITOR_ID)); SubversionSubmitEditor *submitEditor = qobject_cast<SubversionSubmitEditor*>(editor); QTC_ASSERT(submitEditor, /**/); submitEditor->registerActions(m_submitUndoAction, m_submitRedoAction, m_submitCurrentLogAction, m_submitDiffAction); diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp index 0751a598785..7eba5c7f3e0 100644 --- a/src/plugins/vcsbase/basevcseditorfactory.cpp +++ b/src/plugins/vcsbase/basevcseditorfactory.cpp @@ -35,6 +35,8 @@ #include <texteditor/texteditoractionhandler.h> #include <texteditor/texteditorsettings.h> +#include <QtCore/QCoreApplication> + namespace VCSBase { struct BaseVCSEditorFactoryPrivate @@ -43,6 +45,7 @@ struct BaseVCSEditorFactoryPrivate const VCSBaseEditorParameters *m_type; const QString m_id; + QString m_displayName; const QStringList m_mimeTypes; TextEditor::TextEditorActionHandler *m_editorHandler; }; @@ -58,6 +61,7 @@ BaseVCSEditorFactoryPrivate::BaseVCSEditorFactoryPrivate(const VCSBaseEditorPara BaseVCSEditorFactory::BaseVCSEditorFactory(const VCSBaseEditorParameters *t) : m_d(new BaseVCSEditorFactoryPrivate(t)) { + m_d->m_displayName = QCoreApplication::translate("VCS", t->displayName); } BaseVCSEditorFactory::~BaseVCSEditorFactory() @@ -77,7 +81,7 @@ QString BaseVCSEditorFactory::id() const QString BaseVCSEditorFactory::displayName() const { - return tr("Base VCS Editor", "VCSBase BaseVCSEditorFactory display name."); + return m_d->m_displayName; } Core::IFile *BaseVCSEditorFactory::open(const QString &fileName) diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index 8f65b8bd2c5..fd3f38dcf62 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -82,6 +82,7 @@ public: bool duplicateSupported() const { return false; } Core::IEditor *duplicate(QWidget * /*parent*/) { return 0; } QString id() const { return m_id; } + QString displayName() const { return m_displayName; } bool isTemporary() const { return true; } @@ -91,13 +92,15 @@ signals: private: QString m_id; + QString m_displayName; QList<int> m_context; }; VCSBaseEditorEditable::VCSBaseEditorEditable(VCSBaseEditor *editor, const VCSBaseEditorParameters *type) : BaseTextEditorEditable(editor), - m_id(type->id) + m_id(type->id), + m_displayName(QCoreApplication::translate("VCS", type->displayName)) { Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); m_context << uidm->uniqueIdentifier(QLatin1String(type->context)) diff --git a/src/plugins/vcsbase/vcsbaseeditor.h b/src/plugins/vcsbase/vcsbaseeditor.h index a47461bee78..c2b3c157fd3 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.h +++ b/src/plugins/vcsbase/vcsbaseeditor.h @@ -74,8 +74,8 @@ enum EditorContentType { // VCS commands with redirection. struct VCSBASE_EXPORT VCSBaseEditorParameters { EditorContentType type; - QString id; - QString displayName; + const char *id; + const char *displayName; const char *context; const char *mimeType; const char *extension; diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index c7edea06287..f38a0a231af 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -308,6 +308,8 @@ Core::IFile *VCSBaseSubmitEditor::file() QString VCSBaseSubmitEditor::displayName() const { + if (m_d->m_displayName.isEmpty()) + m_d->m_displayName = QCoreApplication::translate("VCS", m_d->m_parameters->displayName); return m_d->m_displayName; } diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.h b/src/plugins/vcsbase/vcsbasesubmiteditor.h index 78ca4e9993b..69c2b630baf 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.h +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.h @@ -56,8 +56,8 @@ struct VCSBaseSubmitEditorPrivate; /* Utility struct to parametrize a VCSBaseSubmitEditor. */ struct VCSBASE_EXPORT VCSBaseSubmitEditorParameters { const char *mimeType; - QString id; - QString displayName; + const char *id; + const char *displayName; const char *context; }; -- GitLab