Git: Convert to Tr::tr

Change-Id: I7fb1753109a9263c70c01713f5f4895db6b73662
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Alessandro Portale
2022-10-06 14:05:43 +02:00
committed by hjk
parent b8efc2f14d
commit 928a7d2087
62 changed files with 776 additions and 4045 deletions

View File

@@ -5,6 +5,7 @@
#include "branchmodel.h"
#include "gitplugin.h"
#include "gittr.h"
#include <utils/fancylineedit.h>
#include <utils/hostosinfo.h>
@@ -19,8 +20,7 @@
#include <QRegularExpression>
#include <QValidator>
namespace Git {
namespace Internal {
namespace Git::Internal {
/*!
* \brief The BranchNameValidator class validates the corresponding string as
@@ -94,12 +94,12 @@ BranchAddDialog::BranchAddDialog(const QStringList &localBranches, Type type, QW
{
resize(590, 138);
auto branchNameLabel = new QLabel(tr("Branch Name:"));
auto branchNameLabel = new QLabel(Tr::tr("Branch Name:"));
m_branchNameEdit = new QLineEdit(this);
m_branchNameEdit->setValidator(new BranchNameValidator(localBranches, this));
m_checkoutCheckBox = new QCheckBox(tr("Checkout new branch"));
m_checkoutCheckBox = new QCheckBox(Tr::tr("Checkout new branch"));
m_trackingCheckBox = new QCheckBox(this);
m_trackingCheckBox->setVisible(false);
@@ -110,18 +110,18 @@ BranchAddDialog::BranchAddDialog(const QStringList &localBranches, Type type, QW
switch (type) {
case BranchAddDialog::AddBranch:
setWindowTitle(tr("Add Branch"));
setWindowTitle(Tr::tr("Add Branch"));
break;
case BranchAddDialog::RenameBranch:
setWindowTitle(tr("Rename Branch"));
setWindowTitle(Tr::tr("Rename Branch"));
break;
case BranchAddDialog::AddTag:
setWindowTitle(tr("Add Tag"));
branchNameLabel->setText(tr("Tag name:"));
setWindowTitle(Tr::tr("Add Tag"));
branchNameLabel->setText(Tr::tr("Tag name:"));
break;
case BranchAddDialog::RenameTag:
setWindowTitle(tr("Rename Tag"));
branchNameLabel->setText(tr("Tag name:"));
setWindowTitle(Tr::tr("Rename Tag"));
branchNameLabel->setText(Tr::tr("Tag name:"));
break;
}
@@ -159,8 +159,8 @@ void BranchAddDialog::setTrackedBranchName(const QString &name, bool remote)
m_trackingCheckBox->setVisible(false);
m_trackingCheckBox->setChecked(false);
} else {
m_trackingCheckBox->setText(remote ? tr("Track remote branch \"%1\"").arg(name)
: tr("Track local branch \"%1\"").arg(name));
m_trackingCheckBox->setText(remote ? Tr::tr("Track remote branch \"%1\"").arg(name)
: Tr::tr("Track local branch \"%1\"").arg(name));
m_trackingCheckBox->setVisible(true);
m_trackingCheckBox->setChecked(remote);
}
@@ -188,5 +188,4 @@ void BranchAddDialog::updateButtonStatus()
m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(m_branchNameEdit->hasAcceptableInput());
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -10,10 +10,9 @@ QT_BEGIN_NAMESPACE
class QCheckBox;
class QDialogButtonBox;
class QLineEdit;
QT_BEGIN_NAMESPACE
QT_END_NAMESPACE
namespace Git {
namespace Internal {
namespace Git::Internal {
class BranchModel;
@@ -30,8 +29,6 @@ private:
class BranchAddDialog : public QDialog
{
Q_OBJECT
public:
enum Type {
AddBranch,
@@ -62,5 +59,4 @@ private:
QDialogButtonBox *m_buttonBox;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -3,16 +3,16 @@
#include "branchcheckoutdialog.h"
#include "gittr.h"
#include <utils/layoutbuilder.h>
#include <QApplication>
#include <QCheckBox>
#include <QDialogButtonBox>
#include <QGroupBox>
#include <QRadioButton>
namespace Git {
namespace Internal {
namespace Git::Internal {
BranchCheckoutDialog::BranchCheckoutDialog(QWidget *parent,
const QString &currentBranch,
@@ -22,24 +22,24 @@ BranchCheckoutDialog::BranchCheckoutDialog(QWidget *parent,
setWindowModality(Qt::WindowModal);
resize(394, 199);
setModal(true);
setWindowTitle(tr("Checkout branch \"%1\"").arg(nextBranch));
setWindowTitle(Tr::tr("Checkout branch \"%1\"").arg(nextBranch));
m_localChangesGroupBox = new QGroupBox(tr("Local Changes Found. Choose Action:"));
m_localChangesGroupBox = new QGroupBox(Tr::tr("Local Changes Found. Choose Action:"));
m_moveChangesRadioButton = new QRadioButton(tr("Move Local Changes to \"%1\"").arg(nextBranch));
m_moveChangesRadioButton = new QRadioButton(Tr::tr("Move Local Changes to \"%1\"").arg(nextBranch));
m_discardChangesRadioButton = new QRadioButton(tr("Discard Local Changes"));
m_discardChangesRadioButton = new QRadioButton(Tr::tr("Discard Local Changes"));
m_discardChangesRadioButton->setEnabled(true);
m_popStashCheckBox = new QCheckBox(tr("Pop Stash of \"%1\"").arg(nextBranch));
m_popStashCheckBox = new QCheckBox(Tr::tr("Pop Stash of \"%1\"").arg(nextBranch));
m_popStashCheckBox->setEnabled(false);
m_makeStashRadioButton = new QRadioButton;
m_makeStashRadioButton->setChecked(true);
if (!currentBranch.isEmpty()) {
m_makeStashRadioButton->setText(tr("Create Branch Stash for \"%1\"").arg(currentBranch));
m_makeStashRadioButton->setText(Tr::tr("Create Branch Stash for \"%1\"").arg(currentBranch));
} else {
m_makeStashRadioButton->setText(tr("Create Branch Stash for Current Branch"));
m_makeStashRadioButton->setText(Tr::tr("Create Branch Stash for Current Branch"));
foundNoLocalChanges();
}
@@ -119,6 +119,4 @@ void BranchCheckoutDialog::updatePopStashCheckBox(bool moveChangesChecked)
m_popStashCheckBox->setEnabled(!moveChangesChecked && m_foundStashForNextBranch);
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -11,13 +11,10 @@ class QGroupBox;
class QRadioButton;
QT_END_NAMESPACE
namespace Git {
namespace Internal {
namespace Git::Internal {
class BranchCheckoutDialog : public QDialog
{
Q_OBJECT
public:
explicit BranchCheckoutDialog(QWidget *parent, const QString &currentBranch,
const QString &nextBranch);
@@ -47,5 +44,4 @@ private:
QCheckBox *m_popStashCheckBox;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -2,8 +2,10 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "branchmodel.h"
#include "gitclient.h"
#include "gitconstants.h"
#include "gittr.h"
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
@@ -22,8 +24,7 @@
using namespace Utils;
using namespace VcsBase;
namespace Git {
namespace Internal {
namespace Git::Internal {
enum RootNodes {
LocalBranches = 0,
@@ -254,8 +255,8 @@ BranchModel::BranchModel(GitClient *client, QObject *parent) :
QTC_CHECK(d->client);
// Abuse the sha field for ref prefix
d->rootNode->append(new BranchNode(tr("Local Branches"), "refs/heads"));
d->rootNode->append(new BranchNode(tr("Remote Branches"), "refs/remotes"));
d->rootNode->append(new BranchNode(Tr::tr("Local Branches"), "refs/heads"));
d->rootNode->append(new BranchNode(Tr::tr("Remote Branches"), "refs/remotes"));
connect(&d->fsWatcher, &Utils::FileSystemWatcher::fileChanged, this, [this] {
QString errorMessage;
refresh(d->workingDirectory, &errorMessage);
@@ -440,7 +441,7 @@ bool BranchModel::refresh(const FilePath &workingDirectory, QString *errorMessag
}
if (!d->currentBranch) {
BranchNode *local = d->rootNode->children.at(LocalBranches);
d->currentBranch = d->headNode = new BranchNode(tr("Detached HEAD"), "HEAD", QString(),
d->currentBranch = d->headNode = new BranchNode(Tr::tr("Detached HEAD"), "HEAD", QString(),
d->currentDateTime);
local->prepend(d->headNode);
}
@@ -796,7 +797,7 @@ void BranchModel::Private::parseOutputLine(const QString &line, bool force)
oldEntriesRoot = root->append(new BranchNode(remoteName));
} else if (showTags && nameParts.first() == "tags") {
if (!hasTags()) // Tags is missing, add it
rootNode->append(new BranchNode(tr("Tags"), "refs/tags"));
rootNode->append(new BranchNode(Tr::tr("Tags"), "refs/tags"));
rootType = Tags;
} else {
return;
@@ -925,6 +926,4 @@ QString BranchModel::toolTip(const QString &sha) const
return output;
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -6,26 +6,18 @@
#include <utils/filepath.h>
#include <QAbstractListModel>
#include <QVariant>
#include <optional>
namespace VcsBase { class VcsCommand; }
namespace Git {
namespace Internal {
class GitClient;
namespace Git::Internal {
class BranchNode;
class GitClient;
// --------------------------------------------------------------------------
// BranchModel:
// --------------------------------------------------------------------------
class BranchModel : public QAbstractItemModel {
Q_OBJECT
class BranchModel : public QAbstractItemModel
{
public:
explicit BranchModel(GitClient *client, QObject *parent = nullptr);
~BranchModel() override;
@@ -80,5 +72,4 @@ private:
Private *d;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -9,6 +9,7 @@
#include "gitclient.h"
#include "gitconstants.h"
#include "gitplugin.h"
#include "gittr.h"
#include "gitutils.h"
#include <coreplugin/actionmanager/command.h>
@@ -24,7 +25,6 @@
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
#include <QDir>
#include <QLabel>
#include <QKeySequence>
#include <QMenu>
@@ -39,13 +39,13 @@ using namespace Core;
using namespace Utils;
using namespace VcsBase;
namespace Git {
namespace Internal {
namespace Git::Internal {
class BranchFilterModel : public QSortFilterProxyModel
{
public:
BranchFilterModel(QObject *parent) : QSortFilterProxyModel(parent) {}
protected:
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override
{
@@ -70,8 +70,8 @@ struct SetInContext
};
BranchView::BranchView()
: m_includeOldEntriesAction(new QAction(tr("Include Old Entries"), this))
, m_includeTagsAction(new QAction(tr("Include Tags"), this))
: m_includeOldEntriesAction(new QAction(Tr::tr("Include Old Entries"), this))
, m_includeTagsAction(new QAction(Tr::tr("Include Tags"), this))
, m_addAction(new QAction(this))
, m_refreshAction(new QAction(this))
, m_repositoryLabel(new ElidingLabel(this))
@@ -83,7 +83,7 @@ BranchView::BranchView()
connect(m_addAction, &QAction::triggered, this, &BranchView::add);
m_refreshAction->setIcon(Utils::Icons::RELOAD_TOOLBAR.icon());
m_refreshAction->setToolTip(tr("Refresh"));
m_refreshAction->setToolTip(Tr::tr("Refresh"));
connect(m_refreshAction, &QAction::triggered, this, &BranchView::refreshCurrentRepository);
m_branchView->setHeaderHidden(true);
@@ -108,7 +108,7 @@ BranchView::BranchView()
m_includeOldEntriesAction->setCheckable(true);
m_includeOldEntriesAction->setToolTip(
tr("Include branches and tags that have not been active for %n days.", nullptr,
Tr::tr("Include branches and tags that have not been active for %n days.", nullptr,
Constants::OBSOLETE_COMMIT_AGE_IN_DAYS));
connect(m_includeOldEntriesAction, &QAction::toggled,
this, &BranchView::setIncludeOldEntries);
@@ -146,13 +146,13 @@ void BranchView::refresh(const FilePath &repository, bool force)
m_repository = repository;
if (m_repository.isEmpty()) {
m_repositoryLabel->setText(tr("<No repository>"));
m_addAction->setToolTip(tr("Create Git Repository..."));
m_repositoryLabel->setText(Tr::tr("<No repository>"));
m_addAction->setToolTip(Tr::tr("Create Git Repository..."));
m_branchView->setEnabled(false);
} else {
m_repositoryLabel->setText(m_repository.toUserOutput());
m_repositoryLabel->setToolTip(GitPlugin::msgRepositoryLabel(m_repository));
m_addAction->setToolTip(tr("Add Branch..."));
m_addAction->setToolTip(Tr::tr("Add Branch..."));
m_branchView->setEnabled(true);
}
@@ -179,7 +179,7 @@ QList<QToolButton *> BranchView::createToolButtons()
{
auto filter = new QToolButton;
filter->setIcon(Utils::Icons::FILTER.icon());
filter->setToolTip(tr("Filter"));
filter->setToolTip(Tr::tr("Filter"));
filter->setPopupMode(QToolButton::InstantPopup);
filter->setProperty("noArrow", true);
@@ -227,75 +227,75 @@ void BranchView::slotCustomContextMenu(const QPoint &point)
const bool currentLocal = m_model->isLocal(currentBranch);
QMenu contextMenu;
contextMenu.addAction(tr("&Add..."), this, &BranchView::add);
contextMenu.addAction(Tr::tr("&Add..."), this, &BranchView::add);
const std::optional<QString> remote = m_model->remoteName(index);
if (remote.has_value()) {
contextMenu.addAction(tr("&Fetch"), this, [this, &remote]() {
contextMenu.addAction(Tr::tr("&Fetch"), this, [this, &remote]() {
GitClient::instance()->fetch(m_repository, *remote);
});
contextMenu.addSeparator();
if (!remote->isEmpty()) {
contextMenu.addAction(tr("Remove &Stale Branches"), this, [this, &remote]() {
contextMenu.addAction(Tr::tr("Remove &Stale Branches"), this, [this, &remote]() {
GitClient::instance()->removeStaleRemoteBranches(m_repository, *remote);
});
contextMenu.addSeparator();
}
contextMenu.addAction(tr("Manage &Remotes..."), this, [] {
contextMenu.addAction(Tr::tr("Manage &Remotes..."), this, [] {
GitPlugin::manageRemotes();
});
}
if (hasActions) {
if (!currentSelected && (isLocal || isTag))
contextMenu.addAction(tr("Rem&ove..."), this, &BranchView::remove);
contextMenu.addAction(Tr::tr("Rem&ove..."), this, &BranchView::remove);
if (isLocal || isTag)
contextMenu.addAction(tr("Re&name..."), this, &BranchView::rename);
contextMenu.addAction(Tr::tr("Re&name..."), this, &BranchView::rename);
if (!currentSelected)
contextMenu.addAction(tr("&Checkout"), this, &BranchView::checkout);
contextMenu.addAction(Tr::tr("&Checkout"), this, &BranchView::checkout);
contextMenu.addSeparator();
contextMenu.addAction(tr("&Diff"), this, [this] {
contextMenu.addAction(Tr::tr("&Diff"), this, [this] {
const QString fullName = m_model->fullName(selectedIndex(), true);
if (!fullName.isEmpty()) {
SetInContext block(m_blockRefresh);
GitClient::instance()->diffBranch(m_repository, fullName);
}
});
contextMenu.addAction(tr("&Log"), this, [this] { log(selectedIndex()); });
contextMenu.addAction(tr("Reflo&g"), this, [this] { reflog(selectedIndex()); });
contextMenu.addAction(Tr::tr("&Log"), this, [this] { log(selectedIndex()); });
contextMenu.addAction(Tr::tr("Reflo&g"), this, [this] { reflog(selectedIndex()); });
contextMenu.addSeparator();
if (!currentSelected) {
auto resetMenu = new QMenu(tr("Re&set"), &contextMenu);
resetMenu->addAction(tr("&Hard"), this, [this] { reset("hard"); });
resetMenu->addAction(tr("&Mixed"), this, [this] { reset("mixed"); });
resetMenu->addAction(tr("&Soft"), this, [this] { reset("soft"); });
auto resetMenu = new QMenu(Tr::tr("Re&set"), &contextMenu);
resetMenu->addAction(Tr::tr("&Hard"), this, [this] { reset("hard"); });
resetMenu->addAction(Tr::tr("&Mixed"), this, [this] { reset("mixed"); });
resetMenu->addAction(Tr::tr("&Soft"), this, [this] { reset("soft"); });
contextMenu.addMenu(resetMenu);
QString mergeTitle;
if (isFastForwardMerge()) {
contextMenu.addAction(tr("&Merge \"%1\" into \"%2\" (Fast-Forward)")
contextMenu.addAction(Tr::tr("&Merge \"%1\" into \"%2\" (Fast-Forward)")
.arg(indexName, currentName),
this, [this] { merge(true); });
mergeTitle = tr("Merge \"%1\" into \"%2\" (No &Fast-Forward)")
mergeTitle = Tr::tr("Merge \"%1\" into \"%2\" (No &Fast-Forward)")
.arg(indexName, currentName);
} else {
mergeTitle = tr("&Merge \"%1\" into \"%2\"")
mergeTitle = Tr::tr("&Merge \"%1\" into \"%2\"")
.arg(indexName, currentName);
}
contextMenu.addAction(mergeTitle, this, [this] { merge(false); });
contextMenu.addAction(tr("&Rebase \"%1\" on \"%2\"")
contextMenu.addAction(Tr::tr("&Rebase \"%1\" on \"%2\"")
.arg(currentName, indexName),
this, &BranchView::rebase);
contextMenu.addSeparator();
contextMenu.addAction(tr("Cherry &Pick"), this, &BranchView::cherryPick);
contextMenu.addAction(Tr::tr("Cherry &Pick"), this, &BranchView::cherryPick);
}
if (!currentSelected && !isTag) {
if (currentLocal) {
contextMenu.addAction(tr("&Track"), this, [this] {
contextMenu.addAction(Tr::tr("&Track"), this, [this] {
m_model->setRemoteTracking(selectedIndex());
});
}
if (!isLocal) {
contextMenu.addSeparator();
contextMenu.addAction(tr("&Push"), this, &BranchView::push);
contextMenu.addAction(Tr::tr("&Push"), this, &BranchView::push);
}
}
}
@@ -459,13 +459,13 @@ bool BranchView::remove()
const bool wasMerged = isTag ? true : m_model->branchIsMerged(selected);
QString message;
if (isTag)
message = tr("Would you like to delete the tag \"%1\"?").arg(branchName);
message = Tr::tr("Would you like to delete the tag \"%1\"?").arg(branchName);
else if (wasMerged)
message = tr("Would you like to delete the branch \"%1\"?").arg(branchName);
message = Tr::tr("Would you like to delete the branch \"%1\"?").arg(branchName);
else
message = tr("Would you like to delete the <b>unmerged</b> branch \"%1\"?").arg(branchName);
message = Tr::tr("Would you like to delete the <b>unmerged</b> branch \"%1\"?").arg(branchName);
if (QMessageBox::question(this, isTag ? tr("Delete Tag") : tr("Delete Branch"),
if (QMessageBox::question(this, isTag ? Tr::tr("Delete Tag") : Tr::tr("Delete Branch"),
message, QMessageBox::Yes | QMessageBox::No,
wasMerged ? QMessageBox::Yes : QMessageBox::No) == QMessageBox::Yes) {
if (isTag)
@@ -517,7 +517,7 @@ bool BranchView::reset(const QByteArray &resetType)
if (currentName.isEmpty() || branchName.isEmpty())
return false;
if (QMessageBox::question(this, tr("Git Reset"), tr("Reset branch \"%1\" to \"%2\"?")
if (QMessageBox::question(this, Tr::tr("Git Reset"), Tr::tr("Reset branch \"%1\" to \"%2\"?")
.arg(currentName, branchName),
QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes) {
GitClient::instance()->reset(m_repository, QLatin1String("--" + resetType), branchName);
@@ -610,7 +610,7 @@ void BranchView::push()
BranchViewFactory::BranchViewFactory()
{
setDisplayName(tr("Git Branches"));
setDisplayName(Tr::tr("Git Branches"));
setPriority(500);
setId(Constants::GIT_BRANCH_VIEW_ID);
}
@@ -626,5 +626,4 @@ BranchView *BranchViewFactory::view() const
return m_view;
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -20,18 +20,15 @@ QT_END_NAMESPACE;
namespace Utils {
class ElidingLabel;
class NavigationTreeView;
}
} // Utils
namespace Git {
namespace Internal {
namespace Git::Internal {
class BranchModel;
class BranchFilterModel;
class BranchView : public QWidget
{
Q_OBJECT
public:
explicit BranchView();
@@ -80,8 +77,6 @@ private:
class BranchViewFactory : public Core::INavigationWidgetFactory
{
Q_OBJECT
public:
BranchViewFactory();
@@ -93,5 +88,4 @@ private:
QPointer<BranchView> m_view;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -5,6 +5,7 @@
#include "logchangedialog.h"
#include "gitclient.h"
#include "gittr.h"
#include <coreplugin/vcsmanager.h>
@@ -14,9 +15,7 @@
#include <utils/qtcprocess.h>
#include <utils/theme/theme.h>
#include <QApplication>
#include <QCompleter>
#include <QDir>
#include <QFileDialog>
#include <QFormLayout>
#include <QLabel>
@@ -30,8 +29,7 @@
using namespace Utils;
using namespace VcsBase;
namespace Git {
namespace Internal {
namespace Git::Internal {
ChangeSelectionDialog::ChangeSelectionDialog(const FilePath &workingDirectory, Id id,
QWidget *parent) :
@@ -41,14 +39,14 @@ ChangeSelectionDialog::ChangeSelectionDialog(const FilePath &workingDirectory, I
m_gitEnvironment = GitClient::instance()->processEnvironment();
resize(550, 350);
setWindowTitle(tr("Select a Git Commit"));
setWindowTitle(Tr::tr("Select a Git Commit"));
setObjectName("Git.ChangeSelectionDialog");
m_workingDirectoryChooser = new PathChooser(this);
m_changeNumberEdit = new CompletingLineEdit(this);
m_changeNumberEdit->setObjectName("changeNumberEdit");
m_changeNumberEdit->setText(tr("HEAD"));
m_changeNumberEdit->setText(Tr::tr("HEAD"));
m_changeNumberEdit->setFocus();
m_changeNumberEdit->selectAll();
@@ -58,25 +56,25 @@ ChangeSelectionDialog::ChangeSelectionDialog(const FilePath &workingDirectory, I
m_detailsText->setLineWrapMode(QPlainTextEdit::NoWrap);
m_detailsText->setReadOnly(true);
auto selectFromHistoryButton = new QPushButton(tr("Browse &History..."));
auto closeButton = new QPushButton(tr("&Close"));
auto archiveButton = new QPushButton(tr("&Archive..."));
auto selectFromHistoryButton = new QPushButton(Tr::tr("Browse &History..."));
auto closeButton = new QPushButton(Tr::tr("&Close"));
auto archiveButton = new QPushButton(Tr::tr("&Archive..."));
m_checkoutButton = new QPushButton(tr("Check&out"));
m_revertButton = new QPushButton(tr("&Revert"));
m_cherryPickButton = new QPushButton(tr("Cherry &Pick"));
m_showButton = new QPushButton(tr("&Show"));
m_checkoutButton = new QPushButton(Tr::tr("Check&out"));
m_revertButton = new QPushButton(Tr::tr("&Revert"));
m_cherryPickButton = new QPushButton(Tr::tr("Cherry &Pick"));
m_showButton = new QPushButton(Tr::tr("&Show"));
m_showButton->setObjectName("showButton");
m_workingDirectoryChooser->setExpectedKind(PathChooser::ExistingDirectory);
m_workingDirectoryChooser->setPromptDialogTitle(tr("Select Git Directory"));
m_workingDirectoryChooser->setPromptDialogTitle(Tr::tr("Select Git Directory"));
m_workingDirectoryChooser->setFilePath(workingDirectory);
using namespace Layouting;
Column {
Grid {
tr("Working directory:"), m_workingDirectoryChooser, br,
tr("Change:"), m_changeNumberEdit, selectFromHistoryButton,
Tr::tr("Working directory:"), m_workingDirectoryChooser, br,
Tr::tr("Change:"), m_changeNumberEdit, selectFromHistoryButton,
},
m_detailsText,
Row {
@@ -143,7 +141,7 @@ void ChangeSelectionDialog::selectCommitFromRecentHistory()
if (tilde != -1)
commit.truncate(tilde);
LogChangeDialog dialog(false, this);
dialog.setWindowTitle(tr("Select Commit"));
dialog.setWindowTitle(Tr::tr("Select Commit"));
dialog.runDialog(workingDir, commit, LogChangeWidget::IncludeRemotes);
@@ -184,9 +182,9 @@ void ChangeSelectionDialog::setDetails()
palette.setColor(QPalette::Text, theme->color(Theme::TextColorNormal));
m_changeNumberEdit->setPalette(palette);
} else if (m_process->result() == ProcessResult::StartFailed) {
m_detailsText->setPlainText(tr("Error: Could not start Git."));
m_detailsText->setPlainText(Tr::tr("Error: Could not start Git."));
} else {
m_detailsText->setPlainText(tr("Error: Unknown reference"));
m_detailsText->setPlainText(Tr::tr("Error: Unknown reference"));
palette.setColor(QPalette::Text, theme->color(Theme::TextColorError));
m_changeNumberEdit->setPalette(palette);
enableButtons(false);
@@ -231,7 +229,7 @@ void ChangeSelectionDialog::recalculateDetails()
const FilePath workingDir = workingDirectory();
if (workingDir.isEmpty()) {
m_detailsText->setPlainText(tr("Error: Bad working directory."));
m_detailsText->setPlainText(Tr::tr("Error: Bad working directory."));
return;
}
@@ -247,7 +245,7 @@ void ChangeSelectionDialog::recalculateDetails()
m_process->setEnvironment(m_gitEnvironment);
m_process->setCommand({m_gitExecutable, {"show", "--decorate", "--stat=80", ref}});
m_process->start();
m_detailsText->setPlainText(tr("Fetching commit data..."));
m_detailsText->setPlainText(Tr::tr("Fetching commit data..."));
}
void ChangeSelectionDialog::changeTextChanged(const QString &text)
@@ -261,5 +259,4 @@ void ChangeSelectionDialog::changeTextChanged(const QString &text)
recalculateDetails();
}
} // Internal
} // Git
} // Git::Internal

View File

@@ -21,8 +21,7 @@ class PathChooser;
class QtcProcess;
} // Utils
namespace Git {
namespace Internal {
namespace Git::Internal {
enum ChangeCommand {
NoCommand,
@@ -35,7 +34,6 @@ enum ChangeCommand {
class ChangeSelectionDialog : public QDialog
{
Q_OBJECT
public:
ChangeSelectionDialog(const Utils::FilePath &workingDirectory, Utils::Id id, QWidget *parent);
~ChangeSelectionDialog() override;
@@ -71,5 +69,4 @@ private:
QPushButton *m_showButton;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -3,13 +3,12 @@
#include "commitdata.h"
#include "gittr.h"
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
#include <QCoreApplication>
namespace Git {
namespace Internal {
namespace Git::Internal {
void GitSubmitEditorPanelInfo::clear()
{
@@ -175,32 +174,31 @@ QString CommitData::stateDisplayName(const FileStates &state)
{
QString resultState;
if (state == UntrackedFile)
return tr("untracked");
return Tr::tr("untracked");
if (state & StagedFile)
resultState = tr("staged + ");
resultState = Tr::tr("staged + ");
if (state & ModifiedFile)
resultState.append(tr("modified"));
resultState.append(Tr::tr("modified"));
else if (state & AddedFile)
resultState.append(tr("added"));
resultState.append(Tr::tr("added"));
else if (state & DeletedFile)
resultState.append(tr("deleted"));
resultState.append(Tr::tr("deleted"));
else if (state & RenamedFile)
resultState.append(tr("renamed"));
resultState.append(Tr::tr("renamed"));
else if (state & CopiedFile)
resultState.append(tr("copied"));
resultState.append(Tr::tr("copied"));
else if (state & TypeChangedFile)
resultState.append(tr("typechange"));
resultState.append(Tr::tr("typechange"));
if (state & UnmergedUs) {
if (state & UnmergedThem)
resultState.append(tr(" by both"));
resultState.append(Tr::tr(" by both"));
else
resultState.append(tr(" by us"));
resultState.append(Tr::tr(" by us"));
} else if (state & UnmergedThem) {
resultState.append(tr(" by them"));
resultState.append(Tr::tr(" by them"));
}
return resultState;
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -7,7 +7,6 @@
#include <utils/filepath.h>
#include <QCoreApplication>
#include <QStringList>
#include <QPair>
@@ -15,8 +14,7 @@ QT_BEGIN_NAMESPACE
class QTextCodec;
QT_END_NAMESPACE
namespace Git {
namespace Internal {
namespace Git::Internal {
// Read-only
class GitSubmitEditorPanelInfo
@@ -69,8 +67,6 @@ Q_DECLARE_FLAGS(FileStates, FileState)
class CommitData
{
Q_DECLARE_TR_FUNCTIONS(Git::Internal::CommitData)
public:
CommitData(CommitType type = SimpleCommit);
// A pair of state string/file name ('modified', 'file.cpp').
@@ -101,17 +97,14 @@ private:
bool checkLine(const QString &stateInfo, const QString &file);
};
} // namespace Internal
} // namespace Git
} // Git::Internal
Q_DECLARE_OPERATORS_FOR_FLAGS(Git::Internal::FileStates)
namespace Git {
namespace Internal {
namespace Git::Internal {
// Must appear after Q_DECLARE_OPERATORS_FOR_FLAGS
bool operator<(const CommitData::StateFilePair &a,
const CommitData::StateFilePair &b);
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -5,6 +5,8 @@
#include "gerritserver.h"
#include "../gittr.h"
#include <utils/fileutils.h>
#include <utils/hostosinfo.h>
#include <utils/layoutbuilder.h>
@@ -52,11 +54,11 @@ static bool replaceEntry(QString &line, const QString &type, const QString &valu
AuthenticationDialog::AuthenticationDialog(GerritServer *server)
: m_server(server)
{
setWindowTitle(tr("Authentication"));
setWindowTitle(Git::Tr::tr("Authentication"));
resize(400, 334);
// FIXME: Take html out of this translatable string.
const QString desc = tr(
const QString desc = Git::Tr::tr(
"<html><head/><body><p>Gerrit server with HTTP was detected, but you need "
"to set up credentials for it.</p><p>To get your password, "
"<a href=\"LINK_PLACEHOLDER\"><span style=\" text-decoration: "
@@ -90,16 +92,16 @@ AuthenticationDialog::AuthenticationDialog(GerritServer *server)
Column {
descriptionLabel,
Form {
tr("Server:"), serverLineEdit, br,
tr("&User:"), m_userLineEdit, br,
tr("&Password:"), m_passwordLineEdit, br,
Git::Tr::tr("Server:"), serverLineEdit, br,
Git::Tr::tr("&User:"), m_userLineEdit, br,
Git::Tr::tr("&Password:"), m_passwordLineEdit, br,
},
m_buttonBox,
}.attachTo(this);
readExistingConf();
QPushButton *anonymous = m_buttonBox->addButton(tr("Anonymous"), QDialogButtonBox::AcceptRole);
QPushButton *anonymous = m_buttonBox->addButton(Git::Tr::tr("Anonymous"), QDialogButtonBox::AcceptRole);
connect(m_buttonBox, &QDialogButtonBox::clicked,
this, [this, anonymous](QAbstractButton *button) {
if (button == anonymous)

View File

@@ -8,6 +8,7 @@
#include "gerritremotechooser.h"
#include "../gitplugin.h"
#include "../gittr.h"
#include <coreplugin/icore.h>
@@ -54,7 +55,7 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p,
, m_model(new GerritModel(p, this))
, m_queryModel(new QStringListModel(this))
{
setWindowTitle(tr("Gerrit"));
setWindowTitle(Git::Tr::tr("Gerrit"));
resize(950, 706);
m_repositoryLabel = new QLabel(this);
@@ -64,12 +65,12 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p,
m_remoteComboBox->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
m_remoteComboBox->setMinimumSize(QSize(40, 0));
auto changesGroup = new QGroupBox(tr("Changes"));
auto changesGroup = new QGroupBox(Git::Tr::tr("Changes"));
changesGroup->setMinimumSize(QSize(0, 350));
m_queryLineEdit = new FancyLineEdit(changesGroup);
m_queryLineEdit->setMinimumSize(QSize(400, 0));
m_queryLineEdit->setPlaceholderText(tr("Change #, SHA-1, tr:id, owner:email or reviewer:email"));
m_queryLineEdit->setPlaceholderText(Git::Tr::tr("Change #, SHA-1, tr:id, owner:email or reviewer:email"));
m_queryLineEdit->setSpecialCompleter(new QCompleter(m_queryModel, this));
m_queryLineEdit->setValidationFunction(
[this](FancyLineEdit *, QString *) { return m_model->state() != GerritModel::Error; });
@@ -84,7 +85,7 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p,
m_treeView->setUniformRowHeights(true);
m_treeView->setSortingEnabled(true);
auto detailsGroup = new QGroupBox(tr("Details"));
auto detailsGroup = new QGroupBox(Git::Tr::tr("Details"));
detailsGroup->setMinimumSize(QSize(0, 175));
m_detailsBrowser = new QTextBrowser(detailsGroup);
@@ -92,7 +93,7 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p,
m_buttonBox = new QDialogButtonBox(QDialogButtonBox::Close);
auto queryLabel = new QLabel(tr("&Query:"), changesGroup);
auto queryLabel = new QLabel(Git::Tr::tr("&Query:"), changesGroup);
queryLabel->setBuddy(m_queryLineEdit);
m_remoteComboBox->setParameters(m_parameters);
@@ -113,10 +114,10 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p,
m_progressIndicator->attachToWidget(m_treeView->viewport());
m_progressIndicator->hide();
m_displayButton = addActionButton(tr("&Show"), [this]() { slotFetchDisplay(); });
m_cherryPickButton = addActionButton(tr("Cherry &Pick"), [this]() { slotFetchCherryPick(); });
m_checkoutButton = addActionButton(tr("C&heckout"), [this]() { slotFetchCheckout(); });
m_refreshButton = addActionButton(tr("&Refresh"), [this]() { refresh(); });
m_displayButton = addActionButton(Git::Tr::tr("&Show"), [this]() { slotFetchDisplay(); });
m_cherryPickButton = addActionButton(Git::Tr::tr("Cherry &Pick"), [this]() { slotFetchCherryPick(); });
m_checkoutButton = addActionButton(Git::Tr::tr("C&heckout"), [this]() { slotFetchCheckout(); });
m_refreshButton = addActionButton(Git::Tr::tr("&Refresh"), [this]() { refresh(); });
m_refreshButton->setDefault(true);
using namespace Layouting;
@@ -142,7 +143,7 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p,
splitter->addWidget(detailsGroup);
Column {
Row { m_repositoryLabel, st, tr("Remote:"), m_remoteComboBox },
Row { m_repositoryLabel, st, Git::Tr::tr("Remote:"), m_remoteComboBox },
splitter,
m_buttonBox
}.attachTo(this);
@@ -340,7 +341,7 @@ void GerritDialog::fetchStarted(const QSharedPointer<GerritChange> &change)
// Disable buttons to prevent parallel gerrit operations which can cause mix-ups.
m_fetchRunning = true;
updateButtons();
const QString toolTip = tr("Fetching \"%1\"...").arg(change->title);
const QString toolTip = Git::Tr::tr("Fetching \"%1\"...").arg(change->title);
m_displayButton->setToolTip(toolTip);
m_cherryPickButton->setToolTip(toolTip);
m_checkoutButton->setToolTip(toolTip);

View File

@@ -3,6 +3,7 @@
#include "gerritmodel.h"
#include "../gitclient.h"
#include "../gittr.h"
#include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/progressmanager/futureprogress.h>
@@ -195,7 +196,7 @@ QString GerritChange::fullTitle() const
{
QString res = title;
if (status == "DRAFT")
res += GerritModel::tr(" (Draft)");
res += Git::Tr::tr(" (Draft)");
return res;
}
@@ -293,7 +294,7 @@ QueryContext::~QueryContext()
void QueryContext::start()
{
Core::FutureProgress *fp = Core::ProgressManager::addTask(m_progress.future(), tr("Querying Gerrit"),
Core::FutureProgress *fp = Core::ProgressManager::addTask(m_progress.future(), Git::Tr::tr("Querying Gerrit"),
"gerrit-query");
fp->setKeepOnFinish(Core::FutureProgress::HideOnFinish);
m_progress.reportStarted();
@@ -326,11 +327,11 @@ void QueryContext::processDone()
emit errorText(m_error);
if (m_process.exitStatus() == QProcess::CrashExit)
errorTermination(tr("%1 crashed.").arg(m_binary.toUserOutput()));
errorTermination(Git::Tr::tr("%1 crashed.").arg(m_binary.toUserOutput()));
else if (m_process.exitCode())
errorTermination(tr("%1 returned %2.").arg(m_binary.toUserOutput()).arg(m_process.exitCode()));
errorTermination(Git::Tr::tr("%1 returned %2.").arg(m_binary.toUserOutput()).arg(m_process.exitCode()));
else if (m_process.result() != ProcessResult::FinishedWithSuccess)
errorTermination(tr("Error running %1: %2").arg(m_binary.toUserOutput(), m_process.errorString()));
errorTermination(Git::Tr::tr("Error running %1: %2").arg(m_binary.toUserOutput(), m_process.errorString()));
else
emit resultRetrieved(m_output);
@@ -346,13 +347,13 @@ void QueryContext::timeout()
QWidget *parent = QApplication::activeModalWidget();
if (!parent)
parent = QApplication::activeWindow();
QMessageBox box(QMessageBox::Question, tr("Timeout"),
tr("The gerrit process has not responded within %1 s.\n"
QMessageBox box(QMessageBox::Question, Git::Tr::tr("Timeout"),
Git::Tr::tr("The gerrit process has not responded within %1 s.\n"
"Most likely this is caused by problems with SSH authentication.\n"
"Would you like to terminate it?").
arg(timeOutMS / 1000), QMessageBox::NoButton, parent);
QPushButton *terminateButton = box.addButton(tr("Terminate"), QMessageBox::YesRole);
box.addButton(tr("Keep Running"), QMessageBox::NoRole);
QPushButton *terminateButton = box.addButton(Git::Tr::tr("Terminate"), QMessageBox::YesRole);
box.addButton(Git::Tr::tr("Keep Running"), QMessageBox::NoRole);
connect(&m_process, &QtcProcess::done, &box, &QDialog::reject);
box.exec();
if (m_process.state() != QProcess::Running)
@@ -368,9 +369,9 @@ GerritModel::GerritModel(const QSharedPointer<GerritParameters> &p, QObject *par
, m_parameters(p)
{
QStringList headers; // Keep in sync with GerritChange::toHtml()
headers << "#" << tr("Subject") << tr("Owner")
<< tr("Updated") << tr("Project")
<< tr("Approvals") << tr("Status");
headers << "#" << Git::Tr::tr("Subject") << Git::Tr::tr("Owner")
<< Git::Tr::tr("Updated") << Git::Tr::tr("Project")
<< Git::Tr::tr("Approvals") << Git::Tr::tr("Status");
setHorizontalHeaderLabels(headers);
}
@@ -413,15 +414,15 @@ QString GerritModel::dependencyHtml(const QString &header, const int changeNumbe
QString GerritModel::toHtml(const QModelIndex& index) const
{
static const QString subjectHeader = GerritModel::tr("Subject");
static const QString numberHeader = GerritModel::tr("Number");
static const QString ownerHeader = GerritModel::tr("Owner");
static const QString projectHeader = GerritModel::tr("Project");
static const QString statusHeader = GerritModel::tr("Status");
static const QString patchSetHeader = GerritModel::tr("Patch set");
static const QString urlHeader = GerritModel::tr("URL");
static const QString dependsOnHeader = GerritModel::tr("Depends on");
static const QString neededByHeader = GerritModel::tr("Needed by");
static const QString subjectHeader = Git::Tr::tr("Subject");
static const QString numberHeader = Git::Tr::tr("Number");
static const QString ownerHeader = Git::Tr::tr("Owner");
static const QString projectHeader = Git::Tr::tr("Project");
static const QString statusHeader = Git::Tr::tr("Status");
static const QString patchSetHeader = Git::Tr::tr("Patch set");
static const QString urlHeader = Git::Tr::tr("URL");
static const QString dependsOnHeader = Git::Tr::tr("Depends on");
static const QString neededByHeader = Git::Tr::tr("Needed by");
if (!index.isValid())
return QString();
@@ -781,7 +782,7 @@ static bool parseOutput(const QSharedPointer<GerritParameters> &parameters,
QJsonParseError error;
const QJsonDocument doc = QJsonDocument::fromJson(adaptedOutput, &error);
if (doc.isNull()) {
QString errorMessage = GerritModel::tr("Parse error: \"%1\" -> %2")
QString errorMessage = Git::Tr::tr("Parse error: \"%1\" -> %2")
.arg(QString::fromUtf8(output))
.arg(error.errorString());
qWarning() << errorMessage;
@@ -806,7 +807,7 @@ static bool parseOutput(const QSharedPointer<GerritParameters> &parameters,
} else {
const QByteArray jsonObject = QJsonDocument(object).toJson();
qWarning("%s: Parse error: '%s'.", Q_FUNC_INFO, jsonObject.constData());
VcsOutputWindow::appendError(GerritModel::tr("Parse error: \"%1\"")
VcsOutputWindow::appendError(Git::Tr::tr("Parse error: \"%1\"")
.arg(QString::fromUtf8(jsonObject)));
res = false;
}

View File

@@ -4,6 +4,7 @@
#include "gerritoptionspage.h"
#include "gerritparameters.h"
#include "gerritserver.h"
#include "gittr.h"
#include <coreplugin/icore.h>
#include <utils/pathchooser.h>
@@ -24,7 +25,7 @@ GerritOptionsPage::GerritOptionsPage(const QSharedPointer<GerritParameters> &p,
, m_parameters(p)
{
setId("Gerrit");
setDisplayName(tr("Gerrit"));
setDisplayName(Git::Tr::tr("Gerrit"));
setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
}
@@ -70,24 +71,24 @@ GerritOptionsWidget::GerritOptionsWidget(QWidget *parent)
, m_sshChooser(new Utils::PathChooser)
, m_curlChooser(new Utils::PathChooser)
, m_portSpinBox(new QSpinBox(this))
, m_httpsCheckBox(new QCheckBox(tr("HTTPS")))
, m_httpsCheckBox(new QCheckBox(Git::Tr::tr("HTTPS")))
{
auto formLayout = new QFormLayout(this);
formLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow);
formLayout->addRow(tr("&Host:"), m_hostLineEdit);
formLayout->addRow(tr("&User:"), m_userLineEdit);
formLayout->addRow(Git::Tr::tr("&Host:"), m_hostLineEdit);
formLayout->addRow(Git::Tr::tr("&User:"), m_userLineEdit);
m_sshChooser->setExpectedKind(Utils::PathChooser::ExistingCommand);
m_sshChooser->setCommandVersionArguments({"-V"});
m_sshChooser->setHistoryCompleter("Git.SshCommand.History");
formLayout->addRow(tr("&ssh:"), m_sshChooser);
formLayout->addRow(Git::Tr::tr("&ssh:"), m_sshChooser);
m_curlChooser->setExpectedKind(Utils::PathChooser::ExistingCommand);
m_curlChooser->setCommandVersionArguments({"-V"});
formLayout->addRow(tr("cur&l:"), m_curlChooser);
formLayout->addRow(Git::Tr::tr("cur&l:"), m_curlChooser);
m_portSpinBox->setMinimum(1);
m_portSpinBox->setMaximum(65535);
formLayout->addRow(tr("SSH &Port:"), m_portSpinBox);
formLayout->addRow(tr("P&rotocol:"), m_httpsCheckBox);
m_httpsCheckBox->setToolTip(tr(
formLayout->addRow(Git::Tr::tr("SSH &Port:"), m_portSpinBox);
formLayout->addRow(Git::Tr::tr("P&rotocol:"), m_httpsCheckBox);
m_httpsCheckBox->setToolTip(Git::Tr::tr(
"Determines the protocol used to form a URL in case\n"
"\"canonicalWebUrl\" is not configured in the file\n"
"\"gerrit.config\"."));

View File

@@ -8,8 +8,10 @@
#include "gerritoptionspage.h"
#include "gerritpushdialog.h"
#include "../gitplugin.h"
#include "../gitclient.h"
#include "../gitplugin.h"
#include "../gittr.h"
#include <vcsbase/vcsbaseconstants.h>
#include <vcsbase/vcsbaseeditor.h>
@@ -139,7 +141,7 @@ FetchContext::~FetchContext()
void FetchContext::start()
{
m_progress.setProgressRange(0, 2);
FutureProgress *fp = ProgressManager::addTask(m_progress.future(), tr("Fetching from Gerrit"),
FutureProgress *fp = ProgressManager::addTask(m_progress.future(), Git::Tr::tr("Fetching from Gerrit"),
"gerrit-fetch");
fp->setKeepOnFinish(FutureProgress::HideOnFinish);
m_progress.reportStarted();
@@ -237,14 +239,14 @@ void GerritPlugin::initialize(ActionContainer *ac)
{
m_parameters->fromSettings(ICore::settings());
QAction *openViewAction = new QAction(tr("Gerrit..."), this);
QAction *openViewAction = new QAction(Git::Tr::tr("Gerrit..."), this);
m_gerritCommand =
ActionManager::registerAction(openViewAction, Constants::GERRIT_OPEN_VIEW);
connect(openViewAction, &QAction::triggered, this, &GerritPlugin::openView);
ac->addAction(m_gerritCommand);
QAction *pushAction = new QAction(tr("Push to Gerrit..."), this);
QAction *pushAction = new QAction(Git::Tr::tr("Push to Gerrit..."), this);
m_pushToGerritCommand =
ActionManager::registerAction(pushAction, Constants::GERRIT_PUSH);
@@ -281,7 +283,7 @@ void GerritPlugin::push(const FilePath &topLevel)
const QString initErrorMessage = dialog.initErrorMessage();
if (!initErrorMessage.isEmpty()) {
QMessageBox::warning(ICore::dialogParent(), tr("Initialization Failed"), initErrorMessage);
QMessageBox::warning(ICore::dialogParent(), Git::Tr::tr("Initialization Failed"), initErrorMessage);
return;
}
@@ -303,8 +305,8 @@ void GerritPlugin::openView()
{
if (m_dialog.isNull()) {
while (!m_parameters->isValid()) {
QMessageBox::warning(Core::ICore::dialogParent(), tr("Error"),
tr("Invalid Gerrit configuration. Host, user and ssh binary are mandatory."));
QMessageBox::warning(Core::ICore::dialogParent(), Git::Tr::tr("Error"),
Git::Tr::tr("Invalid Gerrit configuration. Host, user and ssh binary are mandatory."));
if (!ICore::showOptionsDialog("Gerrit"))
return;
}
@@ -352,7 +354,7 @@ void GerritPlugin::fetch(const QSharedPointer<GerritChange> &change, int mode)
// Locate git.
const Utils::FilePath git = GitClient::instance()->vcsBinary();
if (git.isEmpty()) {
VcsBase::VcsOutputWindow::appendError(tr("Git is not available."));
VcsBase::VcsOutputWindow::appendError(Git::Tr::tr("Git is not available."));
return;
}
@@ -392,8 +394,8 @@ void GerritPlugin::fetch(const QSharedPointer<GerritChange> &change, int mode)
if (!verifiedRepository) {
QMessageBox::StandardButton answer = QMessageBox::question(
ICore::dialogParent(), tr("Remote Not Verified"),
tr("Change host %1\nand project %2\n\nwere not verified among remotes"
ICore::dialogParent(), Git::Tr::tr("Remote Not Verified"),
Git::Tr::tr("Change host %1\nand project %2\n\nwere not verified among remotes"
" in %3. Select different folder?")
.arg(m_server->host,
change->project,
@@ -416,7 +418,7 @@ void GerritPlugin::fetch(const QSharedPointer<GerritChange> &change, int mode)
if (!verifiedRepository) {
// Ask the user for a repository to retrieve the change.
const QString title =
tr("Enter Local Repository for \"%1\" (%2)").arg(change->project, change->branch);
Git::Tr::tr("Enter Local Repository for \"%1\" (%2)").arg(change->project, change->branch);
const FilePath suggestedRespository = findLocalRepository(change->project, change->branch);
repository = FileUtils::getExistingDirectory(m_dialog.data(), title, suggestedRespository);
}

View File

@@ -7,6 +7,7 @@
#include "../gitclient.h"
#include "../gitconstants.h"
#include "../gittr.h"
#include <utils/icon.h>
#include <utils/stringutils.h>
@@ -120,7 +121,7 @@ GerritPushDialog::GerritPushDialog(const Utils::FilePath &workingDir, const QStr
initRemoteBranches();
if (m_ui->remoteComboBox->isEmpty()) {
m_initErrorMessage = tr("Cannot find a Gerrit remote. Add one and try again.");
m_initErrorMessage = Git::Tr::tr("Cannot find a Gerrit remote. Add one and try again.");
return;
}
@@ -190,14 +191,14 @@ void GerritPushDialog::setChangeRange()
}
m_ui->infoLabel->show();
const QString remote = selectedRemoteName() + '/' + remoteBranchName;
QString labelText = tr("Number of commits between %1 and %2: %3").arg(branch, remote, range);
QString labelText = Git::Tr::tr("Number of commits between %1 and %2: %3").arg(branch, remote, range);
const int currentRange = range.toInt();
QPalette palette = QApplication::palette();
if (currentRange > ReasonableDistance) {
const QColor errorColor = Utils::creatorTheme()->color(Utils::Theme::TextColorError);
palette.setColor(QPalette::WindowText, errorColor);
palette.setColor(QPalette::ButtonText, errorColor);
labelText.append("\n" + tr("Are you sure you selected the right target branch?"));
labelText.append("\n" + Git::Tr::tr("Are you sure you selected the right target branch?"));
}
m_ui->infoLabel->setPalette(palette);
m_ui->targetBranchComboBox->setPalette(palette);
@@ -226,21 +227,21 @@ void GerritPushDialog::onRemoteChanged(bool force)
m_currentSupportsWip = supportsWip;
m_ui->wipCheckBox->setEnabled(supportsWip);
if (supportsWip) {
m_ui->wipCheckBox->setToolTip(tr("Checked - Mark change as WIP.\n"
m_ui->wipCheckBox->setToolTip(Git::Tr::tr("Checked - Mark change as WIP.\n"
"Unchecked - Mark change as ready for review.\n"
"Partially checked - Do not change current state."));
m_ui->draftCheckBox->setTristate(true);
if (m_ui->draftCheckBox->checkState() != Qt::Checked)
m_ui->draftCheckBox->setCheckState(Qt::PartiallyChecked);
m_ui->draftCheckBox->setToolTip(tr("Checked - Mark change as private.\n"
m_ui->draftCheckBox->setToolTip(Git::Tr::tr("Checked - Mark change as private.\n"
"Unchecked - Remove mark.\n"
"Partially checked - Do not change current state."));
} else {
m_ui->wipCheckBox->setToolTip(tr("Supported on Gerrit 2.15 and later."));
m_ui->wipCheckBox->setToolTip(Git::Tr::tr("Supported on Gerrit 2.15 and later."));
m_ui->draftCheckBox->setTristate(false);
if (m_ui->draftCheckBox->checkState() != Qt::Checked)
m_ui->draftCheckBox->setCheckState(Qt::Unchecked);
m_ui->draftCheckBox->setToolTip(tr("Checked - The change is a draft.\n"
m_ui->draftCheckBox->setToolTip(Git::Tr::tr("Checked - The change is a draft.\n"
"Unchecked - The change is not a draft."));
}
}
@@ -309,9 +310,9 @@ void GerritPushDialog::setRemoteBranches(bool includeOld)
if (remoteBranches.isEmpty()) {
m_ui->targetBranchComboBox->setEditable(true);
m_ui->targetBranchComboBox->setToolTip(
tr("No remote branches found. This is probably the initial commit."));
Git::Tr::tr("No remote branches found. This is probably the initial commit."));
if (QLineEdit *lineEdit = m_ui->targetBranchComboBox->lineEdit())
lineEdit->setPlaceholderText(tr("Branch name"));
lineEdit->setPlaceholderText(Git::Tr::tr("Branch name"));
}
}
@@ -331,7 +332,7 @@ void GerritPushDialog::setRemoteBranches(bool includeOld)
}
}
if (excluded)
m_ui->targetBranchComboBox->addItem(tr("... Include older branches ..."), 1);
m_ui->targetBranchComboBox->addItem(Git::Tr::tr("... Include older branches ..."), 1);
setChangeRange();
}
validate();

View File

@@ -5,6 +5,7 @@
#include "gerritparameters.h"
#include "gerritserver.h"
#include "../gitclient.h"
#include "../gittr.h"
#include <utils/filepath.h>
#include <utils/qtcassert.h>
@@ -34,7 +35,7 @@ GerritRemoteChooser::GerritRemoteChooser(QWidget *parent) :
horizontalLayout->setContentsMargins(0, 0, 0, 0);
m_resetRemoteButton = new QToolButton(this);
m_resetRemoteButton->setToolTip(tr("Refresh Remote Servers"));
m_resetRemoteButton->setToolTip(Git::Tr::tr("Refresh Remote Servers"));
horizontalLayout->addWidget(m_resetRemoteButton);
@@ -92,7 +93,7 @@ bool GerritRemoteChooser::updateRemotes(bool forceReload)
addRemote(server, mapIt.key());
}
if (m_enableFallback)
addRemote(m_parameters->server, tr("Fallback"));
addRemote(m_parameters->server, Git::Tr::tr("Fallback"));
m_remoteComboBox->setEnabled(m_remoteComboBox->count() > 1);
m_updatingRemotes = false;
handleRemoteChanged();

View File

@@ -2,14 +2,15 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "gitclient.h"
#include "gitutils.h"
#include "branchadddialog.h"
#include "commitdata.h"
#include "gitconstants.h"
#include "giteditor.h"
#include "gitplugin.h"
#include "gittr.h"
#include "gitutils.h"
#include "mergetool.h"
#include "branchadddialog.h"
#include <coreplugin/coreconstants.h>
#include <coreplugin/editormanager/editormanager.h>
@@ -84,8 +85,7 @@ using namespace DiffEditor;
using namespace Utils;
using namespace VcsBase;
namespace Git {
namespace Internal {
namespace Git::Internal {
static GitClient *m_instance = nullptr;
@@ -117,7 +117,7 @@ static QString branchesDisplay(const QString &prefix, QStringList *branches, boo
//: Displayed after the untranslated message "Branches: branch1, branch2 'and %n more'"
// in git show.
if (more > 0)
output += ' ' + GitClient::tr("and %n more", nullptr, more);
output += ' ' + Tr::tr("and %n more", nullptr, more);
return output;
}
@@ -347,7 +347,7 @@ void GitBaseDiffEditorController::updateBranchList()
}
if (branches.isEmpty()) {
if (previousRemote == localPrefix)
output += tr("<None>");
output += Tr::tr("<None>");
} else {
output += branchesDisplay(previousRemote, &branches, &first);
}
@@ -483,7 +483,7 @@ void ShowController::processDescription(const QString &output)
int lastHeaderLine = modText.indexOf("\n\n") + 1;
m_header = output.left(lastHeaderLine) + Constants::EXPAND_BRANCHES + '\n';
m_body = output.mid(lastHeaderLine + 1);
m_precedes = tr("<resolving>");
m_precedes = Tr::tr("<resolving>");
m_follows.push_back(m_precedes);
updateDescription();
const QString commit = modText.mid(7, 8);
@@ -560,11 +560,11 @@ public:
VcsBaseEditorConfig(toolBar)
{
m_patienceButton
= addToggleButton("--patience", tr("Patience"),
tr("Use the patience algorithm for calculating the differences."));
= addToggleButton("--patience", Tr::tr("Patience"),
Tr::tr("Use the patience algorithm for calculating the differences."));
mapSetting(m_patienceButton, &settings.diffPatience);
m_ignoreWSButton = addToggleButton("--ignore-space-change", tr("Ignore Whitespace"),
tr("Ignore whitespace only changes."));
m_ignoreWSButton = addToggleButton("--ignore-space-change", Tr::tr("Ignore Whitespace"),
Tr::tr("Ignore whitespace only changes."));
mapSetting(m_ignoreWSButton, &settings.ignoreSpaceChangesInDiff);
}
@@ -581,20 +581,20 @@ public:
GitBlameArgumentsWidget(GitSettings &settings, QToolBar *toolBar) :
VcsBaseEditorConfig(toolBar)
{
mapSetting(addToggleButton(QString(), tr("Omit Date"),
tr("Hide the date of a change from the output.")),
mapSetting(addToggleButton(QString(), Tr::tr("Omit Date"),
Tr::tr("Hide the date of a change from the output.")),
&settings.omitAnnotationDate);
mapSetting(addToggleButton("-w", tr("Ignore Whitespace"),
tr("Ignore whitespace only changes.")),
mapSetting(addToggleButton("-w", Tr::tr("Ignore Whitespace"),
Tr::tr("Ignore whitespace only changes.")),
&settings.ignoreSpaceChangesInBlame);
const QList<ChoiceItem> logChoices = {
ChoiceItem(tr("No Move Detection"), ""),
ChoiceItem(tr("Detect Moves Within File"), "-M"),
ChoiceItem(tr("Detect Moves Between Files"), "-M -C"),
ChoiceItem(tr("Detect Moves and Copies Between Files"), "-M -C -C")
ChoiceItem(Tr::tr("No Move Detection"), ""),
ChoiceItem(Tr::tr("Detect Moves Within File"), "-M"),
ChoiceItem(Tr::tr("Detect Moves Between Files"), "-M -C"),
ChoiceItem(Tr::tr("Detect Moves and Copies Between Files"), "-M -C -C")
};
mapSetting(addChoices(tr("Move detection"), {}, logChoices),
mapSetting(addChoices(Tr::tr("Move detection"), {}, logChoices),
&settings.blameMoveDetection);
addReloadButton();
@@ -610,15 +610,15 @@ public:
BaseGitDiffArgumentsWidget(settings, editor->toolBar())
{
QToolBar *toolBar = editor->toolBar();
QAction *diffButton = addToggleButton(patchOption, tr("Diff"),
tr("Show difference."));
QAction *diffButton = addToggleButton(patchOption, Tr::tr("Diff"),
Tr::tr("Show difference."));
mapSetting(diffButton, &settings.logDiff);
connect(diffButton, &QAction::toggled, m_patienceButton, &QAction::setVisible);
connect(diffButton, &QAction::toggled, m_ignoreWSButton, &QAction::setVisible);
m_patienceButton->setVisible(diffButton->isChecked());
m_ignoreWSButton->setVisible(diffButton->isChecked());
auto filterAction = new QAction(tr("Filter"), toolBar);
filterAction->setToolTip(tr("Filter commits by message or content."));
auto filterAction = new QAction(Tr::tr("Filter"), toolBar);
filterAction->setToolTip(Tr::tr("Filter commits by message or content."));
filterAction->setCheckable(true);
connect(filterAction, &QAction::toggled, editor, &GitEditorWidget::toggleFilters);
toolBar->addAction(filterAction);
@@ -652,21 +652,21 @@ public:
{
QAction *firstParentButton =
addToggleButton({"-m", "--first-parent"},
tr("First Parent"),
tr("Follow only the first parent on merge commits."));
Tr::tr("First Parent"),
Tr::tr("Follow only the first parent on merge commits."));
mapSetting(firstParentButton, &settings.firstParent);
QAction *graphButton = addToggleButton(graphArguments(), tr("Graph"),
tr("Show textual graph log."));
QAction *graphButton = addToggleButton(graphArguments(), Tr::tr("Graph"),
Tr::tr("Show textual graph log."));
mapSetting(graphButton, &settings.graphLog);
QAction *colorButton = addToggleButton(QStringList{colorOption},
tr("Color"), tr("Use colors in log."));
Tr::tr("Color"), Tr::tr("Use colors in log."));
mapSetting(colorButton, &settings.colorLog);
if (fileRelated) {
QAction *followButton = addToggleButton(
"--follow", tr("Follow"),
tr("Show log also for previous names of the file."));
"--follow", Tr::tr("Follow"),
Tr::tr("Show log also for previous names of the file."));
mapSetting(followButton, &settings.followRenames);
}
@@ -711,8 +711,8 @@ public:
{
QAction *showDateButton =
addToggleButton("--date=iso",
tr("Show Date"),
tr("Show date instead of sequence."));
Tr::tr("Show Date"),
Tr::tr("Show date instead of sequence."));
mapSetting(showDateButton, &settings.refLogShowDate);
addReloadButton();
@@ -815,17 +815,17 @@ private:
static inline QString msgRepositoryNotFound(const FilePath &dir)
{
return GitClient::tr("Cannot determine the repository for \"%1\".").arg(dir.toUserOutput());
return Tr::tr("Cannot determine the repository for \"%1\".").arg(dir.toUserOutput());
}
static inline QString msgParseFilesFailed()
{
return GitClient::tr("Cannot parse the file output.");
return Tr::tr("Cannot parse the file output.");
}
static QString msgCannotLaunch(const FilePath &binary)
{
return GitClient::tr("Cannot launch \"%1\".").arg(binary.toUserOutput());
return Tr::tr("Cannot launch \"%1\".").arg(binary.toUserOutput());
}
static inline void msgCannotRun(const QString &message, QString *errorMessage)
@@ -839,7 +839,7 @@ static inline void msgCannotRun(const QString &message, QString *errorMessage)
static inline void msgCannotRun(const QStringList &args, const FilePath &workingDirectory,
const QString &error, QString *errorMessage)
{
const QString message = GitClient::tr("Cannot run \"%1\" in \"%2\": %3")
const QString message = Tr::tr("Cannot run \"%1\" in \"%2\": %3")
.arg("git " + args.join(' '),
workingDirectory.toUserOutput(),
error);
@@ -963,25 +963,25 @@ void GitClient::chunkActionsRequested(DiffEditor::DiffEditorController *controll
};
menu->addSeparator();
QAction *stageChunkAction = menu->addAction(tr("Stage Chunk"));
QAction *stageChunkAction = menu->addAction(Tr::tr("Stage Chunk"));
connect(stageChunkAction, &QAction::triggered, this,
[stageChunk, diffController, fileIndex, chunkIndex] {
stageChunk(diffController, fileIndex, chunkIndex,
DiffEditorController::NoOption, DiffEditor::ChunkSelection());
});
QAction *stageLinesAction = menu->addAction(tr("Stage Selection (%n Lines)", "", selection.selectedRowsCount()));
QAction *stageLinesAction = menu->addAction(Tr::tr("Stage Selection (%n Lines)", "", selection.selectedRowsCount()));
connect(stageLinesAction, &QAction::triggered, this,
[stageChunk, diffController, fileIndex, chunkIndex, selection] {
stageChunk(diffController, fileIndex, chunkIndex,
DiffEditorController::NoOption, selection);
});
QAction *unstageChunkAction = menu->addAction(tr("Unstage Chunk"));
QAction *unstageChunkAction = menu->addAction(Tr::tr("Unstage Chunk"));
connect(unstageChunkAction, &QAction::triggered, this,
[stageChunk, diffController, fileIndex, chunkIndex] {
stageChunk(diffController, fileIndex, chunkIndex,
DiffEditorController::Revert, DiffEditor::ChunkSelection());
});
QAction *unstageLinesAction = menu->addAction(tr("Unstage Selection (%n Lines)", "", selection.selectedRowsCount()));
QAction *unstageLinesAction = menu->addAction(Tr::tr("Unstage Selection (%n Lines)", "", selection.selectedRowsCount()));
connect(unstageLinesAction, &QAction::triggered, this,
[stageChunk, diffController, fileIndex, chunkIndex, selection] {
stageChunk(diffController, fileIndex, chunkIndex,
@@ -1022,9 +1022,9 @@ void GitClient::stage(DiffEditor::DiffEditorController *diffController,
&errorMessage, args)) {
if (errorMessage.isEmpty()) {
if (revert)
VcsOutputWindow::appendSilently(tr("Chunk successfully unstaged"));
VcsOutputWindow::appendSilently(Tr::tr("Chunk successfully unstaged"));
else
VcsOutputWindow::appendSilently(tr("Chunk successfully staged"));
VcsOutputWindow::appendSilently(Tr::tr("Chunk successfully staged"));
} else {
VcsOutputWindow::appendError(errorMessage);
}
@@ -1069,7 +1069,7 @@ void GitClient::diffFiles(const FilePath &workingDirectory,
const QString documentId = QLatin1String(Constants::GIT_PLUGIN)
+ QLatin1String(".DiffFiles.") + workingDirectory.toString();
requestReload(documentId,
workingDirectory.toString(), tr("Git Diff Files"), workingDirectory,
workingDirectory.toString(), Tr::tr("Git Diff Files"), workingDirectory,
[stagedFileNames, unstagedFileNames](IDocument *doc) {
return new FileListDiffController(doc, stagedFileNames, unstagedFileNames);
});
@@ -1080,7 +1080,7 @@ void GitClient::diffProject(const FilePath &workingDirectory, const QString &pro
const QString documentId = QLatin1String(Constants::GIT_PLUGIN)
+ QLatin1String(".DiffProject.") + workingDirectory.toString();
requestReload(documentId,
workingDirectory.toString(), tr("Git Diff Project"), workingDirectory,
workingDirectory.toString(), Tr::tr("Git Diff Project"), workingDirectory,
[projectDirectory](IDocument *doc){
return new GitDiffEditorController(doc, {}, {}, {"--", projectDirectory});
});
@@ -1092,7 +1092,7 @@ void GitClient::diffRepository(const FilePath &workingDirectory,
{
const QString documentId = QLatin1String(Constants::GIT_PLUGIN)
+ QLatin1String(".DiffRepository.") + workingDirectory.toString();
requestReload(documentId, workingDirectory.toString(), tr("Git Diff Repository"), workingDirectory,
requestReload(documentId, workingDirectory.toString(), Tr::tr("Git Diff Repository"), workingDirectory,
[&leftCommit, &rightCommit](IDocument *doc) {
return new GitDiffEditorController(doc, leftCommit, rightCommit, {});
});
@@ -1100,7 +1100,7 @@ void GitClient::diffRepository(const FilePath &workingDirectory,
void GitClient::diffFile(const FilePath &workingDirectory, const QString &fileName) const
{
const QString title = tr("Git Diff \"%1\"").arg(fileName);
const QString title = Tr::tr("Git Diff \"%1\"").arg(fileName);
const QString sourceFile = VcsBaseEditor::getSource(workingDirectory, fileName);
const QString documentId = QLatin1String(Constants::GIT_PLUGIN)
+ QLatin1String(".DifFile.") + sourceFile;
@@ -1112,7 +1112,7 @@ void GitClient::diffFile(const FilePath &workingDirectory, const QString &fileNa
void GitClient::diffBranch(const FilePath &workingDirectory, const QString &branchName) const
{
const QString title = tr("Git Diff Branch \"%1\"").arg(branchName);
const QString title = Tr::tr("Git Diff Branch \"%1\"").arg(branchName);
const QString documentId = QLatin1String(Constants::GIT_PLUGIN)
+ QLatin1String(".DiffBranch.") + branchName;
requestReload(documentId, workingDirectory.toString(), title, workingDirectory,
@@ -1169,7 +1169,7 @@ void GitClient::log(const FilePath &workingDirectory, const QString &fileName,
msgArg = workingDirectory.toString();
// Creating document might change the referenced workingDirectory. Store a copy and use it.
const FilePath workingDir = workingDirectory;
const QString title = tr("Git Log \"%1\"").arg(msgArg);
const QString title = Tr::tr("Git Log \"%1\"").arg(msgArg);
const Id editorId = Git::Constants::GIT_LOG_EDITOR_ID;
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
GitEditorWidget *editor = static_cast<GitEditorWidget *>(
@@ -1224,7 +1224,7 @@ void GitClient::log(const FilePath &workingDirectory, const QString &fileName,
void GitClient::reflog(const FilePath &workingDirectory, const QString &ref)
{
const QString title = tr("Git Reflog \"%1\"").arg(workingDirectory.toUserOutput());
const QString title = Tr::tr("Git Reflog \"%1\"").arg(workingDirectory.toUserOutput());
const Id editorId = Git::Constants::GIT_REFLOG_EDITOR_ID;
// Creating document might change the referenced workingDirectory. Store a copy and use it.
const FilePath workingDir = workingDirectory;
@@ -1259,7 +1259,7 @@ static inline bool canShow(const QString &sha)
static inline QString msgCannotShow(const QString &sha)
{
return GitClient::tr("Cannot describe \"%1\".").arg(sha);
return Tr::tr("Cannot describe \"%1\".").arg(sha);
}
void GitClient::show(const QString &source, const QString &id, const QString &name)
@@ -1269,7 +1269,7 @@ void GitClient::show(const QString &source, const QString &id, const QString &na
return;
}
const QString title = tr("Git Show \"%1\"").arg(name.isEmpty() ? id : name);
const QString title = Tr::tr("Git Show \"%1\"").arg(name.isEmpty() ? id : name);
const QFileInfo sourceFi(source);
FilePath workingDirectory = FilePath::fromString(
sourceFi.isDir() ? sourceFi.absoluteFilePath() : sourceFi.absolutePath());
@@ -1309,7 +1309,7 @@ void GitClient::archive(const FilePath &workingDirectory, QString commit)
FilePath archiveName = FileUtils::getSaveFilePath(
nullptr,
tr("Generate %1 archive").arg(repoName),
Tr::tr("Generate %1 archive").arg(repoName),
repoDirectory.pathAppended(QString("../%1-%2").arg(repoName).arg(commit.left(8))),
filters.keys().join(";;"),
&selectedFilter);
@@ -1322,8 +1322,8 @@ void GitClient::archive(const FilePath &workingDirectory, QString commit)
}
if (archive.exists()) {
if (QMessageBox::warning(ICore::dialogParent(), tr("Overwrite?"),
tr("An item named \"%1\" already exists at this location. "
if (QMessageBox::warning(ICore::dialogParent(), Tr::tr("Overwrite?"),
Tr::tr("An item named \"%1\" already exists at this location. "
"Do you want to overwrite it?").arg(QDir::toNativeSeparators(archive.absoluteFilePath())),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::No) {
return;
@@ -1339,7 +1339,7 @@ VcsBaseEditorWidget *GitClient::annotate(
{
const Id editorId = Git::Constants::GIT_BLAME_EDITOR_ID;
const QString id = VcsBaseEditor::getTitleId(workingDir, {file}, revision);
const QString title = tr("Git Blame \"%1\"").arg(id);
const QString title = Tr::tr("Git Blame \"%1\"").arg(id);
const QString sourceFile = VcsBaseEditor::getSource(workingDir, file);
VcsBaseEditorWidget *editor
@@ -1397,8 +1397,8 @@ QStringList GitClient::setupCheckoutArguments(const FilePath &workingDirectory,
if (Utils::CheckableMessageBox::doNotAskAgainQuestion(
ICore::dialogParent() /*parent*/,
tr("Create Local Branch") /*title*/,
tr("Would you like to create a local branch?") /*message*/,
Tr::tr("Create Local Branch") /*title*/,
Tr::tr("Would you like to create a local branch?") /*message*/,
ICore::settings(), "Git.CreateLocalBranchOnCheckout" /*setting*/,
QDialogButtonBox::Yes | QDialogButtonBox::No /*buttons*/,
QDialogButtonBox::No /*default button*/,
@@ -1468,8 +1468,8 @@ void GitClient::reset(const FilePath &workingDirectory, const QString &argument,
if (argument == "--hard") {
if (gitStatus(workingDirectory, StatusMode(NoUntracked | NoSubmodules)) != StatusUnchanged) {
if (QMessageBox::question(
Core::ICore::dialogParent(), tr("Reset"),
tr("All changes in working directory will be discarded. Are you sure?"),
Core::ICore::dialogParent(), Tr::tr("Reset"),
Tr::tr("All changes in working directory will be discarded. Are you sure?"),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::No) == QMessageBox::No) {
return;
@@ -1500,12 +1500,12 @@ void GitClient::recoverDeletedFiles(const FilePath &workingDirectory)
if (result.result() == ProcessResult::FinishedWithSuccess) {
const QString stdOut = result.cleanedStdOut().trimmed();
if (stdOut.isEmpty()) {
VcsOutputWindow::appendError(tr("Nothing to recover"));
VcsOutputWindow::appendError(Tr::tr("Nothing to recover"));
return;
}
const QStringList files = stdOut.split('\n');
synchronousCheckoutFiles(workingDirectory, files, QString(), nullptr, false);
VcsOutputWindow::append(tr("Files recovered"), VcsOutputWindow::Message);
VcsOutputWindow::append(Tr::tr("Files recovered"), VcsOutputWindow::Message);
}
}
@@ -1527,7 +1527,7 @@ bool GitClient::synchronousLog(const FilePath &workingDirectory, const QStringLi
*output = result.cleanedStdOut();
return true;
}
msgCannotRun(tr("Cannot obtain log of \"%1\": %2")
msgCannotRun(Tr::tr("Cannot obtain log of \"%1\": %2")
.arg(workingDirectory.toUserOutput(), result.cleanedStdErr()), errorMessageIn);
return false;
}
@@ -1583,7 +1583,7 @@ bool GitClient::synchronousReset(const FilePath &workingDirectory,
if (files.isEmpty()) {
msgCannotRun(arguments, workingDirectory, result.cleanedStdErr(), errorMessage);
} else {
msgCannotRun(tr("Cannot reset %n files in \"%1\": %2", nullptr, files.size())
msgCannotRun(Tr::tr("Cannot reset %n files in \"%1\": %2", nullptr, files.size())
.arg(workingDirectory.toUserOutput(), result.cleanedStdErr()),
errorMessage);
}
@@ -1629,24 +1629,24 @@ bool GitClient::synchronousCheckoutFiles(const FilePath &workingDirectory, QStri
const QString fileArg = files.join(", ");
//: Meaning of the arguments: %1: revision, %2: files, %3: repository,
//: %4: Error message
msgCannotRun(tr("Cannot checkout \"%1\" of %2 in \"%3\": %4")
msgCannotRun(Tr::tr("Cannot checkout \"%1\" of %2 in \"%3\": %4")
.arg(revision, fileArg, workingDirectory.toUserOutput(), result.cleanedStdErr()),
errorMessage);
return false;
}
static inline QString msgParentRevisionFailed(const FilePath &workingDirectory,
static QString msgParentRevisionFailed(const FilePath &workingDirectory,
const QString &revision,
const QString &why)
{
//: Failed to find parent revisions of a SHA1 for "annotate previous"
return GitClient::tr("Cannot find parent revisions of \"%1\" in \"%2\": %3")
return Tr::tr("Cannot find parent revisions of \"%1\" in \"%2\": %3")
.arg(revision, workingDirectory.toUserOutput(), why);
}
static inline QString msgInvalidRevision()
static QString msgInvalidRevision()
{
return GitClient::tr("Invalid revision");
return Tr::tr("Invalid revision");
}
// Split a line of "<commit> <parent1> ..." to obtain parents from "rev-list" or "log".
@@ -1816,7 +1816,7 @@ QString GitClient::synchronousTopic(const FilePath &workingDirectory) const
if (!stdOut.isEmpty())
return stdOut;
}
return tr("Detached HEAD");
return Tr::tr("Detached HEAD");
}
bool GitClient::synchronousRevParseCmd(const FilePath &workingDirectory, const QString &ref,
@@ -1869,7 +1869,7 @@ QString GitClient::synchronousShortDescription(const FilePath &workingDirectory,
"--max-count=1", revision};
const CommandResult result = vcsSynchronousExec(workingDirectory, arguments, RunFlags::NoOutput);
if (result.result() != ProcessResult::FinishedWithSuccess) {
VcsOutputWindow::appendSilently(tr("Cannot describe revision \"%1\" in \"%2\": %3")
VcsOutputWindow::appendSilently(Tr::tr("Cannot describe revision \"%1\" in \"%2\": %3")
.arg(revision, workingDirectory.toUserOutput(), result.cleanedStdErr()));
return revision;
}
@@ -1907,7 +1907,7 @@ QString GitClient::synchronousStash(const FilePath &workingDirectory, const QStr
do {
if ((flags & StashPromptDescription)) {
if (!inputText(ICore::dialogParent(),
tr("Stash Description"), tr("Description:"), &message))
Tr::tr("Stash Description"), Tr::tr("Description:"), &message))
break;
}
if (!executeSynchronousStash(workingDirectory, message))
@@ -1975,7 +1975,7 @@ bool GitClient::stashNameFromMessage(const FilePath &workingDirectory,
}
}
//: Look-up of a stash via its descriptive message failed.
msgCannotRun(tr("Cannot resolve stash message \"%1\" in \"%2\".")
msgCannotRun(Tr::tr("Cannot resolve stash message \"%1\" in \"%2\".")
.arg(message, workingDirectory.toUserOutput()), errorMessage);
return false;
}
@@ -2066,7 +2066,7 @@ QStringList GitClient::synchronousSubmoduleStatus(const FilePath &workingDirecto
RunFlags::NoOutput);
if (result.result() != ProcessResult::FinishedWithSuccess) {
msgCannotRun(tr("Cannot retrieve submodule status of \"%1\": %2")
msgCannotRun(Tr::tr("Cannot retrieve submodule status of \"%1\": %2")
.arg(workingDirectory.toUserOutput(), result.cleanedStdErr()), errorMessage);
return {};
}
@@ -2208,12 +2208,12 @@ bool GitClient::synchronousApplyPatch(const FilePath &workingDirectory,
const QString stdErr = result.cleanedStdErr();
if (result.result() == ProcessResult::FinishedWithSuccess) {
if (!stdErr.isEmpty())
*errorMessage = tr("There were warnings while applying \"%1\" to \"%2\":\n%3")
*errorMessage = Tr::tr("There were warnings while applying \"%1\" to \"%2\":\n%3")
.arg(file, workingDirectory.toUserOutput(), stdErr);
return true;
}
*errorMessage = tr("Cannot apply patch \"%1\" to \"%2\": %3")
*errorMessage = Tr::tr("Cannot apply patch \"%1\" to \"%2\": %3")
.arg(QDir::toNativeSeparators(file), workingDirectory.toUserOutput(), stdErr);
return false;
}
@@ -2289,8 +2289,8 @@ void GitClient::updateSubmodulesIfNeeded(const FilePath &workingDirectory, bool
if (!updateNeeded)
return;
if (prompt && QMessageBox::question(ICore::dialogParent(), tr("Submodules Found"),
tr("Would you like to update submodules?"),
if (prompt && QMessageBox::question(ICore::dialogParent(), Tr::tr("Submodules Found"),
Tr::tr("Would you like to update submodules?"),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::No) {
return;
}
@@ -2350,7 +2350,7 @@ GitClient::StatusResult GitClient::gitStatus(const FilePath &workingDirectory, S
// Is it something really fatal?
if (!statusRc && !branchKnown) {
if (errorMessage) {
*errorMessage = tr("Cannot obtain status: %1").arg(result.cleanedStdErr());
*errorMessage = Tr::tr("Cannot obtain status: %1").arg(result.cleanedStdErr());
}
return StatusFailed;
}
@@ -2368,13 +2368,13 @@ QString GitClient::commandInProgressDescription(const FilePath &workingDirectory
break;
case Rebase:
case RebaseMerge:
return tr("REBASING");
return Tr::tr("REBASING");
case Revert:
return tr("REVERTING");
return Tr::tr("REVERTING");
case CherryPick:
return tr("CHERRY-PICKING");
return Tr::tr("CHERRY-PICKING");
case Merge:
return tr("MERGING");
return Tr::tr("MERGING");
}
return QString();
}
@@ -2409,24 +2409,24 @@ void GitClient::continueCommandIfNeeded(const FilePath &workingDirectory, bool a
switch (command) {
case Rebase:
case RebaseMerge:
continuePreviousGitCommand(workingDirectory, tr("Continue Rebase"),
tr("Rebase is in progress. What do you want to do?"),
tr("Continue"), "rebase", continueMode);
continuePreviousGitCommand(workingDirectory, Tr::tr("Continue Rebase"),
Tr::tr("Rebase is in progress. What do you want to do?"),
Tr::tr("Continue"), "rebase", continueMode);
break;
case Merge:
continuePreviousGitCommand(workingDirectory, tr("Continue Merge"),
tr("You need to commit changes to finish merge.\nCommit now?"),
tr("Commit"), "merge", continueMode);
continuePreviousGitCommand(workingDirectory, Tr::tr("Continue Merge"),
Tr::tr("You need to commit changes to finish merge.\nCommit now?"),
Tr::tr("Commit"), "merge", continueMode);
break;
case Revert:
continuePreviousGitCommand(workingDirectory, tr("Continue Revert"),
tr("You need to commit changes to finish revert.\nCommit now?"),
tr("Commit"), "revert", continueMode);
continuePreviousGitCommand(workingDirectory, Tr::tr("Continue Revert"),
Tr::tr("You need to commit changes to finish revert.\nCommit now?"),
Tr::tr("Commit"), "revert", continueMode);
break;
case CherryPick:
continuePreviousGitCommand(workingDirectory, tr("Continue Cherry-Picking"),
tr("You need to commit changes to finish cherry-picking.\nCommit now?"),
tr("Commit"), "cherry-pick", continueMode);
continuePreviousGitCommand(workingDirectory, Tr::tr("Continue Cherry-Picking"),
Tr::tr("You need to commit changes to finish cherry-picking.\nCommit now?"),
Tr::tr("Commit"), "cherry-pick", continueMode);
break;
default:
break;
@@ -2448,7 +2448,7 @@ void GitClient::continuePreviousGitCommand(const FilePath &workingDirectory,
hasChanges = gitStatus(workingDirectory, StatusMode(NoUntracked | NoSubmodules))
== GitClient::StatusChanged;
if (!hasChanges)
msgBoxText.prepend(tr("No changes found.") + ' ');
msgBoxText.prepend(Tr::tr("No changes found.") + ' ');
break;
case SkipOnly:
hasChanges = false;
@@ -2458,7 +2458,7 @@ void GitClient::continuePreviousGitCommand(const FilePath &workingDirectory,
QMessageBox msgBox(QMessageBox::Question, msgBoxTitle, msgBoxText,
QMessageBox::NoButton, ICore::dialogParent());
if (hasChanges || isRebase)
msgBox.addButton(hasChanges ? buttonName : tr("Skip"), QMessageBox::AcceptRole);
msgBox.addButton(hasChanges ? buttonName : Tr::tr("Skip"), QMessageBox::AcceptRole);
msgBox.addButton(QMessageBox::Abort);
msgBox.addButton(QMessageBox::Ignore);
switch (msgBox.exec()) {
@@ -2485,7 +2485,7 @@ QStringList GitClient::synchronousRepositoryBranches(const QString &repositoryUR
{"ls-remote", repositoryURL, HEAD, "refs/heads/*"},
RunFlags::SuppressStdErr | RunFlags::SuppressFailMessage);
QStringList branches;
branches << tr("<Detached HEAD>");
branches << Tr::tr("<Detached HEAD>");
QString headSha;
// split "82bfad2f51d34e98b18982211c82220b8db049b<tab>refs/heads/master"
bool headFound = false;
@@ -2712,7 +2712,7 @@ bool GitClient::readDataFromCommit(const FilePath &repoDirectory, const QString
if (result.result() != ProcessResult::FinishedWithSuccess) {
if (errorMessage) {
*errorMessage = tr("Cannot retrieve last commit data of repository \"%1\".")
*errorMessage = Tr::tr("Cannot retrieve last commit data of repository \"%1\".")
.arg(repoDirectory.toUserOutput());
}
return false;
@@ -2748,7 +2748,7 @@ bool GitClient::getCommitData(const FilePath &workingDirectory,
QString gitDir = findGitDirForRepository(repoDirectory);
if (gitDir.isEmpty()) {
*errorMessage = tr("The repository \"%1\" is not initialized.").arg(repoDirectory.toString());
*errorMessage = Tr::tr("The repository \"%1\" is not initialized.").arg(repoDirectory.toString());
return false;
}
@@ -2880,10 +2880,10 @@ bool GitClient::getCommitData(const FilePath &workingDirectory,
static inline QString msgCommitted(const QString &amendSHA1, int fileCount)
{
if (amendSHA1.isEmpty())
return GitClient::tr("Committed %n files.", nullptr, fileCount);
return Tr::tr("Committed %n files.", nullptr, fileCount);
if (fileCount)
return GitClient::tr("Amended \"%1\" (%n files).", nullptr, fileCount).arg(amendSHA1);
return GitClient::tr("Amended \"%1\".").arg(amendSHA1);
return Tr::tr("Amended \"%1\" (%n files).", nullptr, fileCount).arg(amendSHA1);
return Tr::tr("Amended \"%1\".").arg(amendSHA1);
}
bool GitClient::addAndCommit(const FilePath &repositoryDirectory,
@@ -2973,7 +2973,7 @@ bool GitClient::addAndCommit(const FilePath &repositoryDirectory,
GitPlugin::updateCurrentBranch();
return true;
}
VcsOutputWindow::appendError(tr("Cannot commit %n files\n", nullptr, commitCount));
VcsOutputWindow::appendError(Tr::tr("Cannot commit %n files\n", nullptr, commitCount));
return false;
}
@@ -3047,8 +3047,8 @@ GitClient::RevertResult GitClient::revertI(QStringList files,
// Ask to revert (to do: Handle lists with a selection dialog)
const QMessageBox::StandardButton answer
= QMessageBox::question(ICore::dialogParent(),
tr("Revert"),
tr("The file has been changed. Do you want to revert it?"),
Tr::tr("Revert"),
Tr::tr("The file has been changed. Do you want to revert it?"),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::No);
if (answer == QMessageBox::No)
@@ -3077,7 +3077,7 @@ void GitClient::revertFiles(const QStringList &files, bool revertStaging)
case RevertCanceled:
break;
case RevertUnchanged: {
const QString msg = (isDirectory || files.size() > 1) ? msgNoChangedFiles() : tr("The file is not modified.");
const QString msg = (isDirectory || files.size() > 1) ? msgNoChangedFiles() : Tr::tr("The file is not modified.");
VcsOutputWindow::appendWarning(msg);
}
break;
@@ -3174,7 +3174,7 @@ void GitClient::handleMergeConflicts(const FilePath &workingDir, const QString &
{
QString message;
if (!commit.isEmpty()) {
message = tr("Conflicts detected with commit %1.").arg(commit);
message = Tr::tr("Conflicts detected with commit %1.").arg(commit);
} else if (!files.isEmpty()) {
QString fileList;
QStringList partialFiles = files;
@@ -3183,23 +3183,23 @@ void GitClient::handleMergeConflicts(const FilePath &workingDir, const QString &
fileList = partialFiles.join('\n');
if (partialFiles.count() != files.count())
fileList += "\n...";
message = tr("Conflicts detected with files:\n%1").arg(fileList);
message = Tr::tr("Conflicts detected with files:\n%1").arg(fileList);
} else {
message = tr("Conflicts detected.");
message = Tr::tr("Conflicts detected.");
}
QMessageBox mergeOrAbort(QMessageBox::Question, tr("Conflicts Detected"), message,
QMessageBox mergeOrAbort(QMessageBox::Question, Tr::tr("Conflicts Detected"), message,
QMessageBox::NoButton, ICore::dialogParent());
QPushButton *mergeToolButton = mergeOrAbort.addButton(tr("Run &Merge Tool"),
QPushButton *mergeToolButton = mergeOrAbort.addButton(Tr::tr("Run &Merge Tool"),
QMessageBox::AcceptRole);
const QString mergeTool = readConfigValue(workingDir, "merge.tool");
if (mergeTool.isEmpty() || mergeTool.startsWith("vimdiff")) {
mergeToolButton->setEnabled(false);
mergeToolButton->setToolTip(tr("Only graphical merge tools are supported. "
mergeToolButton->setToolTip(Tr::tr("Only graphical merge tools are supported. "
"Please configure merge.tool."));
}
mergeOrAbort.addButton(QMessageBox::Ignore);
if (abortCommand == "rebase")
mergeOrAbort.addButton(tr("&Skip"), QMessageBox::RejectRole);
mergeOrAbort.addButton(Tr::tr("&Skip"), QMessageBox::RejectRole);
if (!abortCommand.isEmpty())
mergeOrAbort.addButton(QMessageBox::Abort);
switch (mergeOrAbort.exec()) {
@@ -3236,7 +3236,7 @@ void GitClient::subversionLog(const FilePath &workingDirectory) const
arguments << ("--limit=" + QString::number(logCount));
// Create a command editor, no highlighting or interaction.
const QString title = tr("Git SVN Log");
const QString title = Tr::tr("Git SVN Log");
const Id editorId = Git::Constants::GIT_SVN_LOG_EDITOR_ID;
const QString sourceFile = VcsBaseEditor::getSource(workingDirectory, QStringList());
VcsBaseEditorWidget *editor = createVcsEditor(editorId, title, sourceFile, codecFor(CodecNone),
@@ -3274,8 +3274,8 @@ public:
if (pushFailure == NonFastForward) {
const QColor warnColor = Utils::creatorTheme()->color(Theme::TextColorError);
if (QMessageBox::question(
Core::ICore::dialogParent(), tr("Force Push"),
tr("Push failed. Would you like to force-push <span style=\"color:#%1\">"
Core::ICore::dialogParent(), Tr::tr("Force Push"),
Tr::tr("Push failed. Would you like to force-push <span style=\"color:#%1\">"
"(rewrites remote history)</span>?")
.arg(QString::number(warnColor.rgba(), 16)),
QMessageBox::Yes | QMessageBox::No,
@@ -3293,8 +3293,8 @@ public:
}
// NoRemoteBranch case
if (QMessageBox::question(
Core::ICore::dialogParent(), tr("No Upstream Branch"),
tr("Push failed because the local branch \"%1\" "
Core::ICore::dialogParent(), Tr::tr("No Upstream Branch"),
Tr::tr("Push failed because the local branch \"%1\" "
"does not have an upstream branch on the remote.\n\n"
"Would you like to create the branch \"%1\" on the "
"remote and set it as upstream?")
@@ -3364,7 +3364,7 @@ bool GitClient::canRebase(const FilePath &workingDirectory) const
if (QFileInfo::exists(gitDir + "/rebase-apply")
|| QFileInfo::exists(gitDir + "/rebase-merge")) {
VcsOutputWindow::appendError(
tr("Rebase, merge or am is in progress. Finish "
Tr::tr("Rebase, merge or am is in progress. Finish "
"or abort it and then try again."));
return false;
}
@@ -3450,12 +3450,12 @@ void GitClient::interactiveRebase(const FilePath &workingDirectory, const QStrin
QString GitClient::msgNoChangedFiles()
{
return tr("There are no modified files.");
return Tr::tr("There are no modified files.");
}
QString GitClient::msgNoCommits(bool includeRemote)
{
return includeRemote ? tr("No commits were found") : tr("No local commits were found");
return includeRemote ? Tr::tr("No commits were found") : Tr::tr("No local commits were found");
}
void GitClient::stashPop(const FilePath &workingDirectory, const QString &stash)
@@ -3641,31 +3641,31 @@ bool GitClient::StashInfo::init(const FilePath &workingDirectory, const QString
void GitClient::StashInfo::stashPrompt(const QString &command, const QString &statusOutput,
QString *errorMessage)
{
QMessageBox msgBox(QMessageBox::Question, tr("Uncommitted Changes Found"),
tr("What would you like to do with local changes in:") + "\n\n\""
QMessageBox msgBox(QMessageBox::Question, Tr::tr("Uncommitted Changes Found"),
Tr::tr("What would you like to do with local changes in:") + "\n\n\""
+ m_workingDir.toUserOutput() + '\"',
QMessageBox::NoButton, ICore::dialogParent());
msgBox.setDetailedText(statusOutput);
QPushButton *stashAndPopButton = msgBox.addButton(tr("Stash && &Pop"), QMessageBox::AcceptRole);
stashAndPopButton->setToolTip(tr("Stash local changes and pop when %1 finishes.").arg(command));
QPushButton *stashAndPopButton = msgBox.addButton(Tr::tr("Stash && &Pop"), QMessageBox::AcceptRole);
stashAndPopButton->setToolTip(Tr::tr("Stash local changes and pop when %1 finishes.").arg(command));
QPushButton *stashButton = msgBox.addButton(tr("&Stash"), QMessageBox::AcceptRole);
stashButton->setToolTip(tr("Stash local changes and execute %1.").arg(command));
QPushButton *stashButton = msgBox.addButton(Tr::tr("&Stash"), QMessageBox::AcceptRole);
stashButton->setToolTip(Tr::tr("Stash local changes and execute %1.").arg(command));
QPushButton *discardButton = msgBox.addButton(tr("&Discard"), QMessageBox::AcceptRole);
discardButton->setToolTip(tr("Discard (reset) local changes and execute %1.").arg(command));
QPushButton *discardButton = msgBox.addButton(Tr::tr("&Discard"), QMessageBox::AcceptRole);
discardButton->setToolTip(Tr::tr("Discard (reset) local changes and execute %1.").arg(command));
QPushButton *ignoreButton = nullptr;
if (m_flags & AllowUnstashed) {
ignoreButton = msgBox.addButton(QMessageBox::Ignore);
ignoreButton->setToolTip(tr("Execute %1 with local changes in working directory.")
ignoreButton->setToolTip(Tr::tr("Execute %1 with local changes in working directory.")
.arg(command));
}
QPushButton *cancelButton = msgBox.addButton(QMessageBox::Cancel);
cancelButton->setToolTip(tr("Cancel %1.").arg(command));
cancelButton->setToolTip(Tr::tr("Cancel %1.").arg(command));
msgBox.exec();
@@ -3760,22 +3760,22 @@ void GitClient::addChangeActions(QMenu *menu, const QString &source, const QStri
QTC_ASSERT(!change.isEmpty(), return);
const FilePath &workingDir = fileWorkingDirectory(source);
const bool isRange = change.contains("..");
menu->addAction(tr("Cherr&y-Pick %1").arg(change), [workingDir, change] {
menu->addAction(Tr::tr("Cherr&y-Pick %1").arg(change), [workingDir, change] {
m_instance->synchronousCherryPick(workingDir, change);
});
menu->addAction(tr("Re&vert %1").arg(change), [workingDir, change] {
menu->addAction(Tr::tr("Re&vert %1").arg(change), [workingDir, change] {
m_instance->synchronousRevert(workingDir, change);
});
if (!isRange) {
menu->addAction(tr("C&heckout %1").arg(change), [workingDir, change] {
menu->addAction(Tr::tr("C&heckout %1").arg(change), [workingDir, change] {
m_instance->checkout(workingDir, change);
});
connect(menu->addAction(tr("&Interactive Rebase from %1...").arg(change)),
connect(menu->addAction(Tr::tr("&Interactive Rebase from %1...").arg(change)),
&QAction::triggered, [workingDir, change] {
GitPlugin::startRebaseFromCommit(workingDir, change);
});
}
QAction *logAction = menu->addAction(tr("&Log for %1").arg(change), [workingDir, change] {
QAction *logAction = menu->addAction(Tr::tr("&Log for %1").arg(change), [workingDir, change] {
m_instance->log(workingDir, QString(), false, {change});
});
if (isRange) {
@@ -3783,12 +3783,12 @@ void GitClient::addChangeActions(QMenu *menu, const QString &source, const QStri
} else {
const FilePath filePath = FilePath::fromString(source);
if (!filePath.isDir()) {
menu->addAction(tr("Sh&ow file \"%1\" on revision %2").arg(filePath.fileName()).arg(change),
menu->addAction(Tr::tr("Sh&ow file \"%1\" on revision %2").arg(filePath.fileName()).arg(change),
[workingDir, change, source] {
m_instance->openShowEditor(workingDir, change, source);
});
}
menu->addAction(tr("Add &Tag for %1...").arg(change), [workingDir, change] {
menu->addAction(Tr::tr("Add &Tag for %1...").arg(change), [workingDir, change] {
QString output;
QString errorMessage;
m_instance->synchronousTagCmd(workingDir, QStringList(), &output, &errorMessage);
@@ -3809,26 +3809,26 @@ void GitClient::addChangeActions(QMenu *menu, const QString &source, const QStri
auto resetChange = [workingDir, change](const QByteArray &resetType) {
m_instance->reset(workingDir, QLatin1String("--" + resetType), change);
};
auto resetMenu = new QMenu(tr("&Reset to Change %1").arg(change), menu);
resetMenu->addAction(tr("&Hard"), std::bind(resetChange, "hard"));
resetMenu->addAction(tr("&Mixed"), std::bind(resetChange, "mixed"));
resetMenu->addAction(tr("&Soft"), std::bind(resetChange, "soft"));
auto resetMenu = new QMenu(Tr::tr("&Reset to Change %1").arg(change), menu);
resetMenu->addAction(Tr::tr("&Hard"), std::bind(resetChange, "hard"));
resetMenu->addAction(Tr::tr("&Mixed"), std::bind(resetChange, "mixed"));
resetMenu->addAction(Tr::tr("&Soft"), std::bind(resetChange, "soft"));
menu->addMenu(resetMenu);
}
menu->addAction((isRange ? tr("Di&ff %1") : tr("Di&ff Against %1")).arg(change),
menu->addAction((isRange ? Tr::tr("Di&ff %1") : Tr::tr("Di&ff Against %1")).arg(change),
[workingDir, change] {
m_instance->diffRepository(workingDir, change, {});
});
if (!isRange) {
if (!m_instance->m_diffCommit.isEmpty()) {
menu->addAction(tr("Diff &Against Saved %1").arg(m_instance->m_diffCommit),
menu->addAction(Tr::tr("Diff &Against Saved %1").arg(m_instance->m_diffCommit),
[workingDir, change] {
m_instance->diffRepository(workingDir, m_instance->m_diffCommit, change);
m_instance->m_diffCommit.clear();
});
}
menu->addAction(tr("&Save for Diff"), [change] {
menu->addAction(Tr::tr("&Save for Diff"), [change] {
m_instance->m_diffCommit = change;
});
}
@@ -3868,7 +3868,7 @@ IEditor *GitClient::openShowEditor(const FilePath &workingDirectory, const QStri
const QString documentId = QLatin1String(Git::Constants::GIT_PLUGIN)
+ QLatin1String(".GitShow.") + topLevelString
+ QLatin1String(".") + relativePath;
QString title = tr("Git Show %1:%2").arg(ref).arg(relativePath);
QString title = Tr::tr("Git Show %1:%2").arg(ref).arg(relativePath);
IEditor *editor = EditorManager::openEditorWithContents(Id(), &title, content, documentId,
EditorManager::DoNotSwitchToDesignMode);
editor->document()->setTemporary(true);
@@ -3876,7 +3876,6 @@ IEditor *GitClient::openShowEditor(const FilePath &workingDirectory, const QStri
return editor;
}
} // namespace Internal
} // namespace Git
} // Git::Internal
#include "gitclient.moc"

View File

@@ -37,8 +37,7 @@ class VcsBaseEditorWidget;
class VcsCommand;
}
namespace Git {
namespace Internal {
namespace Git::Internal {
class CommitData;
class GitBaseDiffEditorController;
@@ -80,8 +79,6 @@ public:
class GITSHARED_EXPORT GitClient : public VcsBase::VcsBaseClientImpl
{
Q_OBJECT
public:
enum CommandInProgress { NoCommand, Revert, CherryPick,
Rebase, Merge, RebaseMerge };
@@ -406,5 +403,4 @@ public:
GitRemote(const QString &location);
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -5,9 +5,10 @@
#include "annotationhighlighter.h"
#include "gitclient.h"
#include "gitsettings.h"
#include "gitconstants.h"
#include "githighlighters.h"
#include "gitsettings.h"
#include "gittr.h"
#include <coreplugin/icore.h>
#include <texteditor/textdocument.h>
@@ -34,40 +35,37 @@ using namespace Core;
using namespace Utils;
using namespace VcsBase;
namespace Git {
namespace Internal {
namespace Git::Internal {
class GitLogFilterWidget : public QToolBar
{
Q_DECLARE_TR_FUNCTIONS(Git::Internal::GitLogFilterWidget);
public:
GitLogFilterWidget(GitEditorWidget *editor)
{
auto addLineEdit = [](const QString &placeholder,
const QString &tooltip,
GitEditorWidget *editor) {
auto lineEdit = new Utils::FancyLineEdit;
auto lineEdit = new FancyLineEdit;
lineEdit->setFiltering(true);
lineEdit->setToolTip(tooltip);
lineEdit->setPlaceholderText(placeholder);
lineEdit->setMaximumWidth(200);
connect(lineEdit, &QLineEdit::returnPressed,
editor, &GitEditorWidget::refresh);
connect(lineEdit, &Utils::FancyLineEdit::rightButtonClicked,
connect(lineEdit, &FancyLineEdit::rightButtonClicked,
editor, &GitEditorWidget::refresh);
return lineEdit;
};
grepLineEdit = addLineEdit(tr("Filter by message"),
tr("Filter log entries by text in the commit message."),
grepLineEdit = addLineEdit(Tr::tr("Filter by message"),
Tr::tr("Filter log entries by text in the commit message."),
editor);
pickaxeLineEdit = addLineEdit(tr("Filter by content"),
tr("Filter log entries by added or removed string."),
pickaxeLineEdit = addLineEdit(Tr::tr("Filter by content"),
Tr::tr("Filter log entries by added or removed string."),
editor);
authorLineEdit = addLineEdit(tr("Filter by author"),
tr("Filter log entries by author."),
authorLineEdit = addLineEdit(Tr::tr("Filter by author"),
Tr::tr("Filter log entries by author."),
editor);
addWidget(new QLabel(tr("Filter:")));
addWidget(new QLabel(Tr::tr("Filter:")));
addSeparator();
addWidget(grepLineEdit);
addSeparator();
@@ -75,7 +73,7 @@ public:
addSeparator();
addWidget(authorLineEdit);
addSeparator();
caseAction = new QAction(tr("Case Sensitive"), this);
caseAction = new QAction(Tr::tr("Case Sensitive"), this);
caseAction->setCheckable(true);
caseAction->setChecked(true);
connect(caseAction, &QAction::toggled, editor, &GitEditorWidget::refresh);
@@ -84,9 +82,9 @@ public:
connect(editor, &GitEditorWidget::toggleFilters, this, &QWidget::setVisible);
}
Utils::FancyLineEdit *grepLineEdit;
Utils::FancyLineEdit *pickaxeLineEdit;
Utils::FancyLineEdit *authorLineEdit;
FancyLineEdit *grepLineEdit;
FancyLineEdit *pickaxeLineEdit;
FancyLineEdit *authorLineEdit;
QAction *caseAction;
};
@@ -102,8 +100,8 @@ GitEditorWidget::GitEditorWidget() :
*/
setDiffFilePattern("^(?:diff --git a/|index |[+-]{3} (?:/dev/null|[ab]/(.+$)))");
setLogEntryPattern("^commit ([0-9a-f]{8})[0-9a-f]{32}");
setAnnotateRevisionTextFormat(tr("&Blame %1"));
setAnnotatePreviousRevisionTextFormat(tr("Blame &Parent Revision %1"));
setAnnotateRevisionTextFormat(Tr::tr("&Blame %1"));
setAnnotatePreviousRevisionTextFormat(Tr::tr("Blame &Parent Revision %1"));
setAnnotationEntryPattern("^(" CHANGE_PATTERN ") ");
}
@@ -189,9 +187,8 @@ void GitEditorWidget::setPlainText(const QString &text)
switch (contentType())
{
case LogOutput: {
Utils::AnsiEscapeCodeHandler handler;
const QList<Utils::FormattedText> formattedTextList
= handler.parseText(Utils::FormattedText(text));
AnsiEscapeCodeHandler handler;
const QList<FormattedText> formattedTextList = handler.parseText(FormattedText(text));
clear();
QTextCursor cursor = textCursor();
@@ -215,7 +212,7 @@ void GitEditorWidget::setPlainText(const QString &text)
void GitEditorWidget::applyDiffChunk(const DiffChunk& chunk, PatchAction patchAction)
{
Utils::TemporaryFile patchFile("git-apply-chunk");
TemporaryFile patchFile("git-apply-chunk");
if (!patchFile.open())
return;
@@ -230,7 +227,7 @@ void GitEditorWidget::applyDiffChunk(const DiffChunk& chunk, PatchAction patchAc
QString errorMessage;
if (GitClient::instance()->synchronousApplyPatch(baseDir, patchFile.fileName(), &errorMessage, args)) {
if (errorMessage.isEmpty())
VcsOutputWindow::append(tr("Chunk successfully staged"));
VcsOutputWindow::append(Tr::tr("Chunk successfully staged"));
else
VcsOutputWindow::append(errorMessage);
if (patchAction == PatchAction::Revert)
@@ -243,7 +240,7 @@ void GitEditorWidget::applyDiffChunk(const DiffChunk& chunk, PatchAction patchAc
void GitEditorWidget::init()
{
VcsBaseEditorWidget::init();
Utils::Id editorId = textDocument()->id();
Id editorId = textDocument()->id();
const bool isCommitEditor = editorId == Git::Constants::GIT_COMMIT_TEXT_EDITOR_ID;
const bool isRebaseEditor = editorId == Git::Constants::GIT_REBASE_EDITOR_ID;
if (!isCommitEditor && !isRebaseEditor)
@@ -259,22 +256,21 @@ void GitEditorWidget::addDiffActions(QMenu *menu, const DiffChunk &chunk)
{
menu->addSeparator();
QAction *stageAction = menu->addAction(tr("Stage Chunk..."));
QAction *stageAction = menu->addAction(Tr::tr("Stage Chunk..."));
connect(stageAction, &QAction::triggered, this, [this, chunk] {
applyDiffChunk(chunk, PatchAction::Apply);
});
QAction *unstageAction = menu->addAction(tr("Unstage Chunk..."));
QAction *unstageAction = menu->addAction(Tr::tr("Unstage Chunk..."));
connect(unstageAction, &QAction::triggered, this, [this, chunk] {
applyDiffChunk(chunk, PatchAction::Revert);
});
}
void GitEditorWidget::aboutToOpen(const Utils::FilePath &filePath,
const Utils::FilePath &realFilePath)
void GitEditorWidget::aboutToOpen(const FilePath &filePath, const FilePath &realFilePath)
{
Q_UNUSED(realFilePath)
Utils::Id editorId = textDocument()->id();
Id editorId = textDocument()->id();
if (editorId == Git::Constants::GIT_COMMIT_TEXT_EDITOR_ID
|| editorId == Git::Constants::GIT_REBASE_EDITOR_ID) {
const FilePath gitPath = filePath.absolutePath();
@@ -392,5 +388,4 @@ bool GitEditorWidget::caseSensitive() const
return m_logFilterWidget && m_logFilterWidget->caseAction->isChecked();
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -12,8 +12,7 @@ class FancyLineEdit;
class FilePath;
} // Utils
namespace Git {
namespace Internal {
namespace Git::Internal {
class GitLogFilterWidget;
@@ -57,5 +56,4 @@ private:
GitLogFilterWidget *m_logFilterWidget = nullptr;
};
} // namespace Git
} // namespace Internal
} // Git::Internal

View File

@@ -2,7 +2,9 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "gitgrep.h"
#include "gitclient.h"
#include "gittr.h"
#include <coreplugin/vcsmanager.h>
@@ -25,8 +27,13 @@
#include <QSettings>
#include <QTextStream>
namespace Git {
namespace Internal {
using namespace Core;
using namespace Utils;
using namespace VcsBase;
namespace Git::Internal {
const char GitGrepRef[] = "GitGrepRef";
class GitGrepParameters
{
@@ -36,14 +43,6 @@ public:
QString id() const { return recurseSubmodules ? ref + ".Rec" : ref; }
};
using namespace Core;
using namespace Utils;
using namespace VcsBase;
namespace {
const char GitGrepRef[] = "GitGrepRef";
class GitGrepRunner
{
using FutureInterfaceType = QFutureInterface<FileSearchResultList>;
@@ -192,8 +191,6 @@ private:
Environment m_environment;
};
} // namespace
static bool isGitDirectory(const FilePath &path)
{
static IVersionControl *gitVc = VcsManager::versionControl(VcsBase::Constants::VCS_ID_GIT);
@@ -208,8 +205,8 @@ GitGrep::GitGrep(GitClient *client)
auto layout = new QHBoxLayout(m_widget);
layout->setContentsMargins(0, 0, 0, 0);
m_treeLineEdit = new FancyLineEdit;
m_treeLineEdit->setPlaceholderText(tr("Tree (optional)"));
m_treeLineEdit->setToolTip(tr("Can be HEAD, tag, local or remote branch, or a commit hash.\n"
m_treeLineEdit->setPlaceholderText(Tr::tr("Tree (optional)"));
m_treeLineEdit->setToolTip(Tr::tr("Can be HEAD, tag, local or remote branch, or a commit hash.\n"
"Leave empty to search through the file system."));
const QRegularExpression refExpression("[\\S]*");
m_treeLineEdit->setValidator(new QRegularExpressionValidator(refExpression, this));
@@ -219,7 +216,7 @@ GitGrep::GitGrep(GitClient *client)
this,
[this, pLayout = QPointer<QHBoxLayout>(layout)](unsigned version) {
if (version >= 0x021300 && pLayout) {
m_recurseSubmodules = new QCheckBox(tr("Recurse submodules"));
m_recurseSubmodules = new QCheckBox(Tr::tr("Recurse submodules"));
pLayout->addWidget(m_recurseSubmodules);
}
});
@@ -240,14 +237,14 @@ GitGrep::~GitGrep()
QString GitGrep::title() const
{
return tr("Git Grep");
return Tr::tr("Git Grep");
}
QString GitGrep::toolTip() const
{
const QString ref = m_treeLineEdit->text();
if (!ref.isEmpty())
return tr("Ref: %1\n%2").arg(ref);
return Tr::tr("Ref: %1\n%2").arg(ref);
return QLatin1String("%1");
}
@@ -296,7 +293,6 @@ IEditor *GitGrep::openEditor(const SearchResultItem &item,
return editor;
}
} // Internal
} // Git
} // Git::Internal
Q_DECLARE_METATYPE(Git::Internal::GitGrepParameters)

View File

@@ -5,24 +5,20 @@
#include <texteditor/basefilefind.h>
#include <QCoreApplication>
QT_FORWARD_DECLARE_CLASS(QCheckBox);
namespace Utils { class FancyLineEdit; }
namespace Git {
namespace Internal {
namespace Git::Internal {
class GitClient;
class GitGrep : public TextEditor::SearchEngine
{
Q_DECLARE_TR_FUNCTIONS(GitGrep)
public:
explicit GitGrep(GitClient *client);
~GitGrep() override;
QString title() const override;
QString toolTip() const override;
QWidget *widget() const override;
@@ -42,5 +38,4 @@ private:
QCheckBox *m_recurseSubmodules = nullptr;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -8,10 +8,9 @@
#include "gitconstants.h"
#include "githighlighters.h"
namespace Git {
namespace Internal {
namespace Git::Internal {
static const char CHANGE_PATTERN[] = "\\b[a-f0-9]{7,40}\\b";
const char CHANGE_PATTERN[] = "\\b[a-f0-9]{7,40}\\b";
GitSubmitHighlighter::GitSubmitHighlighter(QChar commentChar, QTextEdit * parent) :
TextEditor::SyntaxHighlighter(parent),
@@ -159,5 +158,4 @@ void GitRebaseHighlighter::highlightBlock(const QString &text)
formatSpaces(text);
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -7,8 +7,7 @@
#include <QRegularExpression>
namespace Git {
namespace Internal {
namespace Git::Internal {
enum Format {
Format_Comment,
@@ -35,6 +34,7 @@ class GitSubmitHighlighter : public TextEditor::SyntaxHighlighter
{
public:
explicit GitSubmitHighlighter(QChar commentChar = QChar(), QTextEdit *parent = nullptr);
void highlightBlock(const QString &text) override;
QChar commentChar() const;
void setCommentChar(QChar commentChar);
@@ -66,5 +66,4 @@ private:
QList<RebaseAction> m_actions;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -9,12 +9,13 @@
#include "gitclient.h"
#include "gitconstants.h"
#include "giteditor.h"
#include "gitgrep.h"
#include "gitsubmiteditor.h"
#include "gittr.h"
#include "gitutils.h"
#include "logchangedialog.h"
#include "remotedialog.h"
#include "stashdialog.h"
#include "logchangedialog.h"
#include "gitutils.h"
#include "gitgrep.h"
#include "gerrit/gerritplugin.h"
@@ -80,8 +81,7 @@ using namespace Utils;
using namespace VcsBase;
using namespace std::placeholders;
namespace Git {
namespace Internal {
namespace Git::Internal {
using GitClientMemberFunc = void (GitClient::*)(const FilePath &) const;
@@ -242,9 +242,9 @@ public:
const FilePath &workingDirectory,
const QString &reference) final
{
menu->addAction(tr("&Copy \"%1\"").arg(reference),
menu->addAction(Tr::tr("&Copy \"%1\"").arg(reference),
[reference] { setClipboardAndSelection(reference); });
QAction *action = menu->addAction(tr("&Describe Change %1").arg(reference),
QAction *action = menu->addAction(Tr::tr("&Describe Change %1").arg(reference),
[=] { vcsDescribe(workingDirectory, reference); });
menu->setDefaultAction(action);
GitClient::addChangeActions(menu, workingDirectory.toString(), reference);
@@ -457,7 +457,7 @@ void GitPluginPrivate::onApplySettings()
m_settings.gitExecutable(&gitFoundOk, &errorMessage);
if (!gitFoundOk) {
QTimer::singleShot(0, this, [errorMessage] {
AsynchronousMessageBox::warning(tr("Git Settings"), errorMessage);
AsynchronousMessageBox::warning(Tr::tr("Git Settings"), errorMessage);
});
}
}
@@ -498,8 +498,8 @@ const VcsBasePluginState &GitPlugin::currentState()
QString GitPlugin::msgRepositoryLabel(const FilePath &repository)
{
return repository.isEmpty() ?
tr("<No repository>") :
tr("Repository: %1").arg(repository.toUserOutput());
Tr::tr("<No repository>") :
Tr::tr("Repository: %1").arg(repository.toUserOutput());
}
// Returns a regular expression pattern with characters not allowed
@@ -644,79 +644,79 @@ GitPluginPrivate::GitPluginPrivate()
const QString prefix = "git";
m_commandLocator = new CommandLocator("Git", prefix, prefix, this);
m_commandLocator->setDescription(tr("Triggers a Git version control operation."));
m_commandLocator->setDescription(Tr::tr("Triggers a Git version control operation."));
//register actions
ActionContainer *toolsContainer = ActionManager::actionContainer(Core::Constants::M_TOOLS);
ActionContainer *gitContainer = ActionManager::createMenu("Git");
gitContainer->menu()->setTitle(tr("&Git"));
gitContainer->menu()->setTitle(Tr::tr("&Git"));
toolsContainer->addMenu(gitContainer);
m_menuAction = gitContainer->menu()->menuAction();
/* "Current File" menu */
ActionContainer *currentFileMenu = ActionManager::createMenu("Git.CurrentFileMenu");
currentFileMenu->menu()->setTitle(tr("Current &File"));
currentFileMenu->menu()->setTitle(Tr::tr("Current &File"));
gitContainer->addMenu(currentFileMenu);
createFileAction(currentFileMenu, tr("Diff Current File", "Avoid translating \"Diff\""),
tr("Diff of \"%1\"", "Avoid translating \"Diff\""),
createFileAction(currentFileMenu, Tr::tr("Diff Current File", "Avoid translating \"Diff\""),
Tr::tr("Diff of \"%1\"", "Avoid translating \"Diff\""),
"Git.Diff", context, true, std::bind(&GitPluginPrivate::diffCurrentFile, this),
QKeySequence(useMacShortcuts ? tr("Meta+G,Meta+D") : tr("Alt+G,Alt+D")));
QKeySequence(useMacShortcuts ? Tr::tr("Meta+G,Meta+D") : Tr::tr("Alt+G,Alt+D")));
createFileAction(currentFileMenu, tr("Log Current File", "Avoid translating \"Log\""),
tr("Log of \"%1\"", "Avoid translating \"Log\""),
createFileAction(currentFileMenu, Tr::tr("Log Current File", "Avoid translating \"Log\""),
Tr::tr("Log of \"%1\"", "Avoid translating \"Log\""),
"Git.Log", context, true, std::bind(&GitPluginPrivate::logFile, this),
QKeySequence(useMacShortcuts ? tr("Meta+G,Meta+L") : tr("Alt+G,Alt+L")));
QKeySequence(useMacShortcuts ? Tr::tr("Meta+G,Meta+L") : Tr::tr("Alt+G,Alt+L")));
createFileAction(currentFileMenu, tr("Blame Current File", "Avoid translating \"Blame\""),
tr("Blame for \"%1\"", "Avoid translating \"Blame\""),
createFileAction(currentFileMenu, Tr::tr("Blame Current File", "Avoid translating \"Blame\""),
Tr::tr("Blame for \"%1\"", "Avoid translating \"Blame\""),
"Git.Blame", context, true, std::bind(&GitPluginPrivate::blameFile, this),
QKeySequence(useMacShortcuts ? tr("Meta+G,Meta+B") : tr("Alt+G,Alt+B")));
QKeySequence(useMacShortcuts ? Tr::tr("Meta+G,Meta+B") : Tr::tr("Alt+G,Alt+B")));
currentFileMenu->addSeparator(context);
createFileAction(currentFileMenu, tr("Stage File for Commit"), tr("Stage \"%1\" for Commit"),
createFileAction(currentFileMenu, Tr::tr("Stage File for Commit"), Tr::tr("Stage \"%1\" for Commit"),
"Git.Stage", context, true, std::bind(&GitPluginPrivate::stageFile, this),
QKeySequence(useMacShortcuts ? tr("Meta+G,Meta+A") : tr("Alt+G,Alt+A")));
QKeySequence(useMacShortcuts ? Tr::tr("Meta+G,Meta+A") : Tr::tr("Alt+G,Alt+A")));
createFileAction(currentFileMenu, tr("Unstage File from Commit"), tr("Unstage \"%1\" from Commit"),
createFileAction(currentFileMenu, Tr::tr("Unstage File from Commit"), Tr::tr("Unstage \"%1\" from Commit"),
"Git.Unstage", context, true, std::bind(&GitPluginPrivate::unstageFile, this));
createFileAction(currentFileMenu, tr("Undo Unstaged Changes"), tr("Undo Unstaged Changes for \"%1\""),
createFileAction(currentFileMenu, Tr::tr("Undo Unstaged Changes"), Tr::tr("Undo Unstaged Changes for \"%1\""),
"Git.UndoUnstaged", context,
true, std::bind(&GitPluginPrivate::undoFileChanges, this, false));
createFileAction(currentFileMenu, tr("Undo Uncommitted Changes"), tr("Undo Uncommitted Changes for \"%1\""),
createFileAction(currentFileMenu, Tr::tr("Undo Uncommitted Changes"), Tr::tr("Undo Uncommitted Changes for \"%1\""),
"Git.Undo", context,
true, std::bind(&GitPluginPrivate::undoFileChanges, this, true),
QKeySequence(useMacShortcuts ? tr("Meta+G,Meta+U") : tr("Alt+G,Alt+U")));
QKeySequence(useMacShortcuts ? Tr::tr("Meta+G,Meta+U") : Tr::tr("Alt+G,Alt+U")));
/* "Current Project" menu */
ActionContainer *currentProjectMenu = ActionManager::createMenu("Git.CurrentProjectMenu");
currentProjectMenu->menu()->setTitle(tr("Current &Project"));
currentProjectMenu->menu()->setTitle(Tr::tr("Current &Project"));
gitContainer->addMenu(currentProjectMenu);
createProjectAction(currentProjectMenu, tr("Diff Current Project", "Avoid translating \"Diff\""),
tr("Diff Project \"%1\"", "Avoid translating \"Diff\""),
createProjectAction(currentProjectMenu, Tr::tr("Diff Current Project", "Avoid translating \"Diff\""),
Tr::tr("Diff Project \"%1\"", "Avoid translating \"Diff\""),
"Git.DiffProject", context, true, &GitPluginPrivate::diffCurrentProject,
QKeySequence(useMacShortcuts ? tr("Meta+G,Meta+Shift+D") : tr("Alt+G,Alt+Shift+D")));
QKeySequence(useMacShortcuts ? Tr::tr("Meta+G,Meta+Shift+D") : Tr::tr("Alt+G,Alt+Shift+D")));
createProjectAction(currentProjectMenu, tr("Log Project", "Avoid translating \"Log\""),
tr("Log Project \"%1\"", "Avoid translating \"Log\""),
createProjectAction(currentProjectMenu, Tr::tr("Log Project", "Avoid translating \"Log\""),
Tr::tr("Log Project \"%1\"", "Avoid translating \"Log\""),
"Git.LogProject", context, true, &GitPluginPrivate::logProject,
QKeySequence(useMacShortcuts ? tr("Meta+G,Meta+K") : tr("Alt+G,Alt+K")));
QKeySequence(useMacShortcuts ? Tr::tr("Meta+G,Meta+K") : Tr::tr("Alt+G,Alt+K")));
createProjectAction(currentProjectMenu, tr("Clean Project...", "Avoid translating \"Clean\""),
tr("Clean Project \"%1\"...", "Avoid translating \"Clean\""),
createProjectAction(currentProjectMenu, Tr::tr("Clean Project...", "Avoid translating \"Clean\""),
Tr::tr("Clean Project \"%1\"...", "Avoid translating \"Clean\""),
"Git.CleanProject", context, true, &GitPluginPrivate::cleanProject);
/* "Local Repository" menu */
ActionContainer *localRepositoryMenu = ActionManager::createMenu("Git.LocalRepositoryMenu");
localRepositoryMenu->menu()->setTitle(tr("&Local Repository"));
localRepositoryMenu->menu()->setTitle(Tr::tr("&Local Repository"));
gitContainer->addMenu(localRepositoryMenu);
createRepositoryAction(localRepositoryMenu, "Diff", "Git.DiffRepository",
@@ -739,16 +739,16 @@ GitPluginPrivate::GitPluginPrivate()
createRepositoryAction(localRepositoryMenu, "Commit...", "Git.Commit",
context, true, std::bind(&GitPluginPrivate::startCommit, this, SimpleCommit),
QKeySequence(useMacShortcuts ? tr("Meta+G,Meta+C") : tr("Alt+G,Alt+C")));
QKeySequence(useMacShortcuts ? Tr::tr("Meta+G,Meta+C") : Tr::tr("Alt+G,Alt+C")));
createRepositoryAction(localRepositoryMenu,
tr("Amend Last Commit...", "Avoid translating \"Commit\""),
Tr::tr("Amend Last Commit...", "Avoid translating \"Commit\""),
"Git.AmendCommit",
context, true, std::bind(&GitPluginPrivate::startCommit, this, AmendCommit));
m_fixupCommitAction
= createRepositoryAction(localRepositoryMenu,
tr("Fixup Previous Commit...", "Avoid translating \"Commit\""),
Tr::tr("Fixup Previous Commit...", "Avoid translating \"Commit\""),
"Git.FixupCommit", context, true,
std::bind(&GitPluginPrivate::startCommit, this, FixupCommit));
@@ -758,18 +758,18 @@ GitPluginPrivate::GitPluginPrivate()
createRepositoryAction(localRepositoryMenu, "Reset...", "Git.Reset",
context, true, std::bind(&GitPluginPrivate::resetRepository, this));
createRepositoryAction(localRepositoryMenu, tr("Recover Deleted Files"), "Git.RecoverDeleted",
createRepositoryAction(localRepositoryMenu, Tr::tr("Recover Deleted Files"), "Git.RecoverDeleted",
context, true, std::bind(&GitPluginPrivate::recoverDeletedFiles, this));
m_interactiveRebaseAction
= createRepositoryAction(localRepositoryMenu,
tr("Interactive Rebase...", "Avoid translating \"Rebase\""),
Tr::tr("Interactive Rebase...", "Avoid translating \"Rebase\""),
"Git.InteractiveRebase",
context, true, std::bind(&GitPluginPrivate::startRebase, this));
m_submoduleUpdateAction
= createRepositoryAction(localRepositoryMenu,
tr("Update Submodules"), "Git.SubmoduleUpdate",
Tr::tr("Update Submodules"), "Git.SubmoduleUpdate",
context, true, std::bind(&GitPluginPrivate::updateSubmodules, this));
auto createAction = [=](const QString &text, Id id,
@@ -787,34 +787,34 @@ GitPluginPrivate::GitPluginPrivate()
return createRepositoryAction(localRepositoryMenu, text, id, context, true, actionHandler);
};
m_abortMergeAction = createAction(tr("Abort Merge", "Avoid translating \"Merge\""), "Git.MergeAbort",
m_abortMergeAction = createAction(Tr::tr("Abort Merge", "Avoid translating \"Merge\""), "Git.MergeAbort",
std::bind(&GitClient::synchronousMerge, &m_gitClient, _1, QString("--abort"), true));
m_abortRebaseAction = createAction(tr("Abort Rebase", "Avoid translating \"Rebase\""), "Git.RebaseAbort",
m_abortRebaseAction = createAction(Tr::tr("Abort Rebase", "Avoid translating \"Rebase\""), "Git.RebaseAbort",
std::bind(&GitClient::rebase, &m_gitClient, _1, QString("--abort")));
m_continueRebaseAction = createAction(tr("Continue Rebase"), "Git.RebaseContinue",
m_continueRebaseAction = createAction(Tr::tr("Continue Rebase"), "Git.RebaseContinue",
std::bind(&GitClient::rebase, &m_gitClient, _1, QString("--continue")));
m_skipRebaseAction = createAction(tr("Skip Rebase"), "Git.RebaseSkip",
m_skipRebaseAction = createAction(Tr::tr("Skip Rebase"), "Git.RebaseSkip",
std::bind(&GitClient::rebase, &m_gitClient, _1, QString("--skip")));
m_abortCherryPickAction = createAction(tr("Abort Cherry Pick", "Avoid translating \"Cherry Pick\""), "Git.CherryPickAbort",
m_abortCherryPickAction = createAction(Tr::tr("Abort Cherry Pick", "Avoid translating \"Cherry Pick\""), "Git.CherryPickAbort",
std::bind(&GitClient::synchronousCherryPick, &m_gitClient, _1, QString("--abort")));
m_continueCherryPickAction = createAction(tr("Continue Cherry Pick"), "Git.CherryPickContinue",
m_continueCherryPickAction = createAction(Tr::tr("Continue Cherry Pick"), "Git.CherryPickContinue",
std::bind(&GitClient::cherryPick, &m_gitClient, _1, QString("--continue")));
m_abortRevertAction = createAction(tr("Abort Revert", "Avoid translating \"Revert\""), "Git.RevertAbort",
m_abortRevertAction = createAction(Tr::tr("Abort Revert", "Avoid translating \"Revert\""), "Git.RevertAbort",
std::bind(&GitClient::synchronousRevert, &m_gitClient, _1, QString("--abort")));
m_continueRevertAction = createAction(tr("Continue Revert"), "Git.RevertContinue",
m_continueRevertAction = createAction(Tr::tr("Continue Revert"), "Git.RevertContinue",
std::bind(&GitClient::revert, &m_gitClient, _1, QString("--continue")));
// --------------
localRepositoryMenu->addSeparator(context);
createRepositoryAction(localRepositoryMenu, tr("Branches..."), "Git.BranchList",
createRepositoryAction(localRepositoryMenu, Tr::tr("Branches..."), "Git.BranchList",
context, true, std::bind(&GitPluginPrivate::branchList, this));
// --------------
@@ -822,21 +822,21 @@ GitPluginPrivate::GitPluginPrivate()
// "Patch" menu
ActionContainer *patchMenu = ActionManager::createMenu("Git.PatchMenu");
patchMenu->menu()->setTitle(tr("&Patch"));
patchMenu->menu()->setTitle(Tr::tr("&Patch"));
localRepositoryMenu->addMenu(patchMenu);
// Apply current file as patch is handled specially.
m_applyCurrentFilePatchAction
= createParameterAction(patchMenu,
tr("Apply from Editor"), tr("Apply \"%1\""),
Tr::tr("Apply from Editor"), Tr::tr("Apply \"%1\""),
"Git.ApplyCurrentFilePatch",
context, true, std::bind(&GitPluginPrivate::applyCurrentFilePatch, this));
createRepositoryAction(patchMenu, tr("Apply from File..."), "Git.ApplyPatch",
createRepositoryAction(patchMenu, Tr::tr("Apply from File..."), "Git.ApplyPatch",
context, true, std::bind(&GitPluginPrivate::promptApplyPatch, this));
// "Stash" menu
ActionContainer *stashMenu = ActionManager::createMenu("Git.StashMenu");
stashMenu->menu()->setTitle(tr("&Stash"));
stashMenu->menu()->setTitle(Tr::tr("&Stash"));
localRepositoryMenu->addMenu(stashMenu);
createRepositoryAction(stashMenu, "Stashes...", "Git.StashList",
@@ -846,24 +846,24 @@ GitPluginPrivate::GitPluginPrivate()
QAction *action = createRepositoryAction(stashMenu, "Stash", "Git.Stash",
context, true, std::bind(&GitPluginPrivate::stash, this, false));
action->setToolTip(tr("Saves the current state of your work and resets the repository."));
action->setToolTip(Tr::tr("Saves the current state of your work and resets the repository."));
action = createRepositoryAction(stashMenu, tr("Stash Unstaged Files", "Avoid translating \"Stash\""),
action = createRepositoryAction(stashMenu, Tr::tr("Stash Unstaged Files", "Avoid translating \"Stash\""),
"Git.StashUnstaged",
context, true, std::bind(&GitPluginPrivate::stashUnstaged, this));
action->setToolTip(tr("Saves the current state of your unstaged files and resets the repository "
action->setToolTip(Tr::tr("Saves the current state of your unstaged files and resets the repository "
"to its staged state."));
action = createRepositoryAction(stashMenu, tr("Take Snapshot..."), "Git.StashSnapshot",
action = createRepositoryAction(stashMenu, Tr::tr("Take Snapshot..."), "Git.StashSnapshot",
context, true, std::bind(&GitPluginPrivate::stashSnapshot, this));
action->setToolTip(tr("Saves the current state of your work."));
action->setToolTip(Tr::tr("Saves the current state of your work."));
stashMenu->addSeparator(context);
action = createRepositoryAction(stashMenu, tr("Stash Pop", "Avoid translating \"Stash\""),
action = createRepositoryAction(stashMenu, Tr::tr("Stash Pop", "Avoid translating \"Stash\""),
"Git.StashPop",
context, true, std::bind(&GitPluginPrivate::stashPop, this));
action->setToolTip(tr("Restores changes saved to the stash list using \"Stash\"."));
action->setToolTip(Tr::tr("Restores changes saved to the stash list using \"Stash\"."));
/* \"Local Repository" menu */
@@ -872,7 +872,7 @@ GitPluginPrivate::GitPluginPrivate()
/* "Remote Repository" menu */
ActionContainer *remoteRepositoryMenu = ActionManager::createMenu("Git.RemoteRepositoryMenu");
remoteRepositoryMenu->menu()->setTitle(tr("&Remote Repository"));
remoteRepositoryMenu->menu()->setTitle(Tr::tr("&Remote Repository"));
gitContainer->addMenu(remoteRepositoryMenu);
createRepositoryAction(remoteRepositoryMenu, "Fetch", "Git.Fetch",
@@ -889,7 +889,7 @@ GitPluginPrivate::GitPluginPrivate()
// "Subversion" menu
ActionContainer *subversionMenu = ActionManager::createMenu("Git.Subversion");
subversionMenu->menu()->setTitle(tr("&Subversion"));
subversionMenu->menu()->setTitle(Tr::tr("&Subversion"));
remoteRepositoryMenu->addMenu(subversionMenu);
createRepositoryAction(subversionMenu, "Log", "Git.Subversion.Log",
@@ -898,13 +898,13 @@ GitPluginPrivate::GitPluginPrivate()
createRepositoryAction(subversionMenu, "Fetch", "Git.Subversion.Fetch",
context, false, &GitClient::synchronousSubversionFetch);
createRepositoryAction(subversionMenu, tr("DCommit"), "Git.Subversion.DCommit",
createRepositoryAction(subversionMenu, Tr::tr("DCommit"), "Git.Subversion.DCommit",
context, false, &GitClient::subversionDeltaCommit);
// --------------
remoteRepositoryMenu->addSeparator(context);
createRepositoryAction(remoteRepositoryMenu, tr("Manage Remotes..."), "Git.RemoteList",
createRepositoryAction(remoteRepositoryMenu, Tr::tr("Manage Remotes..."), "Git.RemoteList",
context, false, std::bind(&GitPluginPrivate::manageRemotes, this));
/* \"Remote Repository" menu */
@@ -916,7 +916,7 @@ GitPluginPrivate::GitPluginPrivate()
createChangeRelatedRepositoryAction("Revert...", "Git.Revert", context);
createChangeRelatedRepositoryAction("Cherry Pick...", "Git.CherryPick", context);
createChangeRelatedRepositoryAction("Checkout...", "Git.Checkout", context);
createChangeRelatedRepositoryAction(tr("Archive..."), "Git.Archive", context);
createChangeRelatedRepositoryAction(Tr::tr("Archive..."), "Git.Archive", context);
createRepositoryAction(nullptr, "Rebase...", "Git.Rebase", context, true,
std::bind(&GitPluginPrivate::branchList, this));
@@ -928,22 +928,22 @@ GitPluginPrivate::GitPluginPrivate()
/* "Git Tools" menu */
ActionContainer *gitToolsMenu = ActionManager::createMenu("Git.GitToolsMenu");
gitToolsMenu->menu()->setTitle(tr("Git &Tools"));
gitToolsMenu->menu()->setTitle(Tr::tr("Git &Tools"));
gitContainer->addMenu(gitToolsMenu);
createRepositoryAction(gitToolsMenu, tr("Gitk"), "Git.LaunchGitK",
createRepositoryAction(gitToolsMenu, Tr::tr("Gitk"), "Git.LaunchGitK",
context, true, &GitClient::launchGitK);
createFileAction(gitToolsMenu, tr("Gitk Current File"), tr("Gitk of \"%1\""),
createFileAction(gitToolsMenu, Tr::tr("Gitk Current File"), Tr::tr("Gitk of \"%1\""),
"Git.GitkFile", context, true, std::bind(&GitPluginPrivate::gitkForCurrentFile, this));
createFileAction(gitToolsMenu, tr("Gitk for folder of Current File"), tr("Gitk for folder of \"%1\""),
createFileAction(gitToolsMenu, Tr::tr("Gitk for folder of Current File"), Tr::tr("Gitk for folder of \"%1\""),
"Git.GitkFolder", context, true, std::bind(&GitPluginPrivate::gitkForCurrentFolder, this));
// --------------
gitToolsMenu->addSeparator(context);
createRepositoryAction(gitToolsMenu, tr("Git Gui"), "Git.GitGui",
createRepositoryAction(gitToolsMenu, Tr::tr("Git Gui"), "Git.GitGui",
context, true, std::bind(&GitPluginPrivate::gitGui, this));
// --------------
@@ -951,18 +951,18 @@ GitPluginPrivate::GitPluginPrivate()
m_repositoryBrowserAction
= createRepositoryAction(gitToolsMenu,
tr("Repository Browser"), "Git.LaunchRepositoryBrowser",
Tr::tr("Repository Browser"), "Git.LaunchRepositoryBrowser",
context, true, &GitClient::launchRepositoryBrowser);
m_mergeToolAction
= createRepositoryAction(gitToolsMenu, tr("Merge Tool"), "Git.MergeTool",
= createRepositoryAction(gitToolsMenu, Tr::tr("Merge Tool"), "Git.MergeTool",
context, true, std::bind(&GitPluginPrivate::startMergeTool, this));
// --------------
if (HostOsInfo::isWindowsHost()) {
gitToolsMenu->addSeparator(context);
createRepositoryAction(gitToolsMenu, tr("Git Bash"), "Git.GitBash",
createRepositoryAction(gitToolsMenu, Tr::tr("Git Bash"), "Git.GitBash",
context, true, std::bind(&GitPluginPrivate::gitBash, this));
}
@@ -971,14 +971,14 @@ GitPluginPrivate::GitPluginPrivate()
// --------------
gitContainer->addSeparator(context);
QAction *actionsOnCommitsAction = new QAction(tr("Actions on Commits..."), this);
QAction *actionsOnCommitsAction = new QAction(Tr::tr("Actions on Commits..."), this);
Command *actionsOnCommitsCommand = ActionManager::registerAction(
actionsOnCommitsAction, "Git.ChangeActions");
connect(actionsOnCommitsAction, &QAction::triggered, this,
[this] { startChangeRelatedAction("Git.ChangeActions"); });
gitContainer->addAction(actionsOnCommitsCommand);
QAction *createRepositoryAction = new QAction(tr("Create Repository..."), this);
QAction *createRepositoryAction = new QAction(Tr::tr("Create Repository..."), this);
Command *createRepositoryCommand = ActionManager::registerAction(
createRepositoryAction, "Git.CreateRepository");
connect(createRepositoryAction, &QAction::triggered, this, &GitPluginPrivate::createRepository);
@@ -1131,7 +1131,7 @@ void GitPluginPrivate::resetRepository()
LogChangeDialog dialog(true, ICore::dialogParent());
ResetItemDelegate delegate(dialog.widget());
dialog.setWindowTitle(tr("Undo Changes to %1").arg(topLevel.toUserOutput()));
dialog.setWindowTitle(Tr::tr("Undo Changes to %1").arg(topLevel.toUserOutput()));
if (dialog.runDialog(topLevel, {}, LogChangeWidget::IncludeRemotes))
m_gitClient.reset(topLevel, dialog.resetFlag(), dialog.commit());
}
@@ -1164,7 +1164,7 @@ void GitPluginPrivate::startRebaseFromCommit(const FilePath &workingDirectory, Q
if (commit.isEmpty()) {
LogChangeDialog dialog(false, ICore::dialogParent());
RebaseItemDelegate delegate(dialog.widget());
dialog.setWindowTitle(tr("Interactive Rebase"));
dialog.setWindowTitle(Tr::tr("Interactive Rebase"));
if (!dialog.runDialog(workingDirectory))
return;
commit = dialog.commit();
@@ -1299,7 +1299,7 @@ void GitPluginPrivate::startCommit(CommitType commitType)
if (raiseSubmitEditor())
return;
if (isCommitEditorOpen()) {
VcsOutputWindow::appendWarning(tr("Another submit is currently being executed."));
VcsOutputWindow::appendWarning(Tr::tr("Another submit is currently being executed."));
return;
}
@@ -1344,7 +1344,7 @@ void GitPluginPrivate::updateVersionWarning()
return;
infoBar->addInfo(
InfoBarEntry(gitVersionWarning,
tr("Unsupported version of Git found. Git %1 or later required.")
Tr::tr("Unsupported version of Git found. Git %1 or later required.")
.arg(versionString(minimumRequiredVersion)),
InfoBarEntry::GlobalSuppression::Enabled));
});
@@ -1362,13 +1362,13 @@ IEditor *GitPluginPrivate::openSubmitEditor(const QString &fileName, const Commi
QString title;
switch (cd.commitType) {
case AmendCommit:
title = tr("Amend %1").arg(cd.amendSHA1);
title = Tr::tr("Amend %1").arg(cd.amendSHA1);
break;
case FixupCommit:
title = tr("Git Fixup Commit");
title = Tr::tr("Git Fixup Commit");
break;
default:
title = tr("Git Commit");
title = Tr::tr("Git Commit");
}
IDocument *document = submitEditor->document();
document->setPreferredDisplayName(title);
@@ -1518,12 +1518,12 @@ void GitPluginPrivate::cleanRepository(const FilePath &directory)
QApplication::restoreOverrideCursor();
if (!gotFiles) {
AsynchronousMessageBox::warning(tr("Unable to Retrieve File List"), errorMessage);
AsynchronousMessageBox::warning(Tr::tr("Unable to Retrieve File List"), errorMessage);
return;
}
if (files.isEmpty() && ignoredFiles.isEmpty()) {
AsynchronousMessageBox::information(tr("Repository Clean"),
tr("The repository is clean."));
AsynchronousMessageBox::information(Tr::tr("Repository Clean"),
Tr::tr("The repository is clean."));
return;
}
@@ -1571,8 +1571,8 @@ void GitPluginPrivate::applyPatch(const FilePath &workingDirectory, QString file
return;
// Prompt for file
if (file.isEmpty()) {
const QString filter = tr("Patches (*.patch *.diff)");
file = QFileDialog::getOpenFileName(ICore::dialogParent(), tr("Choose Patch"), {}, filter);
const QString filter = Tr::tr("Patches (*.patch *.diff)");
file = QFileDialog::getOpenFileName(ICore::dialogParent(), Tr::tr("Choose Patch"), {}, filter);
if (file.isEmpty()) {
m_gitClient.endStashScope(workingDirectory);
return;
@@ -1582,7 +1582,7 @@ void GitPluginPrivate::applyPatch(const FilePath &workingDirectory, QString file
QString errorMessage;
if (m_gitClient.synchronousApplyPatch(workingDirectory, file, &errorMessage)) {
if (errorMessage.isEmpty())
VcsOutputWindow::appendMessage(tr("Patch %1 successfully applied to %2")
VcsOutputWindow::appendMessage(Tr::tr("Patch %1 successfully applied to %2")
.arg(file, workingDirectory.toUserOutput()));
else
VcsOutputWindow::appendError(errorMessage);
@@ -2099,13 +2099,11 @@ public:
bool m_isValid = true;
};
} // namespace Internal
} // namespace Git
} // Git::Internal
Q_DECLARE_METATYPE(Git::Internal::RemoteTest)
namespace Git {
namespace Internal {
namespace Git::Internal {
void GitPlugin::testGitRemote_data()
{
@@ -2189,7 +2187,6 @@ void GitPlugin::testGitRemote()
#endif
} // namespace Internal
} // namespace Git
} // Git::Internal
#include "gitplugin.moc"

View File

@@ -16,8 +16,7 @@
namespace VcsBase { class VcsBasePluginState; }
namespace Git {
namespace Internal {
namespace Git::Internal {
class GitClient;
@@ -67,5 +66,4 @@ private slots:
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -3,6 +3,8 @@
#include "gitsettings.h"
#include "gittr.h"
#include <utils/environment.h>
#include <utils/layoutbuilder.h>
@@ -13,22 +15,21 @@
using namespace Utils;
using namespace VcsBase;
namespace Git {
namespace Internal {
namespace Git::Internal {
GitSettings::GitSettings()
{
setSettingsGroup("Git");
path.setDisplayStyle(StringAspect::LineEditDisplay);
path.setLabelText(tr("Prepend to PATH:"));
path.setLabelText(Tr::tr("Prepend to PATH:"));
registerAspect(&binaryPath);
binaryPath.setDefaultValue("git");
registerAspect(&pullRebase);
pullRebase.setSettingsKey("PullRebase");
pullRebase.setLabelText(tr("Pull with rebase"));
pullRebase.setLabelText(Tr::tr("Pull with rebase"));
registerAspect(&showTags);
showTags.setSettingsKey("ShowTags");
@@ -55,16 +56,16 @@ GitSettings::GitSettings()
registerAspect(&winSetHomeEnvironment);
winSetHomeEnvironment.setSettingsKey("WinSetHomeEnvironment");
winSetHomeEnvironment.setDefaultValue(true);
winSetHomeEnvironment.setLabelText(tr("Set \"HOME\" environment variable"));
winSetHomeEnvironment.setLabelText(Tr::tr("Set \"HOME\" environment variable"));
if (HostOsInfo::isWindowsHost()) {
const QString currentHome = qtcEnvironmentVariable("HOME");
const QString toolTip
= tr("Set the environment variable HOME to \"%1\"\n(%2).\n"
= Tr::tr("Set the environment variable HOME to \"%1\"\n(%2).\n"
"This causes Git to look for the SSH-keys in that location\n"
"instead of its installation directory when run outside git bash.")
.arg(QDir::homePath(),
currentHome.isEmpty() ? tr("not currently set")
: tr("currently set to \"%1\"").arg(currentHome));
currentHome.isEmpty() ? Tr::tr("not currently set")
: Tr::tr("currently set to \"%1\"").arg(currentHome));
winSetHomeEnvironment.setToolTip(toolTip);
} else {
winSetHomeEnvironment.setVisible(false);
@@ -73,19 +74,19 @@ GitSettings::GitSettings()
registerAspect(&gitkOptions);
gitkOptions.setDisplayStyle(StringAspect::LineEditDisplay);
gitkOptions.setSettingsKey("GitKOptions");
gitkOptions.setLabelText(tr("Arguments:"));
gitkOptions.setLabelText(Tr::tr("Arguments:"));
registerAspect(&logDiff);
logDiff.setSettingsKey("LogDiff");
logDiff.setToolTip(tr("Note that huge amount of commits might take some time."));
logDiff.setToolTip(Tr::tr("Note that huge amount of commits might take some time."));
registerAspect(&repositoryBrowserCmd);
repositoryBrowserCmd.setDisplayStyle(StringAspect::PathChooserDisplay);
repositoryBrowserCmd.setSettingsKey("RepositoryBrowserCmd");
repositoryBrowserCmd.setExpectedKind(PathChooser::ExistingCommand);
repositoryBrowserCmd.setHistoryCompleter("Git.RepoCommand.History");
repositoryBrowserCmd.setDisplayName(tr("Git Repository Browser Command"));
repositoryBrowserCmd.setLabelText(tr("Command:"));
repositoryBrowserCmd.setDisplayName(Tr::tr("Git Repository Browser Command"));
repositoryBrowserCmd.setLabelText(Tr::tr("Command:"));
registerAspect(&graphLog);
graphLog.setSettingsKey("GraphLog");
@@ -126,7 +127,7 @@ FilePath GitSettings::gitExecutable(bool *ok, QString *errorMessage) const
if (ok)
*ok = false;
if (errorMessage)
*errorMessage = tr("The binary \"%1\" could not be located in the path \"%2\"")
*errorMessage = Tr::tr("The binary \"%1\" could not be located in the path \"%2\"")
.arg(binaryPath.value(), path.value());
}
return binPath;
@@ -137,7 +138,7 @@ FilePath GitSettings::gitExecutable(bool *ok, QString *errorMessage) const
GitSettingsPage::GitSettingsPage(GitSettings *settings)
{
setId(VcsBase::Constants::VCS_ID_GIT);
setDisplayName(GitSettings::tr("Git"));
setDisplayName(Tr::tr("Git"));
setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
setSettings(settings);
@@ -147,7 +148,7 @@ GitSettingsPage::GitSettingsPage(GitSettings *settings)
Column {
Group {
title(GitSettings::tr("Configuration")),
title(Tr::tr("Configuration")),
Column {
Row { s.path },
s.winSetHomeEnvironment,
@@ -155,7 +156,7 @@ GitSettingsPage::GitSettingsPage(GitSettings *settings)
},
Group {
title(GitSettings::tr("Miscellaneous")),
title(Tr::tr("Miscellaneous")),
Column {
Row { s.logCount, s.timeout, st },
s.pullRebase
@@ -163,12 +164,12 @@ GitSettingsPage::GitSettingsPage(GitSettings *settings)
},
Group {
title(GitSettings::tr("Gitk")),
title(Tr::tr("Gitk")),
Row { s.gitkOptions }
},
Group {
title(GitSettings::tr("Repository Browser")),
title(Tr::tr("Repository Browser")),
Row { s.repositoryBrowserCmd }
},
@@ -177,5 +178,4 @@ GitSettingsPage::GitSettingsPage(GitSettings *settings)
});
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -6,8 +6,7 @@
#include <coreplugin/dialogs/ioptionspage.h>
#include <vcsbase/vcsbaseclientsettings.h>
namespace Git {
namespace Internal {
namespace Git::Internal {
enum CommitType
{
@@ -19,8 +18,6 @@ enum CommitType
// Todo: Add user name and password?
class GitSettings : public VcsBase::VcsBaseSettings
{
Q_DECLARE_TR_FUNCTIONS(Git::Internal::GitSettings)
public:
GitSettings();
@@ -51,5 +48,4 @@ public:
explicit GitSettingsPage(GitSettings *settings);
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -2,9 +2,11 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "gitsubmiteditor.h"
#include "gitclient.h"
#include "gitplugin.h"
#include "gitsubmiteditorwidget.h"
#include "gittr.h"
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/iversioncontrol.h>
@@ -19,13 +21,12 @@
#include <QTextCodec>
#include <QTimer>
static const char TASK_UPDATE_COMMIT[] = "Git.UpdateCommit";
using namespace Utils;
using namespace VcsBase;
namespace Git {
namespace Internal {
namespace Git::Internal {
const char TASK_UPDATE_COMMIT[] = "Git.UpdateCommit";
class GitSubmitFileModel : public SubmitFileModel
{
@@ -206,7 +207,7 @@ void GitSubmitEditor::updateFileModel()
w->setUpdateInProgress(true);
m_fetchWatcher.setFuture(Utils::runAsync(&CommitDataFetchResult::fetch,
m_commitType, m_workingDirectory));
Core::ProgressManager::addTask(m_fetchWatcher.future(), tr("Refreshing Commit Data"),
Core::ProgressManager::addTask(m_fetchWatcher.future(), Tr::tr("Refreshing Commit Data"),
TASK_UPDATE_COMMIT);
GitClient::instance()->addFuture(QFuture<void>(m_fetchWatcher.future()));
@@ -262,5 +263,4 @@ QByteArray GitSubmitEditor::fileContents() const
return text.toUtf8();
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -14,8 +14,7 @@
namespace VcsBase { class SubmitFileModel; }
namespace Git {
namespace Internal {
namespace Git::Internal {
class GitSubmitEditorWidget;
class GitSubmitEditorPanelData;
@@ -65,5 +64,4 @@ private:
QFutureWatcher<CommitDataFetchResult> m_fetchWatcher;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -6,6 +6,7 @@
#include "commitdata.h"
#include "gitconstants.h"
#include "githighlighters.h"
#include "gittr.h"
#include "logchangedialog.h"
#include <coreplugin/coreconstants.h>
@@ -18,8 +19,6 @@
#include <QApplication>
#include <QCheckBox>
#include <QDir>
#include <QGroupBox>
#include <QGroupBox>
#include <QLabel>
#include <QLineEdit>
@@ -30,8 +29,7 @@
using namespace Utils;
namespace Git {
namespace Internal {
namespace Git::Internal {
class GitSubmitPanel : public QWidget
{
@@ -40,9 +38,9 @@ public:
{
resize(364, 269);
repositoryLabel = new QLabel(tr("repository"));
branchLabel = new QLabel(tr("branch")); // FIXME: Isn't this overwritten soon?
showHeadLabel = new QLabel(tr("<a href=\"head\">Show HEAD</a>")); // FIXME: Simplify string in tr()
repositoryLabel = new QLabel(Tr::tr("repository"));
branchLabel = new QLabel(Tr::tr("branch")); // FIXME: Isn't this overwritten soon?
showHeadLabel = new QLabel(Tr::tr("<a href=\"head\">Show HEAD</a>")); // FIXME: Simplify string in tr()
authorLineEdit = new QLineEdit;
authorLineEdit->setMinimumSize(QSize(200, 0));
@@ -56,25 +54,25 @@ public:
invalidEmailLabel = new QLabel;
invalidEmailLabel->setMinimumSize(QSize(20, 20));
bypassHooksCheckBox = new QCheckBox(tr("By&pass hooks"));
bypassHooksCheckBox = new QCheckBox(Tr::tr("By&pass hooks"));
signOffCheckBox = new QCheckBox(tr("Sign off"));
signOffCheckBox = new QCheckBox(Tr::tr("Sign off"));
using namespace Layouting;
editGroup = new QGroupBox(tr("Commit Information"));
editGroup = new QGroupBox(Tr::tr("Commit Information"));
Grid {
tr("Author:"), authorLineEdit, invalidAuthorLabel, st, br,
tr("Email:"), emailLineEdit, invalidEmailLabel, br,
Tr::tr("Author:"), authorLineEdit, invalidAuthorLabel, st, br,
Tr::tr("Email:"), emailLineEdit, invalidEmailLabel, br,
empty, Row { bypassHooksCheckBox, signOffCheckBox, st }
}.attachTo(editGroup);
Column {
Group {
title(tr("General Information")),
title(Tr::tr("General Information")),
Form {
tr("Repository:"), repositoryLabel, br,
tr("Branch:"), branchLabel, br,
Tr::tr("Repository:"), repositoryLabel, br,
Tr::tr("Branch:"), branchLabel, br,
Span(2, showHeadLabel)
}
},
@@ -103,7 +101,7 @@ GitSubmitEditorWidget::GitSubmitEditorWidget() :
m_emailValidator = new QRegularExpressionValidator(QRegularExpression("[^@ ]+@[^@ ]+\\.[a-zA-Z]+"), this);
const QPixmap error = Utils::Icons::CRITICAL.pixmap();
m_gitSubmitPanel->invalidAuthorLabel->setPixmap(error);
m_gitSubmitPanel->invalidEmailLabel->setToolTip(tr("Provide a valid email to commit."));
m_gitSubmitPanel->invalidEmailLabel->setToolTip(Tr::tr("Provide a valid email to commit."));
m_gitSubmitPanel->invalidEmailLabel->setPixmap(error);
connect(m_gitSubmitPanel->authorLineEdit, &QLineEdit::textChanged,
@@ -121,7 +119,7 @@ void GitSubmitEditorWidget::setPanelInfo(const GitSubmitEditorPanelInfo &info)
const QString errorColor =
Utils::creatorTheme()->color(Utils::Theme::TextColorError).name();
m_gitSubmitPanel->branchLabel->setText(QString::fromLatin1("<span style=\"color:%1\">%2</span>")
.arg(errorColor, tr("Detached HEAD")));
.arg(errorColor, Tr::tr("Detached HEAD")));
} else {
m_gitSubmitPanel->branchLabel->setText(info.branch);
}
@@ -145,7 +143,7 @@ void GitSubmitEditorWidget::initialize(const FilePath &repository, const CommitD
if (data.commitType != AmendCommit)
m_gitSubmitPanel->showHeadLabel->hide();
if (data.commitType == FixupCommit) {
auto logChangeGroupBox = new QGroupBox(tr("Select Change"));
auto logChangeGroupBox = new QGroupBox(Tr::tr("Select Change"));
auto logChangeLayout = new QVBoxLayout;
logChangeGroupBox->setLayout(logChangeLayout);
m_logChangeWidget = new LogChangeWidget;
@@ -166,11 +164,11 @@ void GitSubmitEditorWidget::initialize(const FilePath &repository, const CommitD
if (data.enablePush) {
auto menu = new QMenu(this);
connect(menu->addAction(tr("&Commit only")), &QAction::triggered,
connect(menu->addAction(Tr::tr("&Commit only")), &QAction::triggered,
this, &GitSubmitEditorWidget::commitOnlySlot);
connect(menu->addAction(tr("Commit and &Push")), &QAction::triggered,
connect(menu->addAction(Tr::tr("Commit and &Push")), &QAction::triggered,
this, &GitSubmitEditorWidget::commitAndPushSlot);
connect(menu->addAction(tr("Commit and Push to &Gerrit")), &QAction::triggered,
connect(menu->addAction(Tr::tr("Commit and Push to &Gerrit")), &QAction::triggered,
this, &GitSubmitEditorWidget::commitAndPushToGerritSlot);
addSubmitButtonMenu(menu);
}
@@ -212,17 +210,17 @@ bool GitSubmitEditorWidget::canSubmit(QString *whyNot) const
{
if (m_gitSubmitPanel->invalidAuthorLabel->isVisible()) {
if (whyNot)
*whyNot = tr("Invalid author");
*whyNot = Tr::tr("Invalid author");
return false;
}
if (m_gitSubmitPanel->invalidEmailLabel->isVisible()) {
if (whyNot)
*whyNot = tr("Invalid email");
*whyNot = Tr::tr("Invalid email");
return false;
}
if (m_hasUnmerged) {
if (whyNot)
*whyNot = tr("Unresolved merge conflicts");
*whyNot = Tr::tr("Unresolved merge conflicts");
return false;
}
return SubmitEditorWidget::canSubmit(whyNot);
@@ -250,11 +248,11 @@ QString GitSubmitEditorWidget::cleanupDescription(const QString &input) const
QString GitSubmitEditorWidget::commitName() const
{
if (m_pushAction == NormalPush)
return tr("&Commit and Push");
return Tr::tr("&Commit and Push");
else if (m_pushAction == PushToGerrit)
return tr("&Commit and Push to Gerrit");
return Tr::tr("&Commit and Push to Gerrit");
return tr("&Commit");
return Tr::tr("&Commit");
}
void GitSubmitEditorWidget::authorInformationChanged()
@@ -295,5 +293,4 @@ bool GitSubmitEditorWidget::emailIsValid() const
return m_emailValidator->validate(text, pos) == QValidator::Acceptable;
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -3,7 +3,6 @@
#pragma once
#include "gitsettings.h"
#include "commitdata.h"
#include <texteditor/syntaxhighlighter.h>
@@ -16,8 +15,7 @@ QT_BEGIN_NAMESPACE
class QValidator;
QT_END_NAMESPACE
namespace Git {
namespace Internal {
namespace Git::Internal {
class GitSubmitPanel;
class GitSubmitEditorPanelInfo;
@@ -75,5 +73,4 @@ private:
bool m_isInitialized = false;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -6,8 +6,7 @@
#include <QInputDialog>
#include <QLineEdit>
namespace Git {
namespace Internal {
namespace Git::Internal {
void Stash::clear()
{
@@ -72,5 +71,4 @@ QString versionString(unsigned ver)
.arg(versionPart(ver));
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -9,10 +9,10 @@ QT_BEGIN_NAMESPACE
class QWidget;
QT_END_NAMESPACE
namespace Git {
namespace Internal {
namespace Git::Internal {
class Stash {
class Stash
{
public:
void clear();
bool parseStashLine(const QString &l);
@@ -33,5 +33,4 @@ inline unsigned version(unsigned major, unsigned minor, unsigned patch)
QString versionString(unsigned ver);
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -2,7 +2,9 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "logchangedialog.h"
#include "gitclient.h"
#include "gittr.h"
#include <vcsbase/vcscommand.h>
#include <vcsbase/vcsoutputwindow.h>
@@ -23,8 +25,7 @@
using namespace Utils;
using namespace VcsBase;
namespace Git {
namespace Internal {
namespace Git::Internal {
enum Columns
{
@@ -65,7 +66,7 @@ LogChangeWidget::LogChangeWidget(QWidget *parent)
, m_hasCustomDelegate(false)
{
QStringList headers;
headers << tr("Sha1")<< tr("Subject");
headers << Tr::tr("Sha1")<< Tr::tr("Subject");
m_model->setHorizontalHeaderLabels(headers);
setModel(m_model);
setMinimumWidth(300);
@@ -214,15 +215,15 @@ LogChangeDialog::LogChangeDialog(bool isReset, QWidget *parent) :
, m_dialogButtonBox(new QDialogButtonBox(this))
{
auto layout = new QVBoxLayout(this);
layout->addWidget(new QLabel(isReset ? tr("Reset to:") : tr("Select change:"), this));
layout->addWidget(new QLabel(isReset ? Tr::tr("Reset to:") : Tr::tr("Select change:"), this));
layout->addWidget(m_widget);
auto popUpLayout = new QHBoxLayout;
if (isReset) {
popUpLayout->addWidget(new QLabel(tr("Reset type:"), this));
popUpLayout->addWidget(new QLabel(Tr::tr("Reset type:"), this));
m_resetTypeComboBox = new QComboBox(this);
m_resetTypeComboBox->addItem(tr("Hard"), "--hard");
m_resetTypeComboBox->addItem(tr("Mixed"), "--mixed");
m_resetTypeComboBox->addItem(tr("Soft"), "--soft");
m_resetTypeComboBox->addItem(Tr::tr("Hard"), "--hard");
m_resetTypeComboBox->addItem(Tr::tr("Mixed"), "--mixed");
m_resetTypeComboBox->addItem(Tr::tr("Soft"), "--soft");
m_resetTypeComboBox->setCurrentIndex(GitClient::settings().lastResetIndex.value());
popUpLayout->addWidget(m_resetTypeComboBox);
popUpLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Ignored));
@@ -306,5 +307,4 @@ void IconItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
QStyledItemDelegate::paint(painter, o, index);
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -18,8 +18,7 @@ class QStandardItemModel;
class QStandardItem;
QT_END_NAMESPACE
namespace Git {
namespace Internal {
namespace Git::Internal {
class LogChangeModel;
@@ -65,8 +64,6 @@ private:
class LogChangeDialog : public QDialog
{
Q_OBJECT
public:
LogChangeDialog(bool isReset, QWidget *parent);
@@ -109,5 +106,4 @@ private:
QIcon m_icon;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -2,8 +2,10 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "mergetool.h"
#include "gitclient.h"
#include "gitplugin.h"
#include "gittr.h"
#include <coreplugin/documentmanager.h>
#include <coreplugin/icore.h>
@@ -17,8 +19,7 @@
using namespace Utils;
using namespace VcsBase;
namespace Git {
namespace Internal {
namespace Git::Internal {
MergeTool::MergeTool(QObject *parent) : QObject(parent)
{
@@ -88,10 +89,10 @@ static MergeTool::MergeType mergeType(const QString &type)
QString MergeTool::mergeTypeName()
{
switch (m_mergeType) {
case NormalMerge: return tr("Normal");
case SubmoduleMerge: return tr("Submodule");
case DeletedMerge: return tr("Deleted");
case SymbolicLinkMerge: return tr("Symbolic link");
case NormalMerge: return Tr::tr("Normal");
case SubmoduleMerge: return Tr::tr("Submodule");
case DeletedMerge: return Tr::tr("Deleted");
case SymbolicLinkMerge: return Tr::tr("Symbolic link");
}
return QString();
}
@@ -99,11 +100,11 @@ QString MergeTool::mergeTypeName()
QString MergeTool::stateName(MergeTool::FileState state, const QString &extraInfo)
{
switch (state) {
case ModifiedState: return tr("Modified");
case CreatedState: return tr("Created");
case DeletedState: return tr("Deleted");
case SubmoduleState: return tr("Submodule commit %1").arg(extraInfo);
case SymbolicLinkState: return tr("Symbolic link -> %1").arg(extraInfo);
case ModifiedState: return Tr::tr("Modified");
case CreatedState: return Tr::tr("Created");
case DeletedState: return Tr::tr("Deleted");
case SubmoduleState: return Tr::tr("Submodule commit %1").arg(extraInfo);
case SymbolicLinkState: return Tr::tr("Symbolic link -> %1").arg(extraInfo);
default: break;
}
return QString();
@@ -114,25 +115,25 @@ void MergeTool::chooseAction()
if (m_mergeType == NormalMerge)
return;
QMessageBox msgBox;
msgBox.setWindowTitle(tr("Merge Conflict"));
msgBox.setWindowTitle(Tr::tr("Merge Conflict"));
msgBox.setIcon(QMessageBox::Question);
msgBox.setStandardButtons(QMessageBox::Abort);
msgBox.setText(tr("%1 merge conflict for \"%2\"\nLocal: %3\nRemote: %4")
msgBox.setText(Tr::tr("%1 merge conflict for \"%2\"\nLocal: %3\nRemote: %4")
.arg(mergeTypeName(), m_fileName,
stateName(m_localState, m_localInfo),
stateName(m_remoteState, m_remoteInfo)));
switch (m_mergeType) {
case SubmoduleMerge:
case SymbolicLinkMerge:
addButton(&msgBox, tr("&Local"), 'l');
addButton(&msgBox, tr("&Remote"), 'r');
addButton(&msgBox, Tr::tr("&Local"), 'l');
addButton(&msgBox, Tr::tr("&Remote"), 'r');
break;
case DeletedMerge:
if (m_localState == CreatedState || m_remoteState == CreatedState)
addButton(&msgBox, tr("&Created"), 'c');
addButton(&msgBox, Tr::tr("&Created"), 'c');
else
addButton(&msgBox, tr("&Modified"), 'm');
addButton(&msgBox, tr("&Deleted"), 'd');
addButton(&msgBox, Tr::tr("&Modified"), 'm');
addButton(&msgBox, Tr::tr("&Deleted"), 'd');
break;
default:
break;
@@ -182,15 +183,15 @@ void MergeTool::readData()
data = data.mid(index + 1);
}
if (data.startsWith("Was the merge successful")) {
prompt(tr("Unchanged File"), tr("Was the merge successful?"));
prompt(Tr::tr("Unchanged File"), Tr::tr("Was the merge successful?"));
} else if (data.startsWith("Continue merging")) {
prompt(tr("Continue Merging"), tr("Continue merging other unresolved paths?"));
prompt(Tr::tr("Continue Merging"), Tr::tr("Continue merging other unresolved paths?"));
} else if (data.startsWith("Hit return")) {
QMessageBox::warning(
Core::ICore::dialogParent(), tr("Merge Tool"),
Core::ICore::dialogParent(), Tr::tr("Merge Tool"),
QString("<html><body><p>%1</p>\n<p>%2</p></body></html>").arg(
tr("Merge tool is not configured."),
tr("Run git config --global merge.tool &lt;tool&gt; "
Tr::tr("Merge tool is not configured."),
Tr::tr("Run git config --global merge.tool &lt;tool&gt; "
"to configure it, then try again.")));
m_process.stop();
} else {
@@ -234,5 +235,4 @@ void MergeTool::write(const QString &str)
VcsOutputWindow::append(str);
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -12,13 +12,10 @@ QT_BEGIN_NAMESPACE
class QMessageBox;
QT_END_NAMESPACE
namespace Git {
namespace Internal {
namespace Git::Internal {
class MergeTool : public QObject
{
Q_OBJECT
enum FileState {
UnknownState,
ModifiedState,
@@ -62,5 +59,4 @@ private:
QString m_unfinishedLine;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -5,6 +5,7 @@
#include "gitclient.h"
#include "gitplugin.h"
#include "gittr.h"
#include "remotemodel.h"
#include <utils/fancylineedit.h>
@@ -27,8 +28,7 @@
using namespace Utils;
namespace Git {
namespace Internal {
namespace Git::Internal {
// --------------------------------------------------------------------------
// RemoteAdditionDialog:
@@ -65,7 +65,7 @@ public:
if (m_remoteNames.contains(input)) {
if (errorMessage)
*errorMessage = RemoteDialog::tr("A remote with the name \"%1\" already exists.").arg(input);
*errorMessage = Tr::tr("A remote with the name \"%1\" already exists.").arg(input);
return false;
}
@@ -81,7 +81,7 @@ public:
const GitRemote r(edit->text());
if (!r.isValid && errorMessage)
*errorMessage = RemoteDialog::tr("The URL may not be valid.");
*errorMessage = Tr::tr("The URL may not be valid.");
return r.isValid;
});
@@ -91,8 +91,8 @@ public:
using namespace Layouting;
Grid {
tr("Name:"), m_nameEdit, br,
tr("URL:"), m_urlEdit, br,
Tr::tr("Name:"), m_nameEdit, br,
Tr::tr("URL:"), m_urlEdit, br,
Span(2, buttonBox)
}.attachTo(this);
@@ -134,11 +134,11 @@ RemoteDialog::RemoteDialog(QWidget *parent) :
{
setModal(false);
setAttribute(Qt::WA_DeleteOnClose, true); // Do not update unnecessarily
setWindowTitle(tr("Remotes"));
setWindowTitle(Tr::tr("Remotes"));
m_repositoryLabel = new QLabel;
auto refreshButton = new QPushButton(tr("Re&fresh"));
auto refreshButton = new QPushButton(Tr::tr("Re&fresh"));
refreshButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
m_remoteView = new QTreeView;
@@ -151,14 +151,14 @@ RemoteDialog::RemoteDialog(QWidget *parent) :
m_remoteView->setModel(m_remoteModel);
new HeaderViewStretcher(m_remoteView->header(), 1);
m_addButton = new QPushButton(tr("&Add..."));
m_addButton = new QPushButton(Tr::tr("&Add..."));
m_addButton->setAutoDefault(false);
m_fetchButton = new QPushButton(tr("F&etch"));
m_fetchButton = new QPushButton(Tr::tr("F&etch"));
m_pushButton = new QPushButton(tr("&Push"));
m_pushButton = new QPushButton(Tr::tr("&Push"));
m_removeButton = new QPushButton(tr("&Remove"));
m_removeButton = new QPushButton(Tr::tr("&Remove"));
m_removeButton->setAutoDefault(false);
auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Close);
@@ -169,7 +169,7 @@ RemoteDialog::RemoteDialog(QWidget *parent) :
Row { m_repositoryLabel, refreshButton }
},
Group {
title(tr("Remotes")),
title(Tr::tr("Remotes")),
Column {
m_remoteView,
Row { st, m_addButton, m_fetchButton, m_pushButton, m_removeButton }
@@ -233,8 +233,8 @@ void RemoteDialog::removeRemote()
int row = indexList.at(0).row();
const QString remoteName = m_remoteModel->remoteName(row);
if (QMessageBox::question(this, tr("Delete Remote"),
tr("Would you like to delete the remote \"%1\"?").arg(remoteName),
if (QMessageBox::question(this, Tr::tr("Delete Remote"),
Tr::tr("Would you like to delete the remote \"%1\"?").arg(remoteName),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::Yes) == QMessageBox::Yes) {
m_remoteModel->removeRemote(row);
@@ -274,5 +274,4 @@ void RemoteDialog::updateButtonState()
m_removeButton->setEnabled(haveSelection);
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -12,15 +12,12 @@ QT_END_NAMESPACE
namespace Utils { class FilePath; }
namespace Git {
namespace Internal {
namespace Git::Internal {
class RemoteModel;
class RemoteDialog : public QDialog
{
Q_OBJECT
public:
explicit RemoteDialog(QWidget *parent = nullptr);
~RemoteDialog() override;
@@ -46,5 +43,4 @@ private:
QPushButton *m_removeButton;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -2,16 +2,16 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "remotemodel.h"
#include "gitclient.h"
#include "gittr.h"
#include <utils/algorithm.h>
using namespace Utils;
namespace Git {
namespace Internal {
namespace Git::Internal {
// ------ RemoteModel
RemoteModel::RemoteModel(QObject *parent) : QAbstractTableModel(parent)
{ }
@@ -120,7 +120,7 @@ QVariant RemoteModel::headerData(int section, Qt::Orientation orientation, int r
if (role != Qt::DisplayRole || orientation != Qt::Horizontal)
return QVariant();
return (section == 0) ? tr("Name") : tr("URL");
return (section == 0) ? Tr::tr("Name") : Tr::tr("URL");
}
bool RemoteModel::setData(const QModelIndex &index, const QVariant &value, int role)
@@ -190,6 +190,5 @@ int RemoteModel::findRemoteByName(const QString &name) const
return -1;
}
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -9,12 +9,12 @@
#include <QList>
#include <QVariant>
namespace Git {
namespace Internal {
namespace Git::Internal {
class RemoteModel : public QAbstractTableModel
{
Q_OBJECT
public:
explicit RemoteModel(QObject *parent = nullptr);
@@ -62,5 +62,4 @@ private:
RemoteList m_remotes;
};
} // namespace Internal
} // namespace Git
} // Git::Internal

View File

@@ -5,6 +5,7 @@
#include "gitclient.h"
#include "gitplugin.h"
#include "gittr.h"
#include "gitutils.h"
#include <utils/algorithm.h>
@@ -63,9 +64,7 @@ private:
StashModel::StashModel(QObject *parent) :
QStandardItemModel(0, ColumnCount, parent)
{
QStringList headers;
headers << StashDialog::tr("Name") << StashDialog::tr("Branch") << StashDialog::tr("Message");
setHorizontalHeaderLabels(headers);
setHorizontalHeaderLabels({Tr::tr("Name"), Tr::tr("Branch"), Tr::tr("Message")});
}
void StashModel::setStashes(const QList<Stash> &stashes)
@@ -81,16 +80,16 @@ void StashModel::setStashes(const QList<Stash> &stashes)
StashDialog::StashDialog(QWidget *parent) : QDialog(parent),
m_model(new StashModel),
m_proxyModel(new QSortFilterProxyModel),
m_deleteAllButton(new QPushButton(tr("Delete &All..."))),
m_deleteSelectionButton(new QPushButton(tr("&Delete..."))),
m_showCurrentButton(new QPushButton(tr("&Show"))),
m_restoreCurrentButton(new QPushButton(tr("R&estore..."))),
m_deleteAllButton(new QPushButton(Tr::tr("Delete &All..."))),
m_deleteSelectionButton(new QPushButton(Tr::tr("&Delete..."))),
m_showCurrentButton(new QPushButton(Tr::tr("&Show"))),
m_restoreCurrentButton(new QPushButton(Tr::tr("R&estore..."))),
//: Restore a git stash to new branch to be created
m_restoreCurrentInBranchButton(new QPushButton(tr("Restore to &Branch..."))),
m_refreshButton(new QPushButton(tr("Re&fresh")))
m_restoreCurrentInBranchButton(new QPushButton(Tr::tr("Restore to &Branch..."))),
m_refreshButton(new QPushButton(Tr::tr("Re&fresh")))
{
setAttribute(Qt::WA_DeleteOnClose, true); // Do not update unnecessarily
setWindowTitle(tr("Stashes"));
setWindowTitle(Tr::tr("Stashes"));
resize(599, 485);
@@ -184,8 +183,8 @@ void StashDialog::refresh(const FilePath &repository, bool force)
void StashDialog::deleteAll()
{
const QString title = tr("Delete Stashes");
if (!ask(title, tr("Do you want to delete all stashes?")))
const QString title = Tr::tr("Delete Stashes");
if (!ask(title, Tr::tr("Do you want to delete all stashes?")))
return;
QString errorMessage;
if (GitClient::instance()->synchronousStashRemove(m_repository, QString(), &errorMessage))
@@ -198,8 +197,8 @@ void StashDialog::deleteSelection()
{
const QList<int> rows = selectedRows();
QTC_ASSERT(!rows.isEmpty(), return);
const QString title = tr("Delete Stashes");
if (!ask(title, tr("Do you want to delete %n stash(es)?", nullptr, rows.size())))
const QString title = Tr::tr("Delete Stashes");
if (!ask(title, Tr::tr("Do you want to delete %n stash(es)?", nullptr, rows.size())))
return;
QString errorMessage;
QStringList errors;
@@ -252,12 +251,12 @@ static inline QString nextStash(const QString &stash)
StashDialog::ModifiedRepositoryAction StashDialog::promptModifiedRepository(const QString &stash)
{
QMessageBox box(QMessageBox::Question,
tr("Repository Modified"),
tr("%1 cannot be restored since the repository is modified.\n"
Tr::tr("Repository Modified"),
Tr::tr("%1 cannot be restored since the repository is modified.\n"
"You can choose between stashing the changes or discarding them.").arg(stash),
QMessageBox::Cancel, this);
QPushButton *stashButton = box.addButton(tr("Stash"), QMessageBox::AcceptRole);
QPushButton *discardButton = box.addButton(tr("Discard"), QMessageBox::AcceptRole);
QPushButton *stashButton = box.addButton(Tr::tr("Stash"), QMessageBox::AcceptRole);
QPushButton *discardButton = box.addButton(Tr::tr("Discard"), QMessageBox::AcceptRole);
box.exec();
const QAbstractButton *clickedButton = box.clickedButton();
if (clickedButton == stashButton)
@@ -307,19 +306,19 @@ bool StashDialog::promptForRestore(QString *stash,
// Prompt for branch or just ask.
if (branch) {
*branch = stashRestoreDefaultBranch(*stash);
if (!inputText(this, tr("Restore Stash to Branch"), tr("Branch:"), branch)
if (!inputText(this, Tr::tr("Restore Stash to Branch"), Tr::tr("Branch:"), branch)
|| branch->isEmpty())
return false;
} else {
if (!modifiedPromptShown && !ask(tr("Stash Restore"), tr("Would you like to restore %1?").arg(stashIn)))
if (!modifiedPromptShown && !ask(Tr::tr("Stash Restore"), Tr::tr("Would you like to restore %1?").arg(stashIn)))
return false;
}
return true;
}
static inline QString msgRestoreFailedTitle(const QString &stash)
static QString msgRestoreFailedTitle(const QString &stash)
{
return StashDialog::tr("Error restoring %1").arg(stash);
return Tr::tr("Error restoring %1").arg(stash);
}
void StashDialog::restoreCurrent()

View File

@@ -15,8 +15,7 @@ QT_END_NAMESPACE
namespace Utils { class TreeView; }
namespace Git {
namespace Internal {
namespace Git::Internal {
class StashModel;
@@ -27,8 +26,6 @@ class StashModel;
class StashDialog : public QDialog
{
Q_OBJECT
public:
explicit StashDialog(QWidget *parent = nullptr);
~StashDialog() override;
@@ -72,5 +69,4 @@ private:
Utils::TreeView *m_stashView;
};
} // namespace Internal
} // namespace Git
} // Git::Internal