Vcs: Use QString and Id in editor parameters instead of char *

... and use it to simplify the translation setup.

Change-Id: Ibd386ede3ecfc351316bed53bc184954adbcaa74
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
hjk
2024-02-07 17:15:49 +01:00
parent a020c13e10
commit 4e5692d628
18 changed files with 63 additions and 102 deletions

View File

@@ -34,6 +34,7 @@
#include <vcsbase/vcsbaseconstants.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseplugin.h>
#include <vcsbase/vcsbasetr.h>
#include <vcsbase/vcsbasesubmiteditor.h>
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
@@ -62,7 +63,6 @@ namespace Bazaar::Internal {
// Submit editor parameters
const char COMMIT_ID[] = "Bazaar Commit Log Editor";
const char COMMIT_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Bazaar Commit Log Editor");
const char COMMITMIMETYPE[] = "text/vnd.qtcreator.bazaar.commit";
// Menu items
@@ -202,7 +202,7 @@ public:
VcsEditorFactory logEditorFactory {{
LogOutput, // type
Constants::FILELOG_ID, // id
Constants::FILELOG_DISPLAY_NAME, // display name
VcsBase::Tr::tr("Bazaar File Log Editor"),
Constants::LOGAPP,// mime type
[] { return new BazaarEditorWidget; },
std::bind(&BazaarPluginPrivate::vcsDescribe, this, _1, _2)
@@ -211,7 +211,7 @@ public:
VcsEditorFactory annotateEditorFactory {{
AnnotateOutput,
Constants::ANNOTATELOG_ID,
Constants::ANNOTATELOG_DISPLAY_NAME,
VcsBase::Tr::tr("Bazaar Annotation Editor"),
Constants::ANNOTATEAPP,
[] { return new BazaarEditorWidget; },
std::bind(&BazaarPluginPrivate::vcsDescribe, this, _1, _2)
@@ -220,7 +220,7 @@ public:
VcsEditorFactory diffEditorFactory {{
DiffOutput,
Constants::DIFFLOG_ID,
Constants::DIFFLOG_DISPLAY_NAME,
VcsBase::Tr::tr("Bazaar Diff Editor"),
Constants::DIFFAPP,
[] { return new BazaarEditorWidget; },
std::bind(&BazaarPluginPrivate::vcsDescribe, this, _1, _2)
@@ -480,7 +480,7 @@ BazaarPluginPrivate::BazaarPluginPrivate()
setupVcsSubmitEditor(this, {
COMMITMIMETYPE,
COMMIT_ID,
COMMIT_DISPLAY_NAME,
VcsBase::Tr::tr("Bazaar Commit Log Editor"),
VcsBaseSubmitEditorParameters::DiffFiles,
[] { return new CommitEditor; }
});

View File

@@ -3,8 +3,6 @@
#pragma once
#include <QtGlobal>
namespace Bazaar::Constants {
const char BAZAAR[] = "bazaar";
@@ -23,15 +21,12 @@ const char ANNOTATE_CHANGESET_ID[] = "([.0-9]+)";
// Base editor parameters
const char FILELOG_ID[] = "Bazaar File Log Editor";
const char FILELOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Bazaar File Log Editor");
const char LOGAPP[] = "text/vnd.qtcreator.bazaar.log";
const char ANNOTATELOG_ID[] = "Bazaar Annotation Editor";
const char ANNOTATELOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Bazaar Annotation Editor");
const char ANNOTATEAPP[] = "text/vnd.qtcreator.bazaar.annotation";
const char DIFFLOG_ID[] = "Bazaar Diff Editor";
const char DIFFLOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Bazaar Diff Editor");
const char DIFFAPP[] = "text/x-patch";
// File status hint

View File

@@ -11,7 +11,6 @@ namespace Constants {
const char VCS_ID_CLEARCASE[] = "E.ClearCase";
const char CLEARCASE_SUBMIT_MIMETYPE[] = "text/vnd.qtcreator.clearcase.submit";
const char CLEARCASECHECKINEDITOR_ID[] = "ClearCase Check In Editor";
const char CLEARCASECHECKINEDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "ClearCase Check In Editor");
const char TASK_INDEX[] = "ClearCase.Task.Index";
const char KEEP_ACTIVITY[] = "__KEEP__";
enum { debug = 0 };

View File

@@ -43,6 +43,7 @@
#include <vcsbase/vcsoutputwindow.h>
#include <vcsbase/vcsbasesubmiteditor.h>
#include <vcsbase/vcsbaseplugin.h>
#include <vcsbase/vcsbasetr.h>
#include <vcsbase/vcscommand.h>
#include <QAbstractButton>
@@ -297,7 +298,7 @@ public:
VcsEditorFactory logEditorFactory {{
LogOutput,
LOG_EDITOR_ID,
QT_TRANSLATE_NOOP("QtC::VcsBase", "ClearCase File Log Editor"), // display_name
VcsBase::Tr::tr("ClearCase File Log Editor"), // display_name
"text/vnd.qtcreator.clearcase.log",
[] { return new ClearCaseEditorWidget; },
std::bind(&ClearCasePluginPrivate::vcsDescribe, this, _1, _2)
@@ -306,7 +307,7 @@ public:
VcsEditorFactory annotateEditorFactory {{
AnnotateOutput,
ANNOTATION_EDITOR_ID,
QT_TRANSLATE_NOOP("QtC::VcsBase", "ClearCase Annotation Editor"), // display_name
VcsBase::Tr::tr("ClearCase Annotation Editor"), // display_name
"text/vnd.qtcreator.clearcase.annotation",
[] { return new ClearCaseEditorWidget; },
std::bind(&ClearCasePluginPrivate::vcsDescribe, this, _1, _2)
@@ -315,7 +316,7 @@ public:
VcsEditorFactory diffEditorFactory {{
DiffOutput,
DIFF_EDITOR_ID,
QT_TRANSLATE_NOOP("QtC::VcsBase", "ClearCase Diff Editor"), // display_name
VcsBase::Tr::tr("ClearCase Diff Editor"), // display_name
"text/x-patch",
[] { return new ClearCaseEditorWidget; },
std::bind(&ClearCasePluginPrivate::vcsDescribe, this, _1, _2)
@@ -732,7 +733,7 @@ ClearCasePluginPrivate::ClearCasePluginPrivate()
setupVcsSubmitEditor(this, {
Constants::CLEARCASE_SUBMIT_MIMETYPE,
Constants::CLEARCASECHECKINEDITOR_ID,
Constants::CLEARCASECHECKINEDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("ClearCase Check In Editor"),
VcsBaseSubmitEditorParameters::DiffFiles,
[] { return new ClearCaseSubmitEditor; }
});

View File

@@ -13,6 +13,7 @@
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseeditorconfig.h>
#include <vcsbase/vcsbaseplugin.h>
#include <vcsbase/vcsbasetr.h>
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
@@ -88,7 +89,6 @@ const char CMD_ID_REPOSITORYUPDATE[] = "CVS.RepositoryUpdate";
const char CVS_SUBMIT_MIMETYPE[] = "text/vnd.qtcreator.cvs.submit";
const char CVSCOMMITEDITOR_ID[] = "CVS Commit Editor";
const char CVSCOMMITEDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "CVS Commit Editor");
const char CVS_COMMANDLOG_EDITOR_ID[] = "CVS Command Log Editor";
const char CVS_FILELOG_EDITOR_ID[] = "CVS File Log Editor";
@@ -292,7 +292,7 @@ public:
VcsEditorFactory commandLogEditorFactory {{
OtherContent,
CVS_COMMANDLOG_EDITOR_ID,
QT_TRANSLATE_NOOP("QtC::VcsBase", "CVS Command Log Editor"), // display name
VcsBase::Tr::tr("CVS Command Log Editor"), // display name
"text/vnd.qtcreator.cvs.commandlog",
[] { return new CvsEditorWidget; },
std::bind(&CvsPluginPrivate::vcsDescribe, this, _1, _2)
@@ -301,7 +301,7 @@ public:
VcsEditorFactory logEditorFactory {{
LogOutput,
CVS_FILELOG_EDITOR_ID,
QT_TRANSLATE_NOOP("QtC::VcsBase", "CVS File Log Editor"), // display name
VcsBase::Tr::tr("CVS File Log Editor"), // display name
"text/vnd.qtcreator.cvs.log",
[] { return new CvsEditorWidget; },
std::bind(&CvsPluginPrivate::vcsDescribe, this, _1, _2)
@@ -310,7 +310,7 @@ public:
VcsEditorFactory annotateEditorFactory {{
AnnotateOutput,
CVS_ANNOTATION_EDITOR_ID,
QT_TRANSLATE_NOOP("QtC::VcsBase", "CVS Annotation Editor"), // display name
VcsBase::Tr::tr("CVS Annotation Editor"), // display name
"text/vnd.qtcreator.cvs.annotation",
[] { return new CvsEditorWidget; },
std::bind(&CvsPluginPrivate::vcsDescribe, this, _1, _2)
@@ -319,7 +319,7 @@ public:
VcsEditorFactory diffEditorFactory {{
DiffOutput,
CVS_DIFF_EDITOR_ID,
QT_TRANSLATE_NOOP("QtC::VcsBase", "CVS Diff Editor"), // display name
VcsBase::Tr::tr("CVS Diff Editor"), // display name
"text/x-patch",
[] { return new CvsEditorWidget; },
std::bind(&CvsPluginPrivate::vcsDescribe, this, _1, _2)
@@ -449,7 +449,7 @@ CvsPluginPrivate::CvsPluginPrivate()
setupVcsSubmitEditor(this, {
CVS_SUBMIT_MIMETYPE,
CVSCOMMITEDITOR_ID,
CVSCOMMITEDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("CVS Commit Editor"),
VcsBaseSubmitEditorParameters::DiffFiles,
[] { return new CvsSubmitEditor; },
});

View File

@@ -3,10 +3,7 @@
#pragma once
#include <QtGlobal>
namespace Fossil {
namespace Constants {
namespace Fossil::Constants {
const char VCS_ID_FOSSIL[] = "I.Fossil";
@@ -31,20 +28,16 @@ const char DIFFFILE_ID_EXACT[] = "[+]{3} (.*)\\s*"; // match and capture
//BaseEditorParameters
const char FILELOG_ID[] = "Fossil File Log Editor";
const char FILELOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Fossil File Log Editor");
const char LOGAPP[] = "text/vnd.qtcreator.fossil.log";
const char ANNOTATELOG_ID[] = "Fossil Annotation Editor";
const char ANNOTATELOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Fossil Annotation Editor");
const char ANNOTATEAPP[] = "text/vnd.qtcreator.fossil.annotation";
const char DIFFLOG_ID[] = "Fossil Diff Editor";
const char DIFFLOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Fossil Diff Editor");
const char DIFFAPP[] = "text/x-patch";
//SubmitEditorParameters
const char COMMIT_ID[] = "Fossil Commit Log Editor";
const char COMMIT_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Fossil Commit Log Editor");
const char COMMITMIMETYPE[] = "text/vnd.qtcreator.fossil.commit";
//menu items
@@ -85,5 +78,4 @@ const char FSTATUS_UNKNOWN[] = "Unknown";
// Fossil Json Wizards
const char WIZARD_PATH[] = ":/fossil/wizard";
} // namespace Constants
} // namespace Fossil
} // Fossil::Constants

View File

@@ -37,6 +37,7 @@
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseplugin.h>
#include <vcsbase/vcsbasesubmiteditor.h>
#include <vcsbase/vcsbasetr.h>
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
@@ -152,7 +153,7 @@ public:
VcsEditorFactory fileLogFactory {{
LogOutput,
Constants::FILELOG_ID,
Constants::FILELOG_DISPLAY_NAME,
VcsBase::Tr::tr("Fossil File Log Editor"),
Constants::LOGAPP,
[] { return new FossilEditorWidget; },
std::bind(&FossilPluginPrivate::vcsDescribe, this, _1, _2)
@@ -161,7 +162,7 @@ public:
VcsEditorFactory annotateLogFactory {{
AnnotateOutput,
Constants::ANNOTATELOG_ID,
Constants::ANNOTATELOG_DISPLAY_NAME,
VcsBase::Tr::tr("Fossil Annotation Editor"),
Constants::ANNOTATEAPP,
[] { return new FossilEditorWidget; },
std::bind(&FossilPluginPrivate::vcsDescribe, this, _1, _2)
@@ -170,7 +171,7 @@ public:
VcsEditorFactory diffFactory {{
DiffOutput,
Constants::DIFFLOG_ID,
Constants::DIFFLOG_DISPLAY_NAME,
VcsBase::Tr::tr("Fossil Diff Editor"),
Constants::DIFFAPP,
[] { return new FossilEditorWidget; },
std::bind(&FossilPluginPrivate::vcsDescribe, this, _1, _2)
@@ -238,7 +239,7 @@ FossilPluginPrivate::FossilPluginPrivate()
setupVcsSubmitEditor(this, {
Constants::COMMITMIMETYPE,
Constants::COMMIT_ID,
Constants::COMMIT_DISPLAY_NAME,
VcsBase::Tr::tr("Fossil Commit Log Editor"),
VcsBaseSubmitEditorParameters::DiffFiles,
[] { return new CommitEditor; }
});

View File

@@ -3,30 +3,20 @@
#pragma once
#include <QtGlobal>
namespace Git {
namespace Constants {
namespace Git::Constants {
const char GIT_PLUGIN[] = "GitPlugin";
const char GIT_SVN_LOG_EDITOR_ID[] = "Git SVN Log Editor";
const char GIT_SVN_LOG_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Git SVN Log Editor");
const char GIT_LOG_EDITOR_ID[] = "Git Log Editor";
const char GIT_LOG_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Git Log Editor");
const char GIT_REFLOG_EDITOR_ID[] = "Git Reflog Editor";
const char GIT_REFLOG_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Git Reflog Editor");
const char GIT_BLAME_EDITOR_ID[] = "Git Annotation Editor";
const char GIT_BLAME_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Git Annotation Editor");
const char GIT_COMMIT_TEXT_EDITOR_ID[] = "Git Commit Editor";
const char GIT_COMMIT_TEXT_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Git Commit Editor");
const char GIT_REBASE_EDITOR_ID[] = "Git Rebase Editor";
const char GIT_REBASE_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Git Rebase Editor");
const char GIT_BRANCH_VIEW_ID[] = "Git Branches";
const char GIT_CONTEXT[] = "Git Context";
const char GITSUBMITEDITOR_ID[] = "Git Submit Editor";
const char GITSUBMITEDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Git Submit Editor");
const char SUBMIT_MIMETYPE[] = "text/vnd.qtcreator.git.submit";
const char C_GITEDITORID[] = "Git Editor";
@@ -38,5 +28,4 @@ const char DEFAULT_COMMENT_CHAR = '#';
const char TEXT_MARK_CATEGORY_BLAME[] = "Git.Mark.Blame";
} // namespace Constants
} // namespace Git
} // Git::Constants

View File

@@ -57,6 +57,7 @@
#include <vcsbase/vcsbaseconstants.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseplugin.h>
#include <vcsbase/vcsbasetr.h>
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
@@ -327,7 +328,7 @@ public:
VcsEditorFactory svnLogEditorFactory {{
OtherContent,
Git::Constants::GIT_SVN_LOG_EDITOR_ID,
Git::Constants::GIT_SVN_LOG_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Git SVN Log Editor"),
"text/vnd.qtcreator.git.svnlog",
[] { return new GitEditorWidget; },
std::bind(&GitPluginPrivate::vcsDescribe, this, _1, _2)
@@ -336,7 +337,7 @@ public:
VcsEditorFactory logEditorFactory {{
LogOutput,
Git::Constants::GIT_LOG_EDITOR_ID,
Git::Constants::GIT_LOG_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Git Log Editor"),
"text/vnd.qtcreator.git.log",
[] { return new GitLogEditorWidgetT<GitEditorWidget>; },
std::bind(&GitPluginPrivate::vcsDescribe, this, _1, _2)
@@ -345,7 +346,7 @@ public:
VcsEditorFactory reflogEditorFactory {{
LogOutput,
Git::Constants::GIT_REFLOG_EDITOR_ID,
Git::Constants::GIT_REFLOG_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Git Reflog Editor"),
"text/vnd.qtcreator.git.reflog",
[] { return new GitLogEditorWidgetT<GitReflogEditorWidget>; },
std::bind(&GitPluginPrivate::vcsDescribe, this, _1, _2)
@@ -354,7 +355,7 @@ public:
VcsEditorFactory blameEditorFactory {{
AnnotateOutput,
Git::Constants::GIT_BLAME_EDITOR_ID,
Git::Constants::GIT_BLAME_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Git Annotation Editor"),
"text/vnd.qtcreator.git.annotation",
[] { return new GitEditorWidget; },
std::bind(&GitPluginPrivate::vcsDescribe, this, _1, _2)
@@ -363,7 +364,7 @@ public:
VcsEditorFactory commitTextEditorFactory {{
OtherContent,
Git::Constants::GIT_COMMIT_TEXT_EDITOR_ID,
Git::Constants::GIT_COMMIT_TEXT_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Git Commit Editor"),
"text/vnd.qtcreator.git.commit",
[] { return new GitEditorWidget; },
std::bind(&GitPluginPrivate::vcsDescribe, this, _1, _2)
@@ -372,7 +373,7 @@ public:
VcsEditorFactory rebaseEditorFactory {{
OtherContent,
Git::Constants::GIT_REBASE_EDITOR_ID,
Git::Constants::GIT_REBASE_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Git Rebase Editor"),
"text/vnd.qtcreator.git.rebase",
[] { return new GitEditorWidget; },
std::bind(&GitPluginPrivate::vcsDescribe, this, _1, _2)
@@ -931,7 +932,7 @@ GitPluginPrivate::GitPluginPrivate()
setupVcsSubmitEditor(this, {
Git::Constants::SUBMIT_MIMETYPE,
Git::Constants::GITSUBMITEDITOR_ID,
Git::Constants::GITSUBMITEDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Git Submit Editor"),
VcsBaseSubmitEditorParameters::DiffRows,
[] { return new GitSubmitEditor; },
});

View File

@@ -3,8 +3,6 @@
#pragma once
#include <QtGlobal>
namespace Mercurial::Constants {
enum { debug = 0 };
@@ -23,20 +21,16 @@ const char DIFFIDENTIFIER[] = "^(?:diff --git a/|[+-]{3} (?:/dev/null|[ab]/(.+$)
// Base editor parameters
const char FILELOG_ID[] = "Mercurial File Log Editor";
const char FILELOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Mercurial File Log Editor");
const char LOGAPP[] = "text/vnd.qtcreator.mercurial.log";
const char ANNOTATELOG_ID[] = "Mercurial Annotation Editor";
const char ANNOTATELOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Mercurial Annotation Editor");
const char ANNOTATEAPP[] = "text/vnd.qtcreator.mercurial.annotation";
const char DIFFLOG_ID[] = "Mercurial Diff Editor";
const char DIFFLOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Mercurial Diff Editor");
const char DIFFAPP[] = "text/x-patch";
// Submit editor parameters
const char COMMIT_ID[] = "Mercurial Commit Log Editor";
const char COMMIT_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Mercurial Commit Log Editor");
const char COMMITMIMETYPE[] = "text/vnd.qtcreator.mercurial.commit";
// File menu actions

View File

@@ -30,6 +30,7 @@
#include <vcsbase/vcsbaseconstants.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbasetr.h>
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
@@ -162,7 +163,7 @@ public:
VcsEditorFactory logEditorFactory {{
LogOutput,
Constants::FILELOG_ID,
Constants::FILELOG_DISPLAY_NAME,
VcsBase::Tr::tr("Mercurial File Log Editor"),
Constants::LOGAPP,
[this] { return new MercurialEditorWidget; },
std::bind(&MercurialPluginPrivate::vcsDescribe, this, _1, _2)
@@ -171,7 +172,7 @@ public:
VcsEditorFactory annotateEditorFactory {{
AnnotateOutput,
Constants::ANNOTATELOG_ID,
Constants::ANNOTATELOG_DISPLAY_NAME,
VcsBase::Tr::tr("Mercurial Annotation Editor"),
Constants::ANNOTATEAPP,
[this] { return new MercurialEditorWidget; },
std::bind(&MercurialPluginPrivate::vcsDescribe, this, _1, _2)
@@ -180,7 +181,7 @@ public:
VcsEditorFactory diffEditorFactory {{
DiffOutput,
Constants::DIFFLOG_ID,
Constants::DIFFLOG_DISPLAY_NAME,
VcsBase::Tr::tr("Mercurial Diff Editor"),
Constants::DIFFAPP,
[this] { return new MercurialEditorWidget; },
std::bind(&MercurialPluginPrivate::vcsDescribe, this, _1, _2)
@@ -197,7 +198,7 @@ MercurialPluginPrivate::MercurialPluginPrivate()
setupVcsSubmitEditor(this, {
Constants::COMMITMIMETYPE,
Constants::COMMIT_ID,
Constants::COMMIT_DISPLAY_NAME,
VcsBase::Tr::tr("Mercurial Commit Log Editor"),
VcsBaseSubmitEditorParameters::DiffFiles,
[] { return new CommitEditor; }
});

View File

@@ -37,6 +37,7 @@
#include <vcsbase/vcsbaseeditorconfig.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseplugin.h>
#include <vcsbase/vcsbasetr.h>
#include <vcsbase/vcsoutputwindow.h>
#include <QAction>
@@ -62,16 +63,9 @@ const char SUBMIT_MIMETYPE[] = "text/vnd.qtcreator.p4.submit";
const char PERFORCE_CONTEXT[] = "Perforce Context";
const char PERFORCE_SUBMIT_EDITOR_ID[] = "Perforce.SubmitEditor";
const char PERFORCE_SUBMIT_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Perforce.SubmitEditor");
const char PERFORCE_LOG_EDITOR_ID[] = "Perforce.LogEditor";
const char PERFORCE_LOG_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Perforce Log Editor");
const char PERFORCE_DIFF_EDITOR_ID[] = "Perforce.DiffEditor";
const char PERFORCE_DIFF_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Perforce Diff Editor");
const char PERFORCE_ANNOTATION_EDITOR_ID[] = "Perforce.AnnotationEditor";
const char PERFORCE_ANNOTATION_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Perforce Annotation Editor");
// Ensure adding "..." to relative paths which is p4's convention
// for the current directory
@@ -306,7 +300,7 @@ public:
VcsEditorFactory logEditorFactory {{
LogOutput,
PERFORCE_LOG_EDITOR_ID,
PERFORCE_LOG_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Perforce Log Editor"),
"text/vnd.qtcreator.p4.log",
[] { return new PerforceEditorWidget; },
std::bind(&PerforcePluginPrivate::vcsDescribe, this, _1, _2)
@@ -315,7 +309,7 @@ public:
VcsEditorFactory annotateEditorFactory {{
AnnotateOutput,
PERFORCE_ANNOTATION_EDITOR_ID,
PERFORCE_ANNOTATION_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Perforce Annotation Editor"),
"text/vnd.qtcreator.p4.annotation",
[] { return new PerforceEditorWidget; },
std::bind(&PerforcePluginPrivate::vcsDescribe, this, _1, _2)
@@ -324,7 +318,7 @@ public:
VcsEditorFactory diffEditorFactory {{
DiffOutput,
PERFORCE_DIFF_EDITOR_ID,
PERFORCE_DIFF_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Perforce Diff Editor"),
"text/x-patch",
[] { return new PerforceEditorWidget; },
std::bind(&PerforcePluginPrivate::vcsDescribe, this, _1, _2)
@@ -343,7 +337,7 @@ PerforcePluginPrivate::PerforcePluginPrivate()
setupVcsSubmitEditor(this, {
SUBMIT_MIMETYPE,
PERFORCE_SUBMIT_EDITOR_ID,
PERFORCE_SUBMIT_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Perforce.SubmitEditor"),
VcsBaseSubmitEditorParameters::DiffFiles,
[] { return new PerforceSubmitEditor; },
});

View File

@@ -3,10 +3,7 @@
#pragma once
#include <QtGlobal>
namespace Subversion {
namespace Constants {
namespace Subversion::Constants {
const char SUBVERSION_PLUGIN[] = "SubversionPlugin";
@@ -16,16 +13,12 @@ enum { debug = 0 };
const char SUBVERSION_CONTEXT[] = "Subversion Context";
const char SUBVERSION_COMMIT_EDITOR_ID[] = "Subversion Commit Editor";
const char SUBVERSION_COMMIT_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Subversion Commit Editor");
const char SUBVERSION_SUBMIT_MIMETYPE[] = "text/vnd.qtcreator.svn.submit";
const char SUBVERSION_LOG_EDITOR_ID[] = "Subversion File Log Editor";
const char SUBVERSION_LOG_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Subversion File Log Editor");
const char SUBVERSION_LOG_MIMETYPE[] = "text/vnd.qtcreator.svn.log";
const char SUBVERSION_BLAME_EDITOR_ID[] = "Subversion Annotation Editor";
const char SUBVERSION_BLAME_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("QtC::VcsBase", "Subversion Annotation Editor");
const char SUBVERSION_BLAME_MIMETYPE[] = "text/vnd.qtcreator.svn.annotation";
} // namespace Constants
} // namespace Subversion
} // Subversion::Constants

View File

@@ -36,6 +36,7 @@
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseconstants.h>
#include <vcsbase/vcsbaseplugin.h>
#include <vcsbase/vcsbasetr.h>
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
@@ -265,7 +266,7 @@ public:
VcsEditorFactory logEditorFactory {{
LogOutput,
Constants::SUBVERSION_LOG_EDITOR_ID,
Constants::SUBVERSION_LOG_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Subversion File Log Editor"),
Constants::SUBVERSION_LOG_MIMETYPE,
[] { return new SubversionEditorWidget; },
std::bind(&SubversionPluginPrivate::vcsDescribe, this, _1, _2)
@@ -274,7 +275,7 @@ public:
VcsEditorFactory blameEditorFactory {{
AnnotateOutput,
Constants::SUBVERSION_BLAME_EDITOR_ID,
Constants::SUBVERSION_BLAME_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Subversion Annotation Editor"),
Constants::SUBVERSION_BLAME_MIMETYPE,
[] { return new SubversionEditorWidget; },
std::bind(&SubversionPluginPrivate::vcsDescribe, this, _1, _2)
@@ -480,7 +481,7 @@ SubversionPluginPrivate::SubversionPluginPrivate()
setupVcsSubmitEditor(this, {
Constants::SUBVERSION_SUBMIT_MIMETYPE,
Constants::SUBVERSION_COMMIT_EDITOR_ID,
Constants::SUBVERSION_COMMIT_EDITOR_DISPLAY_NAME,
VcsBase::Tr::tr("Subversion Commit Editor"),
VcsBaseSubmitEditorParameters::DiffFiles,
[] { return new SubversionSubmitEditor; },
});

View File

@@ -1651,16 +1651,16 @@ IEditor *VcsBaseEditor::locateEditorByTag(const QString &tag)
VcsEditorFactory::VcsEditorFactory(const VcsBaseEditorParameters &parameters)
{
setId(parameters.id);
setDisplayName(Tr::tr(parameters.displayName));
if (QLatin1String(parameters.mimeType) != QLatin1String(DiffEditor::Constants::DIFF_EDITOR_MIMETYPE))
addMimeType(QLatin1String(parameters.mimeType));
setDisplayName(parameters.displayName);
if (parameters.mimeType != DiffEditor::Constants::DIFF_EDITOR_MIMETYPE)
addMimeType(parameters.mimeType);
setEditorActionHandlers(TextEditorActionHandler::None);
setDuplicatedSupported(false);
setDocumentCreator([parameters] {
auto document = new TextDocument(parameters.id);
document->setMimeType(QLatin1String(parameters.mimeType));
document->setMimeType(parameters.mimeType);
document->setSuspendAllowed(false);
return document;
});

View File

@@ -42,9 +42,9 @@ class VCSBASE_EXPORT VcsBaseEditorParameters
{
public:
EditorContentType type;
const char *id;
const char *displayName;
const char *mimeType;
Utils::Id id;
QString displayName;
QString mimeType;
std::function<QWidget *()> editorWidgetCreator;
std::function<void (const Utils::FilePath &, const QString &)> describeFunc;
};

View File

@@ -147,10 +147,10 @@ void VcsBaseSubmitEditor::setParameters(const VcsBaseSubmitEditorParameters &par
{
d->m_parameters = parameters;
d->m_file.setId(parameters.id);
d->m_file.setMimeType(QLatin1String(parameters.mimeType));
d->m_file.setMimeType(parameters.mimeType);
setWidget(d->m_widget);
document()->setPreferredDisplayName(Tr::tr(d->m_parameters.displayName));
document()->setPreferredDisplayName(d->m_parameters.displayName);
// Message font according to settings
CompletingTextEdit *descriptionEdit = d->m_widget->descriptionEdit();
@@ -643,8 +643,8 @@ public:
.bindContextAction(&diffAction);
setId(parameters.id);
setDisplayName(QLatin1String(parameters.displayName));
addMimeType(QLatin1String(parameters.mimeType));
setDisplayName(parameters.displayName);
addMimeType(parameters.mimeType);
setEditorCreator([parameters, submitAction, diffAction, undoAction, redoAction] {
VcsBaseSubmitEditor *editor = parameters.editorCreator();
editor->setParameters(parameters);

View File

@@ -28,9 +28,9 @@ class VcsBaseSubmitEditorPrivate;
class VCSBASE_EXPORT VcsBaseSubmitEditorParameters
{
public:
const char *mimeType;
const char *id;
const char *displayName;
QString mimeType;
Utils::Id id;
QString displayName;
enum DiffType { DiffRows, DiffFiles } diffType;
std::function<VcsBaseSubmitEditor *()> editorCreator;
};