diff options
Diffstat (limited to 'src/plugins/vcsbase')
-rw-r--r-- | src/plugins/vcsbase/basevcseditorfactory.cpp | 11 | ||||
-rw-r--r-- | src/plugins/vcsbase/basevcseditorfactory.h | 2 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbaseeditor.cpp | 19 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbaseeditor.h | 8 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbaseeditorconfig.cpp | 10 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbaseeditorconfig.h | 10 |
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); |