aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/vcsbase
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/vcsbase')
-rw-r--r--src/plugins/vcsbase/CMakeLists.txt39
-rw-r--r--src/plugins/vcsbase/submiteditorfile.cpp6
-rw-r--r--src/plugins/vcsbase/submitfieldwidget.cpp2
-rw-r--r--src/plugins/vcsbase/vcsbaseclient.cpp6
-rw-r--r--src/plugins/vcsbase/vcsbaseclient.h4
-rw-r--r--src/plugins/vcsbase/vcsbaseclientsettings.cpp8
-rw-r--r--src/plugins/vcsbase/vcsbaseclientsettings.h4
-rw-r--r--src/plugins/vcsbase/vcsbaseeditor.cpp10
-rw-r--r--src/plugins/vcsbase/vcsbaseeditorconfig.cpp2
-rw-r--r--src/plugins/vcsbase/vcsbaseplugin.cpp2
-rw-r--r--src/plugins/vcsbase/vcsbaseplugin.h4
-rw-r--r--src/plugins/vcsbase/vcsbasesubmiteditor.cpp4
-rw-r--r--src/plugins/vcsbase/vcscommand.cpp2
-rw-r--r--src/plugins/vcsbase/vcscommand.h2
-rw-r--r--src/plugins/vcsbase/vcsoutputwindow.cpp103
-rw-r--r--src/plugins/vcsbase/vcsoutputwindow.h9
-rw-r--r--src/plugins/vcsbase/vcsplugin.cpp2
-rw-r--r--src/plugins/vcsbase/wizard/vcscommandpage.cpp4
18 files changed, 130 insertions, 83 deletions
diff --git a/src/plugins/vcsbase/CMakeLists.txt b/src/plugins/vcsbase/CMakeLists.txt
new file mode 100644
index 0000000000..b6d234b4f2
--- /dev/null
+++ b/src/plugins/vcsbase/CMakeLists.txt
@@ -0,0 +1,39 @@
+add_qtc_plugin(VcsBase
+ PLUGIN_DEPENDS Core CppTools DiffEditor ProjectExplorer TextEditor
+ PLUGIN_RECOMMENDS CodePaster
+ SOURCES
+ baseannotationhighlighter.cpp baseannotationhighlighter.h
+ basevcseditorfactory.cpp basevcseditorfactory.h
+ basevcssubmiteditorfactory.cpp basevcssubmiteditorfactory.h
+ cleandialog.cpp cleandialog.h cleandialog.ui
+ commonsettingspage.cpp commonsettingspage.h commonsettingspage.ui
+ commonvcssettings.cpp commonvcssettings.h
+ diffandloghighlighter.cpp diffandloghighlighter.h
+ nicknamedialog.cpp nicknamedialog.h nicknamedialog.ui
+ submiteditorfile.cpp submiteditorfile.h
+ submiteditorwidget.cpp submiteditorwidget.h submiteditorwidget.ui
+ submitfieldwidget.cpp submitfieldwidget.h
+ submitfilemodel.cpp submitfilemodel.h
+ vcsbase.qrc
+ vcsbase_global.h
+ vcsbaseclient.cpp vcsbaseclient.h
+ vcsbaseclientsettings.cpp vcsbaseclientsettings.h
+ vcsbaseconstants.h
+ vcsbasediffeditorcontroller.cpp vcsbasediffeditorcontroller.h
+ vcsbaseeditor.cpp vcsbaseeditor.h
+ vcsbaseeditorconfig.cpp vcsbaseeditorconfig.h
+ vcsbaseoptionspage.cpp vcsbaseoptionspage.h
+ vcsbaseplugin.cpp vcsbaseplugin.h
+ vcsbasesubmiteditor.cpp vcsbasesubmiteditor.h
+ vcscommand.cpp vcscommand.h
+ vcsoutputwindow.cpp vcsoutputwindow.h
+ vcsplugin.cpp vcsplugin.h
+ wizard/vcscommandpage.cpp wizard/vcscommandpage.h
+ wizard/vcsconfigurationpage.cpp wizard/vcsconfigurationpage.h
+ wizard/vcsjsextension.cpp wizard/vcsjsextension.h
+)
+
+extend_qtc_plugin(VcsBase
+ CONDITION WITH_TESTS
+ DEFINES SRC_DIR="${IDE_SOURCE_TREE}"
+)
diff --git a/src/plugins/vcsbase/submiteditorfile.cpp b/src/plugins/vcsbase/submiteditorfile.cpp
index 9136118bf7..e7e5d01e15 100644
--- a/src/plugins/vcsbase/submiteditorfile.cpp
+++ b/src/plugins/vcsbase/submiteditorfile.cpp
@@ -68,7 +68,7 @@ Core::IDocument::OpenResult SubmitEditorFile::open(QString *errorString, const Q
if (!m_editor->setFileContents(text.toUtf8()))
return OpenResult::CannotHandle;
- setFilePath(FileName::fromString(fileName));
+ setFilePath(FilePath::fromString(fileName));
setModified(fileName != realFileName);
return OpenResult::Success;
}
@@ -93,7 +93,7 @@ void SubmitEditorFile::setModified(bool modified)
bool SubmitEditorFile::save(QString *errorString, const QString &fileName, bool autoSave)
{
- const FileName fName = fileName.isEmpty() ? filePath() : FileName::fromString(fileName);
+ const FilePath fName = fileName.isEmpty() ? filePath() : FilePath::fromString(fileName);
FileSaver saver(fName.toString(),
QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text);
saver.write(m_editor->fileContents());
@@ -101,7 +101,7 @@ bool SubmitEditorFile::save(QString *errorString, const QString &fileName, bool
return false;
if (autoSave)
return true;
- setFilePath(FileName::fromUserInput(fName.toFileInfo().absoluteFilePath()));
+ setFilePath(FilePath::fromUserInput(fName.toFileInfo().absoluteFilePath()));
setModified(false);
if (!errorString->isEmpty())
return false;
diff --git a/src/plugins/vcsbase/submitfieldwidget.cpp b/src/plugins/vcsbase/submitfieldwidget.cpp
index 000ba51426..b92579be43 100644
--- a/src/plugins/vcsbase/submitfieldwidget.cpp
+++ b/src/plugins/vcsbase/submitfieldwidget.cpp
@@ -286,7 +286,7 @@ void SubmitFieldWidget::createField(const QString &f)
if (d->completer)
fe.lineEdit->setCompleter(d->completer);
- connect(fe.combo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
+ connect(fe.combo, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, &SubmitFieldWidget::slotComboIndexChanged);
connect(fe.clearButton, &QAbstractButton::clicked,
this, &SubmitFieldWidget::slotRemove);
diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp
index bda0b6379b..4e772f3b2c 100644
--- a/src/plugins/vcsbase/vcsbaseclient.cpp
+++ b/src/plugins/vcsbase/vcsbaseclient.cpp
@@ -110,7 +110,7 @@ VcsBaseClientSettings &VcsBaseClientImpl::settings() const
return *d->m_clientSettings;
}
-FileName VcsBaseClientImpl::vcsBinary() const
+FilePath VcsBaseClientImpl::vcsBinary() const
{
return settings().binaryPath();
}
@@ -178,7 +178,7 @@ QString VcsBaseClientImpl::stripLastNewline(const QString &in)
}
SynchronousProcessResponse
-VcsBaseClientImpl::vcsFullySynchronousExec(const QString &workingDir, const FileName &binary,
+VcsBaseClientImpl::vcsFullySynchronousExec(const QString &workingDir, const FilePath &binary,
const QStringList &args, unsigned flags,
int timeoutS, QTextCodec *codec) const
{
@@ -643,7 +643,7 @@ QString VcsBaseClient::vcsEditorTitle(const QString &vcsCmd, const QString &sour
{
return vcsBinary().toFileInfo().baseName() +
QLatin1Char(' ') + vcsCmd + QLatin1Char(' ') +
- FileName::fromString(sourceId).fileName();
+ FilePath::fromString(sourceId).fileName();
}
void VcsBaseClient::statusParser(const QString &text)
diff --git a/src/plugins/vcsbase/vcsbaseclient.h b/src/plugins/vcsbase/vcsbaseclient.h
index 9f365af6df..0706d53861 100644
--- a/src/plugins/vcsbase/vcsbaseclient.h
+++ b/src/plugins/vcsbase/vcsbaseclient.h
@@ -64,7 +64,7 @@ public:
VcsBaseClientSettings &settings() const;
- virtual Utils::FileName vcsBinary() const;
+ virtual Utils::FilePath vcsBinary() const;
int vcsTimeoutS() const;
enum JobOutputBindMode {
@@ -105,7 +105,7 @@ public:
vcsFullySynchronousExec(const QString &workingDir, const QStringList &args,
unsigned flags = 0, int timeoutS = -1, QTextCodec *codec = nullptr) const;
Utils::SynchronousProcessResponse
- vcsFullySynchronousExec(const QString &workingDir, const Utils::FileName &binary, const QStringList &args,
+ vcsFullySynchronousExec(const QString &workingDir, const Utils::FilePath &binary, const QStringList &args,
unsigned flags = 0, int timeoutS = -1, QTextCodec *codec = nullptr) const;
diff --git a/src/plugins/vcsbase/vcsbaseclientsettings.cpp b/src/plugins/vcsbase/vcsbaseclientsettings.cpp
index 7d30181959..96571e5782 100644
--- a/src/plugins/vcsbase/vcsbaseclientsettings.cpp
+++ b/src/plugins/vcsbase/vcsbaseclientsettings.cpp
@@ -175,7 +175,7 @@ public:
QHash<QString, SettingValue> m_valueHash;
QVariantHash m_defaultValueHash;
QString m_settingsGroup;
- mutable FileName m_binaryFullPath;
+ mutable FilePath m_binaryFullPath;
};
} // namespace Internal
@@ -351,11 +351,11 @@ QVariant::Type VcsBaseClientSettings::valueType(const QString &key) const
return QVariant::Invalid;
}
-FileName VcsBaseClientSettings::binaryPath() const
+FilePath VcsBaseClientSettings::binaryPath() const
{
if (d->m_binaryFullPath.isEmpty()) {
- const FileNameList searchPaths
- = Utils::transform(searchPathList(), [](const QString &s) { return FileName::fromString(s); });
+ const FilePathList searchPaths
+ = Utils::transform(searchPathList(), [](const QString &s) { return FilePath::fromString(s); });
d->m_binaryFullPath = Environment::systemEnvironment().searchInPath(
stringValue(binaryPathKey), searchPaths);
}
diff --git a/src/plugins/vcsbase/vcsbaseclientsettings.h b/src/plugins/vcsbase/vcsbaseclientsettings.h
index 137d4391d8..e722a56564 100644
--- a/src/plugins/vcsbase/vcsbaseclientsettings.h
+++ b/src/plugins/vcsbase/vcsbaseclientsettings.h
@@ -35,7 +35,7 @@ QT_BEGIN_NAMESPACE
class QSettings;
QT_END_NAMESPACE
-namespace Utils { class FileName; }
+namespace Utils { class FilePath; }
namespace VcsBase {
namespace Internal { class VcsBaseClientSettingsPrivate; }
@@ -77,7 +77,7 @@ public:
void setValue(const QString &key, const QVariant &v);
QVariant::Type valueType(const QString &key) const;
- Utils::FileName binaryPath() const;
+ Utils::FilePath binaryPath() const;
QStringList searchPathList() const;
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index 6fcfd09eae..c6b5ed8fbe 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -724,7 +724,7 @@ void VcsBaseEditorWidget::init()
case OtherContent:
break;
case LogOutput:
- connect(d->entriesComboBox(), static_cast<void (QComboBox::*)(int)>(&QComboBox::activated),
+ connect(d->entriesComboBox(), QOverload<int>::of(&QComboBox::activated),
this, &VcsBaseEditorWidget::slotJumpToEntry);
connect(this, &QPlainTextEdit::textChanged,
this, &VcsBaseEditorWidget::slotPopulateLogBrowser);
@@ -737,7 +737,7 @@ void VcsBaseEditorWidget::init()
break;
case DiffOutput:
// Diff: set up diff file browsing
- connect(d->entriesComboBox(), static_cast<void (QComboBox::*)(int)>(&QComboBox::activated),
+ connect(d->entriesComboBox(), QOverload<int>::of(&QComboBox::activated),
this, &VcsBaseEditorWidget::slotJumpToEntry);
connect(this, &QPlainTextEdit::textChanged,
this, &VcsBaseEditorWidget::slotPopulateDiffBrowser);
@@ -868,7 +868,7 @@ void VcsBaseEditorWidget::slotPopulateDiffBrowser()
lastFileName = file;
// ignore any headers
d->m_entrySections.push_back(d->m_entrySections.empty() ? 0 : lineNumber);
- entriesComboBox->addItem(FileName::fromString(file).fileName());
+ entriesComboBox->addItem(FilePath::fromString(file).fileName());
}
}
}
@@ -979,11 +979,11 @@ void VcsBaseEditorWidget::contextMenuEvent(QContextMenuEvent *e)
// the user has "Open With" and choose the right diff editor so that
// fileNameFromDiffSpecification() works.
QAction *applyAction = menu->addAction(tr("Apply Chunk..."));
- applyAction->setData(qVariantFromValue(Internal::DiffChunkAction(chunk, false)));
+ applyAction->setData(QVariant::fromValue(Internal::DiffChunkAction(chunk, false)));
connect(applyAction, &QAction::triggered, this, &VcsBaseEditorWidget::slotApplyDiffChunk);
// Revert a chunk from a VCS diff, which might be linked to reloading the diff.
QAction *revertAction = menu->addAction(tr("Revert Chunk..."));
- revertAction->setData(qVariantFromValue(Internal::DiffChunkAction(chunk, true)));
+ revertAction->setData(QVariant::fromValue(Internal::DiffChunkAction(chunk, true)));
connect(revertAction, &QAction::triggered, this, &VcsBaseEditorWidget::slotApplyDiffChunk);
// Custom diff actions
addDiffActions(menu, chunk);
diff --git a/src/plugins/vcsbase/vcsbaseeditorconfig.cpp b/src/plugins/vcsbase/vcsbaseeditorconfig.cpp
index f3f96e3b3f..ee40e2649a 100644
--- a/src/plugins/vcsbase/vcsbaseeditorconfig.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditorconfig.cpp
@@ -175,7 +175,7 @@ QComboBox *VcsBaseEditorConfig::addComboBox(const QStringList &options,
auto cb = new QComboBox;
foreach (const ComboBoxItem &item, items)
cb->addItem(item.displayText, item.value);
- connect(cb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
+ connect(cb, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, &VcsBaseEditorConfig::argumentsChanged);
d->m_toolBar->addWidget(cb);
d->m_optionMappings.append(OptionMapping(options, cb));
diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp
index 2d70846c34..298fdf61b3 100644
--- a/src/plugins/vcsbase/vcsbaseplugin.cpp
+++ b/src/plugins/vcsbase/vcsbaseplugin.cpp
@@ -791,7 +791,7 @@ void VcsBasePlugin::setProcessEnvironment(QProcessEnvironment *e,
// Run a process synchronously, returning Utils::SynchronousProcessResponse
// response struct and using the VcsBasePlugin flags as applicable
SynchronousProcessResponse VcsBasePlugin::runVcs(const QString &workingDir,
- const FileName &binary,
+ const FilePath &binary,
const QStringList &arguments,
int timeOutS,
unsigned flags,
diff --git a/src/plugins/vcsbase/vcsbaseplugin.h b/src/plugins/vcsbase/vcsbaseplugin.h
index 1bbe0c29b4..e1bfa15ded 100644
--- a/src/plugins/vcsbase/vcsbaseplugin.h
+++ b/src/plugins/vcsbase/vcsbaseplugin.h
@@ -41,7 +41,7 @@ class QTextCodec;
QT_END_NAMESPACE
namespace Utils {
-class FileName;
+class FilePath;
class SynchronousProcessResponse;
} // namespace Utils
@@ -170,7 +170,7 @@ public:
static QString source(Core::IDocument *document);
static Utils::SynchronousProcessResponse runVcs(const QString &workingDir,
- const Utils::FileName &binary,
+ const Utils::FilePath &binary,
const QStringList &arguments,
int timeOutS,
unsigned flags = 0,
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
index d66759cd17..3017ae03b9 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
@@ -569,7 +569,7 @@ VcsBaseSubmitEditor::PromptSubmitResult
const QString commitName = plugin->commitDisplayName();
mb.setWindowTitle(tr("Close %1 %2 Editor")
.arg(plugin->versionControl()->displayName(), commitName));
- mb.setIconPixmap(QMessageBox::standardIcon(QMessageBox::Question));
+ mb.setIcon(QMessageBox::Question);
QString message;
if (canCommit) {
message = tr("What do you want to do with these changes?");
@@ -741,7 +741,7 @@ void VcsBaseSubmitEditor::filterUntrackedFilesOfProject(const QString &repositor
const QDir repoDir(repositoryDirectory);
for (QStringList::iterator it = untrackedFiles->begin(); it != untrackedFiles->end(); ) {
const QString path = repoDir.absoluteFilePath(*it);
- if (ProjectExplorer::SessionManager::projectForFile(FileName::fromString(path)))
+ if (ProjectExplorer::SessionManager::projectForFile(FilePath::fromString(path)))
++it;
else
it = untrackedFiles->erase(it);
diff --git a/src/plugins/vcsbase/vcscommand.cpp b/src/plugins/vcsbase/vcscommand.cpp
index 6422eb2997..a659b13fec 100644
--- a/src/plugins/vcsbase/vcscommand.cpp
+++ b/src/plugins/vcsbase/vcscommand.cpp
@@ -77,7 +77,7 @@ const QProcessEnvironment VcsCommand::processEnvironment() const
return env;
}
-SynchronousProcessResponse VcsCommand::runCommand(const FileName &binary,
+SynchronousProcessResponse VcsCommand::runCommand(const FilePath &binary,
const QStringList &arguments, int timeoutS,
const QString &workingDirectory,
const ExitCodeInterpreter &interpreter)
diff --git a/src/plugins/vcsbase/vcscommand.h b/src/plugins/vcsbase/vcscommand.h
index bc7ad022e4..191b72b980 100644
--- a/src/plugins/vcsbase/vcscommand.h
+++ b/src/plugins/vcsbase/vcscommand.h
@@ -45,7 +45,7 @@ public:
const QProcessEnvironment processEnvironment() const override;
- Utils::SynchronousProcessResponse runCommand(const Utils::FileName &binary,
+ Utils::SynchronousProcessResponse runCommand(const Utils::FilePath &binary,
const QStringList &arguments, int timeoutS,
const QString &workDirectory = QString(),
const Utils::ExitCodeInterpreter &interpreter = Utils::defaultExitCodeInterpreter) override;
diff --git a/src/plugins/vcsbase/vcsoutputwindow.cpp b/src/plugins/vcsbase/vcsoutputwindow.cpp
index 1207d0279a..07113e7fd9 100644
--- a/src/plugins/vcsbase/vcsoutputwindow.cpp
+++ b/src/plugins/vcsbase/vcsoutputwindow.cpp
@@ -33,24 +33,26 @@
#include <utils/fileutils.h>
#include <utils/outputformatter.h>
#include <utils/qtcprocess.h>
+#include <texteditor/behaviorsettings.h>
+#include <texteditor/fontsettings.h>
+#include <texteditor/texteditorsettings.h>
#include <utils/theme/theme.h>
-#include <QPlainTextEdit>
-#include <QTextCharFormat>
+#include <QAction>
#include <QContextMenuEvent>
-#include <QTextBlock>
+#include <QDir>
+#include <QFileInfo>
#include <QMenu>
-#include <QAction>
-#include <QTextBlockUserData>
-
+#include <QPlainTextEdit>
+#include <QPoint>
#include <QPointer>
-#include <QTextCodec>
-#include <QDir>
#include <QRegExp>
+#include <QTextBlock>
+#include <QTextBlockUserData>
+#include <QTextCharFormat>
+#include <QTextCodec>
#include <QTextStream>
#include <QTime>
-#include <QPoint>
-#include <QFileInfo>
using namespace Utils;
@@ -75,6 +77,8 @@ namespace Internal {
const char C_VCS_OUTPUT_PANE[] = "Vcs.OutputPane";
+const char zoomSettingsKey[] = "Vcs/OutputPane/Zoom";
+
// Store repository along with text blocks
class RepositoryUserData : public QTextBlockUserData
{
@@ -86,7 +90,7 @@ private:
const QString m_repository;
};
-// A plain text edit with a special context menu containing "Clear" and
+// A plain text edit with a special context menu containing "Clear"
// and functions to append specially formatted entries.
class OutputWindowPlainTextEdit : public Core::OutputWindow
{
@@ -94,27 +98,23 @@ public:
explicit OutputWindowPlainTextEdit(QWidget *parent = nullptr);
~OutputWindowPlainTextEdit() override;
- void appendLines(QString const& s, const QString &repository = QString());
- void appendLinesWithStyle(QString const& s, enum VcsOutputWindow::MessageStyle style, const QString &repository = QString());
+ void appendLines(const QString &s, const QString &repository = QString());
+ void appendLinesWithStyle(const QString &s, VcsOutputWindow::MessageStyle style,
+ const QString &repository = QString());
protected:
void contextMenuEvent(QContextMenuEvent *event) override;
private:
- void setFormat(enum VcsOutputWindow::MessageStyle style);
+ void setFormat(VcsOutputWindow::MessageStyle style);
QString identifierUnderCursor(const QPoint &pos, QString *repository = nullptr) const;
Utils::OutputFormat m_format;
- const QTextCharFormat m_defaultFormat;
- QTextCharFormat m_errorFormat;
- QTextCharFormat m_warningFormat;
- QTextCharFormat m_commandFormat;
- QTextCharFormat m_messageFormat;
- OutputFormatter *m_formatter;
+ OutputFormatter *m_formatter = nullptr;
};
OutputWindowPlainTextEdit::OutputWindowPlainTextEdit(QWidget *parent) :
- Core::OutputWindow(Core::Context(C_VCS_OUTPUT_PANE), parent)
+ Core::OutputWindow(Core::Context(C_VCS_OUTPUT_PANE), zoomSettingsKey, parent)
{
setReadOnly(true);
setUndoRedoEnabled(false);
@@ -163,7 +163,7 @@ QString OutputWindowPlainTextEdit::identifierUnderCursor(const QPoint &widgetPos
// Retrieve repository if desired
if (repository)
if (QTextBlockUserData *data = cursor.block().userData())
- *repository = static_cast<const RepositoryUserData*>(data)->repository();
+ *repository = static_cast<const RepositoryUserData *>(data)->repository();
// Find first non-space character of word and find first non-space character past
const int startPos = firstWordCharacter(block, cursorPos);
int endPos = cursorPos;
@@ -182,7 +182,7 @@ void OutputWindowPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
// Check for a file, expand via repository if relative
QFileInfo fi(token);
if (!repository.isEmpty() && !fi.isFile() && fi.isRelative())
- fi = QFileInfo(repository + QLatin1Char('/') + token);
+ fi = QFileInfo(repository + '/' + token);
if (fi.isFile()) {
menu->addSeparator();
openAction = menu->addAction(VcsOutputWindow::tr("Open \"%1\"").
@@ -209,16 +209,16 @@ void OutputWindowPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
delete menu;
}
-void OutputWindowPlainTextEdit::appendLines(QString const& s, const QString &repository)
+void OutputWindowPlainTextEdit::appendLines(const QString &s, const QString &repository)
{
if (s.isEmpty())
return;
const int previousLineCount = document()->lineCount();
- const QChar newLine(QLatin1Char('\n'));
+ const QChar newLine('\n');
const QChar lastChar = s.at(s.size() - 1);
- const bool appendNewline = (lastChar != QLatin1Char('\r') && lastChar != newLine);
+ const bool appendNewline = (lastChar != '\r' && lastChar != newLine);
m_formatter->appendMessage(appendNewline ? s + newLine : s, m_format);
// Scroll down
@@ -232,20 +232,21 @@ void OutputWindowPlainTextEdit::appendLines(QString const& s, const QString &rep
}
}
-void OutputWindowPlainTextEdit::appendLinesWithStyle(QString const& s, enum VcsOutputWindow::MessageStyle style, const QString &repository)
+void OutputWindowPlainTextEdit::appendLinesWithStyle(const QString &s,
+ VcsOutputWindow::MessageStyle style,
+ const QString &repository)
{
setFormat(style);
if (style == VcsOutputWindow::Command) {
- const QString timeStamp = QTime::currentTime().toString(QLatin1String("\nHH:mm "));
+ const QString timeStamp = QTime::currentTime().toString("\nHH:mm ");
appendLines(timeStamp + s, repository);
- }
- else {
+ } else {
appendLines(s, repository);
}
}
-void OutputWindowPlainTextEdit::setFormat(enum VcsOutputWindow::MessageStyle style)
+void OutputWindowPlainTextEdit::setFormat(VcsOutputWindow::MessageStyle style)
{
m_formatter->setBoldFontEnabled(style == VcsOutputWindow::Command);
@@ -286,9 +287,23 @@ static VcsOutputWindowPrivate *d = nullptr;
VcsOutputWindow::VcsOutputWindow()
{
d = new VcsOutputWindowPrivate;
- d->passwordRegExp = QRegExp(QLatin1String("://([^@:]+):([^@]+)@"));
+ d->passwordRegExp = QRegExp("://([^@:]+):([^@]+)@");
Q_ASSERT(d->passwordRegExp.isValid());
m_instance = this;
+
+ auto updateBehaviorSettings = [] {
+ d->widget.setWheelZoomEnabled(
+ TextEditor::TextEditorSettings::behaviorSettings().m_scrollWheelZooming);
+ };
+
+ updateBehaviorSettings();
+ setupContext(Internal::C_VCS_OUTPUT_PANE, &d->widget);
+
+ connect(this, &IOutputPane::zoomIn, &d->widget, &Core::OutputWindow::zoomIn);
+ connect(this, &IOutputPane::zoomOut, &d->widget, &Core::OutputWindow::zoomOut);
+ connect(this, &IOutputPane::resetZoom, &d->widget, &Core::OutputWindow::resetZoom);
+ connect(TextEditor::TextEditorSettings::instance(), &TextEditor::TextEditorSettings::behaviorSettingsChanged,
+ this, updateBehaviorSettings);
}
static QString filterPasswordFromUrls(const QString &input)
@@ -296,7 +311,7 @@ static QString filterPasswordFromUrls(const QString &input)
int pos = 0;
QString result = input;
while ((pos = d->passwordRegExp.indexIn(result, pos)) >= 0) {
- QString tmp = result.left(pos + 3) + d->passwordRegExp.cap(1) + QLatin1String(":***@");
+ QString tmp = result.left(pos + 3) + d->passwordRegExp.cap(1) + ":***@";
int newStart = tmp.count();
tmp += result.midRef(pos + d->passwordRegExp.matchedLength());
result = tmp;
@@ -318,11 +333,6 @@ QWidget *VcsOutputWindow::outputWidget(QWidget *parent)
return &d->widget;
}
-QList<QWidget *> VcsOutputWindow::toolBarWidgets() const
-{
- return {};
-}
-
QString VcsOutputWindow::displayName() const
{
return tr("Version Control");
@@ -397,7 +407,7 @@ void VcsOutputWindow::appendSilently(const QString &text)
append(text, None, true);
}
-void VcsOutputWindow::append(const QString &text, enum MessageStyle style, bool silently)
+void VcsOutputWindow::append(const QString &text, MessageStyle style, bool silently)
{
d->widget.appendLinesWithStyle(text, style, d->repository);
@@ -415,8 +425,7 @@ void VcsOutputWindow::appendWarning(const QString &text)
append(text, Warning, false);
}
-// Helper to format arguments for log windows hiding common password
-// options.
+// Helper to format arguments for log windows hiding common password options.
static inline QString formatArguments(const QStringList &args)
{
const char passwordOptionC[] = "--password";
@@ -429,12 +438,12 @@ static inline QString formatArguments(const QStringList &args)
const QString arg = filterPasswordFromUrls(args.at(i));
if (i)
str << ' ';
- if (arg.startsWith(QString::fromLatin1(passwordOptionC) + QLatin1Char('='))) {
+ if (arg.startsWith(QString::fromLatin1(passwordOptionC) + '=')) {
str << QtcProcess::quoteArg("--password=********");
continue;
}
str << QtcProcess::quoteArg(arg);
- if (arg == QLatin1String(passwordOptionC)) {
+ if (arg == passwordOptionC) {
str << ' ' << QtcProcess::quoteArg("********");
i++;
}
@@ -443,15 +452,15 @@ static inline QString formatArguments(const QStringList &args)
}
QString VcsOutputWindow::msgExecutionLogEntry(const QString &workingDir,
- const FileName &executable,
+ const FilePath &executable,
const QStringList &arguments)
{
const QString args = formatArguments(arguments);
const QString nativeExecutable = QtcProcess::quoteArg(executable.toUserOutput());
if (workingDir.isEmpty())
- return tr("Running: %1 %2").arg(nativeExecutable, args) + QLatin1Char('\n');
+ return tr("Running: %1 %2").arg(nativeExecutable, args) + '\n';
return tr("Running in %1: %2 %3").
- arg(QDir::toNativeSeparators(workingDir), nativeExecutable, args) + QLatin1Char('\n');
+ arg(QDir::toNativeSeparators(workingDir), nativeExecutable, args) + '\n';
}
void VcsOutputWindow::appendShellCommandLine(const QString &text)
@@ -460,7 +469,7 @@ void VcsOutputWindow::appendShellCommandLine(const QString &text)
}
void VcsOutputWindow::appendCommand(const QString &workingDirectory,
- const FileName &binary,
+ const FilePath &binary,
const QStringList &args)
{
appendShellCommandLine(msgExecutionLogEntry(workingDirectory, binary, args));
diff --git a/src/plugins/vcsbase/vcsoutputwindow.h b/src/plugins/vcsbase/vcsoutputwindow.h
index 1f78cd515f..d54b4e6306 100644
--- a/src/plugins/vcsbase/vcsoutputwindow.h
+++ b/src/plugins/vcsbase/vcsoutputwindow.h
@@ -29,7 +29,7 @@
#include <coreplugin/ioutputpane.h>
-namespace Utils { class FileName; }
+namespace Utils { class FilePath; }
namespace VcsBase {
namespace Internal { class VcsPlugin; }
@@ -41,7 +41,6 @@ class VCSBASE_EXPORT VcsOutputWindow : public Core::IOutputPane
public:
QWidget *outputWidget(QWidget *parent) override;
- QList<QWidget *> toolBarWidgets() const override;
QString displayName() const override;
int priorityInStatusBar() const override;
@@ -67,7 +66,7 @@ public:
// 'Executing <dir>: <cmd> <args>'. Hides well-known password option
// arguments.
static QString msgExecutionLogEntry(const QString &workingDir,
- const Utils::FileName &executable,
+ const Utils::FilePath &executable,
const QStringList &arguments);
enum MessageStyle {
@@ -89,7 +88,7 @@ public slots:
// Append text with a certain style (none by default),
// and maybe pop up (silent by default)
- static void append(const QString &text, enum MessageStyle style = None, bool silently = false);
+ static void append(const QString &text, MessageStyle style = None, bool silently = false);
// Silently append text, do not pop up.
static void appendSilently(const QString &text);
@@ -108,7 +107,7 @@ public slots:
// Append a standard-formatted entry for command execution
// (see msgExecutionLogEntry).
static void appendCommand(const QString &workingDirectory,
- const Utils::FileName &binary,
+ const Utils::FilePath &binary,
const QStringList &args);
// Append a blue message text and pop up.
diff --git a/src/plugins/vcsbase/vcsplugin.cpp b/src/plugins/vcsbase/vcsplugin.cpp
index 201f2a3b43..efb70f1696 100644
--- a/src/plugins/vcsbase/vcsplugin.cpp
+++ b/src/plugins/vcsbase/vcsplugin.cpp
@@ -98,7 +98,7 @@ bool VcsPlugin::initialize(const QStringList &arguments, QString *errorMessage)
JsonWizardFactory::registerPageFactory(new Internal::VcsConfigurationPageFactory);
JsonWizardFactory::registerPageFactory(new Internal::VcsCommandPageFactory);
- JsExpander::registerQObjectForJs(QLatin1String("Vcs"), new VcsJsExtension);
+ JsExpander::registerGlobalObject<VcsJsExtension>("Vcs");
Utils::MacroExpander *expander = Utils::globalMacroExpander();
expander->registerVariable(Constants::VAR_VCS_NAME,
diff --git a/src/plugins/vcsbase/wizard/vcscommandpage.cpp b/src/plugins/vcsbase/wizard/vcscommandpage.cpp
index 6ad605f586..f40138c1a3 100644
--- a/src/plugins/vcsbase/wizard/vcscommandpage.cpp
+++ b/src/plugins/vcsbase/wizard/vcscommandpage.cpp
@@ -287,7 +287,7 @@ void VcsCommandPage::delayedInitialize()
}
Core::ShellCommand *command
- = vc->createInitialCheckoutCommand(repo, FileName::fromString(base),
+ = vc->createInitialCheckoutCommand(repo, FilePath::fromString(base),
name, extraArgs);
foreach (const JobData &job, m_additionalJobs) {
@@ -310,7 +310,7 @@ void VcsCommandPage::delayedInitialize()
const QString dir = wiz->expander()->expand(job.workDirectory);
const int timeoutS = command->defaultTimeoutS() * job.timeOutFactor;
- command->addJob(FileName::fromUserInput(commandString), args, timeoutS, dir);
+ command->addJob(FilePath::fromUserInput(commandString), args, timeoutS, dir);
}
start(command);