diff options
author | Tobias Hunger <tobias.hunger@theqtcompany.com> | 2015-03-27 12:55:28 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@theqtcompany.com> | 2015-04-09 07:25:11 +0000 |
commit | 73a773285081fa85975de47a60ccdb8f04e5d0de (patch) | |
tree | f9f001d294d4d5be63926c6e05a9c8c3f9478a31 /src/plugins/bazaar | |
parent | 9d86b7ed4e5234f1c686688d99e604af9ba15d3a (diff) | |
download | qt-creator-73a773285081fa85975de47a60ccdb8f04e5d0de.tar.gz |
Vcs: Unify options pages for VcsBaseClientImpl based VCSes
Change-Id: Ia5dd7746f5857e7254251e3510c0987737cfad6d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/bazaar')
-rw-r--r-- | src/plugins/bazaar/bazaarplugin.cpp | 8 | ||||
-rw-r--r-- | src/plugins/bazaar/optionspage.cpp | 28 | ||||
-rw-r--r-- | src/plugins/bazaar/optionspage.h | 16 |
3 files changed, 9 insertions, 43 deletions
diff --git a/src/plugins/bazaar/bazaarplugin.cpp b/src/plugins/bazaar/bazaarplugin.cpp index a8b81eea9f..65280ec98c 100644 --- a/src/plugins/bazaar/bazaarplugin.cpp +++ b/src/plugins/bazaar/bazaarplugin.cpp @@ -168,14 +168,10 @@ bool BazaarPlugin::initialize(const QStringList &arguments, QString *errorMessag m_client = new BazaarClient; auto vcsCtrl = new BazaarControl(m_client); initializeVcs(vcsCtrl, context); - - auto options = new OptionsPage; - connect(options, &OptionsPage::settingsChanged, - vcsCtrl, &Core::IVersionControl::configurationChanged); - addAutoReleasedObject(options); - connect(m_client, &VcsBaseClient::changed, vcsCtrl, &BazaarControl::changed); + addAutoReleasedObject(new OptionsPage(vcsCtrl)); + static const char *describeSlot = SLOT(view(QString,QString)); const int editorCount = sizeof(editorParameters) / sizeof(VcsBaseEditorParameters); const auto widgetCreator = []() { return new BazaarEditorWidget; }; diff --git a/src/plugins/bazaar/optionspage.cpp b/src/plugins/bazaar/optionspage.cpp index 883e7d0e50..844cabc78b 100644 --- a/src/plugins/bazaar/optionspage.cpp +++ b/src/plugins/bazaar/optionspage.cpp @@ -41,8 +41,7 @@ using namespace Bazaar::Internal; using namespace Bazaar; using namespace VcsBase; -OptionsPageWidget::OptionsPageWidget(QWidget *parent) - : QWidget(parent) +OptionsPageWidget::OptionsPageWidget(QWidget *parent) : VcsClientOptionsPageWidget(parent) { m_ui.setupUi(this); m_ui.commandChooser->setExpectedKind(Utils::PathChooser::ExistingCommand); @@ -70,29 +69,10 @@ void OptionsPageWidget::setSettings(const VcsBaseClientSettings &s) m_ui.timeout->setValue(s.intValue(BazaarSettings::timeoutKey)); } -OptionsPage::OptionsPage() +OptionsPage::OptionsPage(Core::IVersionControl *control) : + VcsClientOptionsPage(control, BazaarPlugin::instance()->client()) { setId(VcsBase::Constants::VCS_ID_BAZAAR); setDisplayName(tr("Bazaar")); -} - -QWidget *OptionsPage::widget() -{ - if (!m_optionsPageWidget) - m_optionsPageWidget = new OptionsPageWidget; - m_optionsPageWidget->setSettings(BazaarPlugin::instance()->client()->settings()); - return m_optionsPageWidget; -} - -void OptionsPage::apply() -{ - if (!m_optionsPageWidget) - return; - BazaarPlugin *plugin = BazaarPlugin::instance(); - const VcsBaseClientSettings newSettings = m_optionsPageWidget->settings(); - VcsBaseClientSettings &s = plugin->client()->settings(); - if (newSettings != s) { - s = newSettings; - emit settingsChanged(); - } + setWidgetFactory([]() { return new OptionsPageWidget; }); } diff --git a/src/plugins/bazaar/optionspage.h b/src/plugins/bazaar/optionspage.h index ddec710dbf..2711b3c4a4 100644 --- a/src/plugins/bazaar/optionspage.h +++ b/src/plugins/bazaar/optionspage.h @@ -44,7 +44,7 @@ class VcsBaseClientSettings; namespace Bazaar { namespace Internal { -class OptionsPageWidget : public QWidget +class OptionsPageWidget : public VcsBase::VcsClientOptionsPageWidget { Q_OBJECT @@ -59,22 +59,12 @@ private: }; -class OptionsPage : public VcsBase::VcsBaseOptionsPage +class OptionsPage : public VcsBase::VcsClientOptionsPage { Q_OBJECT public: - OptionsPage(); - - QWidget *widget(); - void apply(); - void finish() { } - -signals: - void settingsChanged(); - -private: - QPointer<OptionsPageWidget> m_optionsPageWidget; + OptionsPage(Core::IVersionControl *control); }; } // namespace Internal |