forked from qt-creator/qt-creator
VCS: Set user choices on editor reload
Broke by 2c6adc1e74.
Change-Id: Iba435899c7b0da4b270f4ef8ece84c1839bf6b72
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
771d9f222c
commit
a36536813f
@@ -433,21 +433,26 @@ void VcsBaseClient::diff(const QString &workingDir, const QStringList &files,
|
||||
vcsCmdString.toLatin1().constData(), id);
|
||||
editor->setWorkingDirectory(workingDir);
|
||||
|
||||
QStringList effectiveArgs = extraOptions;
|
||||
if (!editor->configurationAdded()) {
|
||||
if (VcsBaseEditorConfig *paramWidget = d->createDiffEditor(editor)) {
|
||||
VcsBaseEditorConfig *paramWidget = editor->editorConfig();
|
||||
if (!paramWidget) {
|
||||
paramWidget = d->createDiffEditor(editor);
|
||||
if (paramWidget) {
|
||||
paramWidget->setBaseArguments(extraOptions);
|
||||
// editor has been just created, createVcsEditor() didn't set a configuration widget yet
|
||||
connect(editor, &VcsBaseEditorWidget::diffChunkReverted,
|
||||
paramWidget, &VcsBaseEditorConfig::executeCommand);
|
||||
connect(paramWidget, &VcsBaseEditorConfig::commandExecutionRequested,
|
||||
[=] { diff(workingDir, files, extraOptions + paramWidget->arguments()); } );
|
||||
effectiveArgs = paramWidget->arguments();
|
||||
editor->setConfigurationAdded();
|
||||
[=] { diff(workingDir, files, extraOptions); } );
|
||||
editor->setEditorConfig(paramWidget);
|
||||
}
|
||||
}
|
||||
|
||||
QStringList args;
|
||||
args << vcsCmdString << effectiveArgs << files;
|
||||
QStringList args = {vcsCmdString};
|
||||
if (paramWidget)
|
||||
args << paramWidget->arguments();
|
||||
else
|
||||
args << extraOptions;
|
||||
args << files;
|
||||
QTextCodec *codec = source.isEmpty() ? static_cast<QTextCodec *>(0) : VcsBaseEditor::getCodec(source);
|
||||
VcsCommand *command = createCommand(workingDir, editor);
|
||||
command->setCodec(codec);
|
||||
@@ -468,20 +473,24 @@ void VcsBaseClient::log(const QString &workingDir, const QStringList &files,
|
||||
vcsCmdString.toLatin1().constData(), id);
|
||||
editor->setFileLogAnnotateEnabled(enableAnnotationContextMenu);
|
||||
|
||||
QStringList effectiveArgs = extraOptions;
|
||||
if (!editor->configurationAdded()) {
|
||||
if (VcsBaseEditorConfig *paramWidget = d->createLogEditor(editor)) {
|
||||
VcsBaseEditorConfig *paramWidget = editor->editorConfig();
|
||||
if (!paramWidget) {
|
||||
paramWidget = d->createLogEditor(editor);
|
||||
if (paramWidget) {
|
||||
paramWidget->setBaseArguments(extraOptions);
|
||||
// editor has been just created, createVcsEditor() didn't set a configuration widget yet
|
||||
connect(paramWidget, &VcsBaseEditorConfig::commandExecutionRequested,
|
||||
[=]() { this->log(workingDir, files, extraOptions + paramWidget->arguments(),
|
||||
enableAnnotationContextMenu); } );
|
||||
effectiveArgs = paramWidget->arguments();
|
||||
editor->setConfigurationAdded();
|
||||
[=] { this->log(workingDir, files, extraOptions, enableAnnotationContextMenu); } );
|
||||
editor->setEditorConfig(paramWidget);
|
||||
}
|
||||
}
|
||||
|
||||
QStringList args;
|
||||
args << vcsCmdString << effectiveArgs << files;
|
||||
QStringList args = {vcsCmdString};
|
||||
if (paramWidget)
|
||||
args << paramWidget->arguments();
|
||||
else
|
||||
args << extraOptions;
|
||||
args << files;
|
||||
enqueueJob(createCommand(workingDir, editor), args);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user