summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build_cmake.yml4
-rw-r--r--plugins/fossil/commiteditor.cpp2
-rw-r--r--plugins/fossil/commiteditor.h2
-rw-r--r--plugins/fossil/fossilclient.cpp17
-rw-r--r--plugins/fossil/fossilclient.h6
-rw-r--r--plugins/fossil/fossilcommitwidget.cpp5
-rw-r--r--plugins/fossil/fossilcommitwidget.h5
-rw-r--r--plugins/fossil/fossilplugin.cpp34
8 files changed, 26 insertions, 49 deletions
diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml
index 38a37dc..6ddc72b 100644
--- a/.github/workflows/build_cmake.yml
+++ b/.github/workflows/build_cmake.yml
@@ -6,8 +6,8 @@ env:
PLUGIN_NAME: Fossil
QT_VERSION: 6.4.2
MACOS_DEPLOYMENT_TARGET: 10.14
- QT_CREATOR_VERSION: 9.0.0
- QT_CREATOR_SNAPSHOT: NO
+ QT_CREATOR_VERSION: 10.0.0-beta1
+ QT_CREATOR_SNAPSHOT: latest
CMAKE_VERSION: 3.21.1
NINJA_VERSION: 1.10.2
diff --git a/plugins/fossil/commiteditor.cpp b/plugins/fossil/commiteditor.cpp
index 4ed3370..9b02ab7 100644
--- a/plugins/fossil/commiteditor.cpp
+++ b/plugins/fossil/commiteditor.cpp
@@ -47,7 +47,7 @@ FossilCommitWidget *CommitEditor::commitWidget()
return static_cast<FossilCommitWidget *>(widget());
}
-void CommitEditor::setFields(const QString &repositoryRoot, const BranchInfo &branch,
+void CommitEditor::setFields(const Utils::FilePath &repositoryRoot, const BranchInfo &branch,
const QStringList &tags, const QString &userName,
const QList<VcsBase::VcsBaseClient::StatusItem> &repoStatus)
{
diff --git a/plugins/fossil/commiteditor.h b/plugins/fossil/commiteditor.h
index cb8bbfa..531628f 100644
--- a/plugins/fossil/commiteditor.h
+++ b/plugins/fossil/commiteditor.h
@@ -43,7 +43,7 @@ class CommitEditor : public VcsBase::VcsBaseSubmitEditor
public:
CommitEditor();
- void setFields(const QString &repositoryRoot, const BranchInfo &branch,
+ void setFields(const Utils::FilePath &repositoryRoot, const BranchInfo &branch,
const QStringList &tags, const QString &userName,
const QList<VcsBase::VcsBaseClient::StatusItem> &repoStatus);
diff --git a/plugins/fossil/fossilclient.cpp b/plugins/fossil/fossilclient.cpp
index f6bd4a6..04050d8 100644
--- a/plugins/fossil/fossilclient.cpp
+++ b/plugins/fossil/fossilclient.cpp
@@ -717,9 +717,10 @@ void FossilClient::commit(const FilePath &repositoryRoot, const QStringList &fil
QStringList(extraOptions) << "-M" << commitMessageFile);
}
-VcsBaseEditorWidget *FossilClient::annotate(const FilePath &workingDir, const QString &file, const QString &revision,
- int lineNumber, const QStringList &extraOptions)
+void FossilClient::annotate(const FilePath &workingDir, const QString &file, int lineNumber,
+ const QString &revision, const QStringList &extraOptions, int firstLine)
{
+ Q_UNUSED(firstLine)
// 'fossil annotate' command has a variant 'fossil blame'.
// blame command attributes a committing username to source lines,
// annotate shows line numbers
@@ -735,17 +736,16 @@ VcsBaseEditorWidget *FossilClient::annotate(const FilePath &workingDir, const QS
vcsCmdString.toLatin1().constData(), id);
auto *fossilEditor = qobject_cast<FossilEditorWidget *>(editor);
- QTC_ASSERT(fossilEditor, return editor);
+ QTC_ASSERT(fossilEditor, return);
if (!fossilEditor->editorConfig()) {
if (VcsBaseEditorConfig *editorConfig = createAnnotateEditor(fossilEditor)) {
editorConfig->setBaseArguments(extraOptions);
// editor has been just created, createVcsEditor() didn't set a configuration widget yet
- connect(editorConfig, &VcsBaseEditorConfig::commandExecutionRequested,
- [=]() {
- const int line = VcsBaseEditor::lineNumberOfCurrentEditor();
- return this->annotate(workingDir, file, revision, line, editorConfig->arguments());
- } );
+ connect(editorConfig, &VcsBaseEditorConfig::commandExecutionRequested, this, [=] {
+ const int line = VcsBaseEditor::lineNumberOfCurrentEditor();
+ annotate(workingDir, file, line, revision, editorConfig->arguments());
+ });
fossilEditor->setEditorConfig(editorConfig);
}
}
@@ -770,7 +770,6 @@ VcsBaseEditorWidget *FossilClient::annotate(const FilePath &workingDir, const QS
editor->setDefaultLineNumber(lineNumber);
enqueueJob(createCommand(workingDir, fossilEditor), args);
- return fossilEditor;
}
bool FossilClient::isVcsFileOrDirectory(const FilePath &filePath) const
diff --git a/plugins/fossil/fossilclient.h b/plugins/fossil/fossilclient.h
index bc5d0bd..70aff0f 100644
--- a/plugins/fossil/fossilclient.h
+++ b/plugins/fossil/fossilclient.h
@@ -92,9 +92,9 @@ public:
const QStringList &extraOptions = {}) final;
void commit(const Utils::FilePath &repositoryRoot, const QStringList &files,
const QString &commitMessageFile, const QStringList &extraOptions = {}) final;
- VcsBase::VcsBaseEditorWidget *annotate(const Utils::FilePath &workingDir, const QString &file,
- const QString &revision = {}, int lineNumber = -1,
- const QStringList &extraOptions = {}) final;
+ void annotate(const Utils::FilePath &workingDir, const QString &file,
+ int lineNumber = -1, const QString &revision = {},
+ const QStringList &extraOptions = {}, int firstLine = -1) final;
void log(const Utils::FilePath &workingDir, const QStringList &files = {},
const QStringList &extraOptions = {}, bool enableAnnotationContextMenu = false) final;
void logCurrentFile(const Utils::FilePath &workingDir, const QStringList &files = {},
diff --git a/plugins/fossil/fossilcommitwidget.cpp b/plugins/fossil/fossilcommitwidget.cpp
index beef90f..f45fcac 100644
--- a/plugins/fossil/fossilcommitwidget.cpp
+++ b/plugins/fossil/fossilcommitwidget.cpp
@@ -31,6 +31,7 @@
#include <texteditor/texteditorconstants.h>
#include <utils/completingtextedit.h>
+#include <utils/filepath.h>
#include <utils/qtcassert.h>
#include <QDir>
@@ -95,10 +96,10 @@ FossilCommitWidget::FossilCommitWidget() : m_commitPanel(new QWidget)
this, &FossilCommitWidget::branchChanged);
}
-void FossilCommitWidget::setFields(const QString &repoPath, const BranchInfo &branch,
+void FossilCommitWidget::setFields(const Utils::FilePath &repoPath, const BranchInfo &branch,
const QStringList &tags, const QString &userName)
{
- m_commitPanelUi.localRootLineEdit->setText(QDir::toNativeSeparators(repoPath));
+ m_commitPanelUi.localRootLineEdit->setText(repoPath.toUserOutput());
m_commitPanelUi.currentBranchLineEdit->setText(branch.name);
const QString tagsText = tags.join(", ");
m_commitPanelUi.currentTagsLineEdit->setText(tagsText);
diff --git a/plugins/fossil/fossilcommitwidget.h b/plugins/fossil/fossilcommitwidget.h
index aa84e4e..21180d2 100644
--- a/plugins/fossil/fossilcommitwidget.h
+++ b/plugins/fossil/fossilcommitwidget.h
@@ -33,6 +33,7 @@ QT_BEGIN_NAMESPACE
class QValidator;
QT_END_NAMESPACE
+namespace Utils { class FilePath; }
namespace Fossil {
namespace Internal {
@@ -50,8 +51,8 @@ class FossilCommitWidget : public VcsBase::SubmitEditorWidget
public:
FossilCommitWidget();
- void setFields(const QString &repoPath, const BranchInfo &newBranch, const QStringList &tags,
- const QString &userName);
+ void setFields(const Utils::FilePath &repoPath, const BranchInfo &newBranch,
+ const QStringList &tags, const QString &userName);
QString newBranch() const;
QStringList tags() const;
diff --git a/plugins/fossil/fossilplugin.cpp b/plugins/fossil/fossilplugin.cpp
index 643a213..007e02a 100644
--- a/plugins/fossil/fossilplugin.cpp
+++ b/plugins/fossil/fossilplugin.cpp
@@ -172,7 +172,7 @@ public:
const QStringList &extraArgs) final;
void updateActions(VcsBase::VcsBasePluginPrivate::ActionState) override;
- bool submitEditorAboutToClose() override;
+ bool activateCommit() override;
// File menu action slots
void addCurrentFile();
@@ -196,7 +196,6 @@ public:
void configureRepository();
void commit();
void showCommitWidget(const QList<VcsBase::VcsBaseClient::StatusItem> &status);
- void commitFromEditor() override;
void diffFromEditorSelected(const QStringList &files);
void createRepository();
@@ -258,7 +257,6 @@ public:
QAction *m_menuAction = nullptr;
Utils::FilePath m_submitRepository;
- bool m_submitActionTriggered = false;
// To be connected to the VcsTask's success signal to emit the repository/
// files changed signals according to the variant's type:
@@ -415,7 +413,7 @@ void FossilPluginPrivate::annotateCurrentFile()
const VcsBase::VcsBasePluginState state = currentState();
QTC_ASSERT(state.hasFile(), return);
const int lineNumber = VcsBase::VcsBaseEditor::lineNumberOfCurrentEditor(state.currentFile());
- m_client.annotate(state.currentFileTopLevel(), state.relativeCurrentFile(), {}, lineNumber);
+ m_client.annotate(state.currentFileTopLevel(), state.relativeCurrentFile(), lineNumber);
}
void FossilPluginPrivate::diffCurrentFile()
@@ -730,7 +728,7 @@ void FossilPluginPrivate::showCommitWidget(const QList<VcsBase::VcsBaseClient::S
QStringList tags = m_client.synchronousTagQuery(m_submitRepository, currentRevision.id);
// Fossil includes branch name in tag list -- remove.
tags.removeAll(currentBranch.name);
- commitEditor->setFields(m_submitRepository.toString(), currentBranch, tags, currentUser, status);
+ commitEditor->setFields(m_submitRepository, currentBranch, tags, currentUser, status);
connect(commitEditor, &VcsBase::VcsBaseSubmitEditor::diffSelectedFiles,
this, &FossilPluginPrivate::diffFromEditorSelected);
@@ -786,35 +784,13 @@ void FossilPluginPrivate::createRepository()
}
}
-void FossilPluginPrivate::commitFromEditor()
-{
- // Close the submit editor
- m_submitActionTriggered = true;
- QTC_ASSERT(submitEditor(), return);
- Core::EditorManager::closeDocuments({submitEditor()->document()});
-}
-
-bool FossilPluginPrivate::submitEditorAboutToClose()
+bool FossilPluginPrivate::activateCommit()
{
CommitEditor *commitEditor = qobject_cast<CommitEditor *>(submitEditor());
QTC_ASSERT(commitEditor, return true);
Core::IDocument *editorDocument = commitEditor->document();
QTC_ASSERT(editorDocument, return true);
- bool promptOnSubmit = false;
- const VcsBase::VcsBaseSubmitEditor::PromptSubmitResult response
- = commitEditor->promptSubmit(this, &promptOnSubmit, !m_submitActionTriggered);
- m_submitActionTriggered = false;
-
- switch (response) {
- case VcsBase::VcsBaseSubmitEditor::SubmitCanceled:
- return false;
- case VcsBase::VcsBaseSubmitEditor::SubmitDiscarded:
- return true;
- default:
- break;
- }
-
QStringList files = commitEditor->checkedFiles();
if (!files.empty()) {
//save the commit message
@@ -982,7 +958,7 @@ bool FossilPluginPrivate::vcsCreateRepository(const FilePath &directory)
void FossilPluginPrivate::vcsAnnotate(const FilePath &filePath, int line)
{
- m_client.annotate(filePath.absolutePath(), filePath.fileName(), {}, line);
+ m_client.annotate(filePath.absolutePath(), filePath.fileName(), line);
}
void FossilPluginPrivate::vcsDescribe(const FilePath &source, const QString &id)