aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-01-15 14:32:19 +0100
committerhjk <hjk@qt.io>2020-01-17 09:20:31 +0000
commit43113470a45094d664a8580597d6e04c44a89e13 (patch)
treec4447dc5adfb731c65445d11db2668856933449e
parentaac0f2a8f58f62f5b639b14301b56b57d1387a54 (diff)
Vcs: Dissolve VcsBaseOptionsPage intermediate hierarchy level
It's effectively setting only three properties nowadays, not enough to justify a case of reuse-by-inheritance anymore. Change-Id: Ia0aedbd0dc460a70bed580a3402cf928c7221a77 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
-rw-r--r--src/plugins/clearcase/settingspage.cpp5
-rw-r--r--src/plugins/clearcase/settingspage.h4
-rw-r--r--src/plugins/cvs/settingspage.cpp1
-rw-r--r--src/plugins/git/gerrit/gerritoptionspage.cpp5
-rw-r--r--src/plugins/git/gerrit/gerritoptionspage.h5
-rw-r--r--src/plugins/git/settingspage.cpp1
-rw-r--r--src/plugins/mercurial/optionspage.cpp1
-rw-r--r--src/plugins/perforce/settingspage.cpp3
-rw-r--r--src/plugins/perforce/settingspage.h6
-rw-r--r--src/plugins/subversion/settingspage.cpp1
-rw-r--r--src/plugins/vcsbase/commonsettingspage.cpp6
-rw-r--r--src/plugins/vcsbase/commonsettingspage.h5
-rw-r--r--src/plugins/vcsbase/vcsbaseoptionspage.cpp11
-rw-r--r--src/plugins/vcsbase/vcsbaseoptionspage.h9
14 files changed, 29 insertions, 34 deletions
diff --git a/src/plugins/clearcase/settingspage.cpp b/src/plugins/clearcase/settingspage.cpp
index 66808b8d58..723aa2a8e4 100644
--- a/src/plugins/clearcase/settingspage.cpp
+++ b/src/plugins/clearcase/settingspage.cpp
@@ -32,6 +32,8 @@
#include <coreplugin/icore.h>
+#include <vcsbase/vcsbaseconstants.h>
+
#include <utils/environment.h>
#include <utils/hostosinfo.h>
#include <utils/pathchooser.h>
@@ -119,10 +121,11 @@ void SettingsPageWidget::apply()
}
ClearCaseSettingsPage::ClearCaseSettingsPage(QObject *parent)
- : VcsBaseOptionsPage(parent)
+ : Core::IOptionsPage(parent)
{
setId(ClearCase::Constants::VCS_ID_CLEARCASE);
setDisplayName(tr("ClearCase"));
+ setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
setWidgetCreator([] { return new SettingsPageWidget; });
}
diff --git a/src/plugins/clearcase/settingspage.h b/src/plugins/clearcase/settingspage.h
index 726798c5e6..ee1c3596d2 100644
--- a/src/plugins/clearcase/settingspage.h
+++ b/src/plugins/clearcase/settingspage.h
@@ -26,12 +26,12 @@
#pragma once
-#include <vcsbase/vcsbaseoptionspage.h>
+#include <coreplugin/dialogs/ioptionspage.h>
namespace ClearCase {
namespace Internal {
-class ClearCaseSettingsPage : public VcsBase::VcsBaseOptionsPage
+class ClearCaseSettingsPage final : public Core::IOptionsPage
{
public:
explicit ClearCaseSettingsPage(QObject *parent);
diff --git a/src/plugins/cvs/settingspage.cpp b/src/plugins/cvs/settingspage.cpp
index 4914e53d82..ec89dbd9cf 100644
--- a/src/plugins/cvs/settingspage.cpp
+++ b/src/plugins/cvs/settingspage.cpp
@@ -92,6 +92,7 @@ SettingsPage::SettingsPage(Core::IVersionControl *control, QObject *parent) :
{
setId(VcsBase::Constants::VCS_ID_CVS);
setDisplayName(SettingsPageWidget::tr("CVS"));
+ setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
setWidgetFactory([] { return new SettingsPageWidget; });
}
diff --git a/src/plugins/git/gerrit/gerritoptionspage.cpp b/src/plugins/git/gerrit/gerritoptionspage.cpp
index 730080d66f..21d273312c 100644
--- a/src/plugins/git/gerrit/gerritoptionspage.cpp
+++ b/src/plugins/git/gerrit/gerritoptionspage.cpp
@@ -30,6 +30,8 @@
#include <coreplugin/icore.h>
#include <utils/pathchooser.h>
+#include <vcsbase/vcsbaseconstants.h>
+
#include <QLineEdit>
#include <QSpinBox>
#include <QCheckBox>
@@ -40,11 +42,12 @@ namespace Internal {
GerritOptionsPage::GerritOptionsPage(const QSharedPointer<GerritParameters> &p,
QObject *parent)
- : VcsBase::VcsBaseOptionsPage(parent)
+ : Core::IOptionsPage(parent)
, m_parameters(p)
{
setId("Gerrit");
setDisplayName(tr("Gerrit"));
+ setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
}
GerritOptionsPage::~GerritOptionsPage()
diff --git a/src/plugins/git/gerrit/gerritoptionspage.h b/src/plugins/git/gerrit/gerritoptionspage.h
index ae2b4776cf..9388354ab1 100644
--- a/src/plugins/git/gerrit/gerritoptionspage.h
+++ b/src/plugins/git/gerrit/gerritoptionspage.h
@@ -25,9 +25,8 @@
#pragma once
-#include <vcsbase/vcsbaseoptionspage.h>
+#include <coreplugin/dialogs/ioptionspage.h>
-#include <QWidget>
#include <QSharedPointer>
#include <QPointer>
@@ -61,7 +60,7 @@ private:
QCheckBox *m_httpsCheckBox;
};
-class GerritOptionsPage : public VcsBase::VcsBaseOptionsPage
+class GerritOptionsPage : public Core::IOptionsPage
{
Q_OBJECT
diff --git a/src/plugins/git/settingspage.cpp b/src/plugins/git/settingspage.cpp
index 6fbc3df22a..2e54beb2b9 100644
--- a/src/plugins/git/settingspage.cpp
+++ b/src/plugins/git/settingspage.cpp
@@ -128,6 +128,7 @@ SettingsPage::SettingsPage(Core::IVersionControl *control, QObject *parent) :
{
setId(VcsBase::Constants::VCS_ID_GIT);
setDisplayName(SettingsPageWidget::tr("Git"));
+ setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
setWidgetFactory([] { return new SettingsPageWidget; });
}
diff --git a/src/plugins/mercurial/optionspage.cpp b/src/plugins/mercurial/optionspage.cpp
index 592e259636..a08ca7d4dc 100644
--- a/src/plugins/mercurial/optionspage.cpp
+++ b/src/plugins/mercurial/optionspage.cpp
@@ -87,6 +87,7 @@ OptionsPage::OptionsPage(Core::IVersionControl *control, QObject *parent) :
{
setId(VcsBase::Constants::VCS_ID_MERCURIAL);
setDisplayName(OptionsPageWidget::tr("Mercurial"));
+ setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
setWidgetFactory([] { return new OptionsPageWidget; });
}
diff --git a/src/plugins/perforce/settingspage.cpp b/src/plugins/perforce/settingspage.cpp
index 933ea07b80..d8f15930f4 100644
--- a/src/plugins/perforce/settingspage.cpp
+++ b/src/plugins/perforce/settingspage.cpp
@@ -118,10 +118,11 @@ void SettingsPageWidget::setStatusError(const QString &t)
}
SettingsPage::SettingsPage(QObject *parent)
- : VcsBaseOptionsPage(parent)
+ : Core::IOptionsPage(parent)
{
setId(VcsBase::Constants::VCS_ID_PERFORCE);
setDisplayName(tr("Perforce"));
+ setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
}
SettingsPage::~SettingsPage()
diff --git a/src/plugins/perforce/settingspage.h b/src/plugins/perforce/settingspage.h
index dbd5b64d7e..c3b5c6bb41 100644
--- a/src/plugins/perforce/settingspage.h
+++ b/src/plugins/perforce/settingspage.h
@@ -25,9 +25,7 @@
#pragma once
-#include <QWidget>
-
-#include <vcsbase/vcsbaseoptionspage.h>
+#include <coreplugin/dialogs/ioptionspage.h>
#include "ui_settingspage.h"
@@ -59,7 +57,7 @@ private:
PerforceChecker *m_checker = nullptr;
};
-class SettingsPage : public VcsBase::VcsBaseOptionsPage
+class SettingsPage : public Core::IOptionsPage
{
Q_OBJECT
diff --git a/src/plugins/subversion/settingspage.cpp b/src/plugins/subversion/settingspage.cpp
index 225181f13a..1718e54182 100644
--- a/src/plugins/subversion/settingspage.cpp
+++ b/src/plugins/subversion/settingspage.cpp
@@ -101,6 +101,7 @@ SettingsPage::SettingsPage(Core::IVersionControl *control, QObject *parent) :
{
setId(VcsBase::Constants::VCS_ID_SUBVERSION);
setDisplayName(SettingsPageWidget::tr("Subversion"));
+ setCategory(VcsBase::Constants::VCS_SETTINGS_CATEGORY);
setWidgetFactory([] { return new SettingsPageWidget; });
}
diff --git a/src/plugins/vcsbase/commonsettingspage.cpp b/src/plugins/vcsbase/commonsettingspage.cpp
index ab907437bd..ebfd1fa008 100644
--- a/src/plugins/vcsbase/commonsettingspage.cpp
+++ b/src/plugins/vcsbase/commonsettingspage.cpp
@@ -103,12 +103,16 @@ void CommonSettingsWidget::updatePath()
// --------------- VcsBaseSettingsPage
CommonOptionsPage::CommonOptionsPage(QObject *parent) :
- VcsBaseOptionsPage(parent)
+ Core::IOptionsPage(parent)
{
m_settings.fromSettings(Core::ICore::settings());
setId(Constants::VCS_COMMON_SETTINGS_ID);
setDisplayName(QCoreApplication::translate("VcsBase", Constants::VCS_COMMON_SETTINGS_NAME));
+ setCategory(Constants::VCS_SETTINGS_CATEGORY);
+ // The following act as blueprint for other pages in the same category:
+ setDisplayCategory(QCoreApplication::translate("VcsBase", "Version Control"));
+ setCategoryIconPath(":/vcsbase/images/settingscategory_vcs.png");
}
QWidget *CommonOptionsPage::widget()
diff --git a/src/plugins/vcsbase/commonsettingspage.h b/src/plugins/vcsbase/commonsettingspage.h
index 5504856dc4..ffb859ed61 100644
--- a/src/plugins/vcsbase/commonsettingspage.h
+++ b/src/plugins/vcsbase/commonsettingspage.h
@@ -27,10 +27,9 @@
#include "commonvcssettings.h"
-#include "vcsbaseoptionspage.h"
+#include <coreplugin/dialogs/ioptionspage.h>
#include <QPointer>
-#include <QWidget>
namespace VcsBase {
namespace Internal {
@@ -54,7 +53,7 @@ private:
Ui::CommonSettingsPage *m_ui;
};
-class CommonOptionsPage : public VcsBaseOptionsPage
+class CommonOptionsPage final : public Core::IOptionsPage
{
Q_OBJECT
diff --git a/src/plugins/vcsbase/vcsbaseoptionspage.cpp b/src/plugins/vcsbase/vcsbaseoptionspage.cpp
index a1c825e5d7..73c9ebb232 100644
--- a/src/plugins/vcsbase/vcsbaseoptionspage.cpp
+++ b/src/plugins/vcsbase/vcsbaseoptionspage.cpp
@@ -44,20 +44,11 @@
namespace VcsBase {
-VcsBaseOptionsPage::VcsBaseOptionsPage(QObject *parent) : Core::IOptionsPage(parent)
-{
- setCategory(Constants::VCS_SETTINGS_CATEGORY);
- setDisplayCategory(QCoreApplication::translate("VcsBase", "Version Control"));
- setCategoryIconPath(":/vcsbase/images/settingscategory_vcs.png");
-}
-
-VcsBaseOptionsPage::~VcsBaseOptionsPage() = default;
-
VcsClientOptionsPageWidget::VcsClientOptionsPageWidget() = default;
VcsClientOptionsPage::VcsClientOptionsPage(Core::IVersionControl *control, VcsBaseClientImpl *client,
QObject *parent) :
- VcsBaseOptionsPage(parent),
+ Core::IOptionsPage(parent),
m_client(client)
{
QTC_CHECK(m_client);
diff --git a/src/plugins/vcsbase/vcsbaseoptionspage.h b/src/plugins/vcsbase/vcsbaseoptionspage.h
index d03037b8e5..53c11a8946 100644
--- a/src/plugins/vcsbase/vcsbaseoptionspage.h
+++ b/src/plugins/vcsbase/vcsbaseoptionspage.h
@@ -39,13 +39,6 @@ namespace Core { class IVersionControl; }
namespace VcsBase {
-class VCSBASE_EXPORT VcsBaseOptionsPage : public Core::IOptionsPage
-{
-public:
- explicit VcsBaseOptionsPage(QObject *parent = nullptr);
- ~VcsBaseOptionsPage() override;
-};
-
class VcsBaseClientImpl;
class VCSBASE_EXPORT VcsClientOptionsPageWidget : public Core::IOptionsPageWidget
@@ -61,7 +54,7 @@ public:
virtual VcsBaseClientSettings settings() const = 0;
};
-class VCSBASE_EXPORT VcsClientOptionsPage : public VcsBaseOptionsPage
+class VCSBASE_EXPORT VcsClientOptionsPage : public Core::IOptionsPage
{
Q_OBJECT