aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/vcsbase
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/vcsbase')
-rw-r--r--src/plugins/vcsbase/basevcseditorfactory.cpp11
-rw-r--r--src/plugins/vcsbase/basevcseditorfactory.h2
-rw-r--r--src/plugins/vcsbase/vcsbaseeditor.cpp19
-rw-r--r--src/plugins/vcsbase/vcsbaseeditor.h8
-rw-r--r--src/plugins/vcsbase/vcsbaseeditorconfig.cpp10
-rw-r--r--src/plugins/vcsbase/vcsbaseeditorconfig.h10
6 files changed, 31 insertions, 29 deletions
diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp
index 7502e53637..13346949cf 100644
--- a/src/plugins/vcsbase/basevcseditorfactory.cpp
+++ b/src/plugins/vcsbase/basevcseditorfactory.cpp
@@ -82,15 +82,4 @@ VcsEditorFactory::VcsEditorFactory(const VcsBaseEditorParameters *parameters,
setMarksVisible(false);
}
-VcsBaseEditor *VcsEditorFactory::createEditorById(const char *id)
-{
- for (IEditorFactory *factory : allEditorFactories()) {
- if (auto vcsFactory = qobject_cast<VcsEditorFactory *>(factory)) {
- if (vcsFactory->property("VcsEditorFactoryName").toByteArray() == id)
- return qobject_cast<VcsBaseEditor *>(factory->createEditor());
- }
- }
- return nullptr;
-}
-
} // namespace VcsBase
diff --git a/src/plugins/vcsbase/basevcseditorfactory.h b/src/plugins/vcsbase/basevcseditorfactory.h
index 8c2b8cbdf6..b1b828716e 100644
--- a/src/plugins/vcsbase/basevcseditorfactory.h
+++ b/src/plugins/vcsbase/basevcseditorfactory.h
@@ -43,8 +43,6 @@ public:
VcsEditorFactory(const VcsBaseEditorParameters *parameters,
const EditorWidgetCreator editorWidgetCreator,
std::function<void(const QString &, const QString &)> describeFunc);
-
- static VcsBaseEditor *createEditorById(const char *id);
};
} // namespace VcsBase
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index 9af6a3d8c4..0471968dcf 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -35,6 +35,7 @@
#include <coreplugin/vcsmanager.h>
#include <coreplugin/patchtool.h>
#include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/editormanager/ieditorfactory.h>
#include <cpaster/codepasterservice.h>
#include <extensionsystem/pluginmanager.h>
#include <projectexplorer/editorconfiguration.h>
@@ -1626,9 +1627,11 @@ Core::IEditor *VcsBaseEditor::locateEditorByTag(const QString &tag)
#ifdef WITH_TESTS
#include <QTest>
-void VcsBase::VcsBaseEditorWidget::testDiffFileResolving(const char *id)
+namespace VcsBase {
+
+void VcsBaseEditorWidget::testDiffFileResolving(const VcsEditorFactory &factory)
{
- VcsBaseEditor *editor = VcsBase::VcsEditorFactory::createEditorById(id);
+ VcsBaseEditor *editor = qobject_cast<VcsBaseEditor *>(factory.createEditor());
auto widget = qobject_cast<VcsBaseEditorWidget *>(editor->editorWidget());
QFETCH(QByteArray, header);
@@ -1642,11 +1645,12 @@ void VcsBase::VcsBaseEditorWidget::testDiffFileResolving(const char *id)
delete editor;
}
-void VcsBase::VcsBaseEditorWidget::testLogResolving(const char *id, QByteArray &data,
- const QByteArray &entry1,
- const QByteArray &entry2)
+void VcsBaseEditorWidget::testLogResolving(const VcsEditorFactory &factory,
+ const QByteArray &data,
+ const QByteArray &entry1,
+ const QByteArray &entry2)
{
- VcsBaseEditor *editor = VcsBase::VcsEditorFactory::createEditorById(id);
+ VcsBaseEditor *editor = qobject_cast<VcsBaseEditor *>(factory.createEditor());
auto widget = qobject_cast<VcsBaseEditorWidget *>(editor->editorWidget());
widget->textDocument()->setPlainText(QLatin1String(data));
@@ -1655,6 +1659,9 @@ void VcsBase::VcsBaseEditorWidget::testLogResolving(const char *id, QByteArray &
delete editor;
}
+
+} // VcsBase
+
#endif
#include "vcsbaseeditor.moc"
diff --git a/src/plugins/vcsbase/vcsbaseeditor.h b/src/plugins/vcsbase/vcsbaseeditor.h
index 5a0f371eeb..863d300d62 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.h
+++ b/src/plugins/vcsbase/vcsbaseeditor.h
@@ -48,6 +48,7 @@ class BaseAnnotationHighlighter;
class VcsBaseEditorWidget;
class VcsBaseEditorConfig;
class VcsCommand;
+class VcsEditorFactory;
// Documentation inside
enum EditorContentType
@@ -295,8 +296,11 @@ private:
#ifdef WITH_TESTS
public:
- static void testDiffFileResolving(const char *id);
- static void testLogResolving(const char *id, QByteArray &data, const QByteArray &entry1, const QByteArray &entry2);
+ static void testDiffFileResolving(const VcsEditorFactory &factory);
+ static void testLogResolving(const VcsEditorFactory &factory,
+ const QByteArray &data,
+ const QByteArray &entry1,
+ const QByteArray &entry2);
#endif
};
diff --git a/src/plugins/vcsbase/vcsbaseeditorconfig.cpp b/src/plugins/vcsbase/vcsbaseeditorconfig.cpp
index 1954c60feb..95a08f72ae 100644
--- a/src/plugins/vcsbase/vcsbaseeditorconfig.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditorconfig.cpp
@@ -106,7 +106,7 @@ public:
that should trigger the rerun of the VCS operation.
*/
-VcsBaseEditorConfig::ComboBoxItem::ComboBoxItem(const QString &text, const QVariant &val) :
+VcsBaseEditorConfig::ChoiceItem::ChoiceItem(const QString &text, const QVariant &val) :
displayText(text),
value(val)
{
@@ -171,11 +171,13 @@ QAction *VcsBaseEditorConfig::addToggleButton(const QStringList &options,
return action;
}
-QComboBox *VcsBaseEditorConfig::addComboBox(const QStringList &options,
- const QList<ComboBoxItem> &items)
+QComboBox *VcsBaseEditorConfig::addChoices(const QString &title,
+ const QStringList &options,
+ const QList<ChoiceItem> &items)
{
auto cb = new QComboBox;
- foreach (const ComboBoxItem &item, items)
+ cb->setToolTip(title);
+ for (const ChoiceItem &item : items)
cb->addItem(item.displayText, item.value);
connect(cb, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, &VcsBaseEditorConfig::argumentsChanged);
diff --git a/src/plugins/vcsbase/vcsbaseeditorconfig.h b/src/plugins/vcsbase/vcsbaseeditorconfig.h
index 31f62af4d0..9a8f4d493f 100644
--- a/src/plugins/vcsbase/vcsbaseeditorconfig.h
+++ b/src/plugins/vcsbase/vcsbaseeditorconfig.h
@@ -51,11 +51,11 @@ public:
explicit VcsBaseEditorConfig(QToolBar *toolBar);
~VcsBaseEditorConfig() override;
- class VCSBASE_EXPORT ComboBoxItem
+ class VCSBASE_EXPORT ChoiceItem
{
public:
- ComboBoxItem() = default;
- ComboBoxItem(const QString &text, const QVariant &val);
+ ChoiceItem() = default;
+ ChoiceItem(const QString &text, const QVariant &val);
QString displayText;
QVariant value;
};
@@ -68,7 +68,9 @@ public:
const QString &tooltip = QString());
QAction *addToggleButton(const QStringList &options, const QString &label,
const QString &tooltip = QString());
- QComboBox *addComboBox(const QStringList &options, const QList<ComboBoxItem> &items);
+ QComboBox *addChoices(const QString &title,
+ const QStringList &options,
+ const QList<ChoiceItem> &items);
void mapSetting(QAction *button, bool *setting);
void mapSetting(QComboBox *comboBox, QString *setting);