diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp index 8a48c64fee0..38e531a9723 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp @@ -33,7 +33,7 @@ #include "maemodeploystepwidget.h" #include "ui_maemodeploystepwidget.h" -#include "abstractlinuxdevicedeploystep.h" +#include "abstractmaemodeploystep.h" #include "maemodeviceconfigurations.h" #include "maemosettingspages.h" #include "maemoglobal.h" @@ -53,8 +53,7 @@ using namespace ProjectExplorer; namespace Qt4ProjectManager { namespace Internal { -MaemoDeployStepWidget::MaemoDeployStepWidget(AbstractLinuxDeviceDeployStep *step) : - ProjectExplorer::BuildStepConfigWidget(), +MaemoDeployStepBaseWidget::MaemoDeployStepBaseWidget(AbstractLinuxDeviceDeployStep *step) : ui(new Ui::MaemoDeployStepWidget), m_step(step) { @@ -67,12 +66,12 @@ MaemoDeployStepWidget::MaemoDeployStepWidget(AbstractLinuxDeviceDeployStep *step SLOT(handleStepToBeRemoved(int))); } -MaemoDeployStepWidget::~MaemoDeployStepWidget() +MaemoDeployStepBaseWidget::~MaemoDeployStepBaseWidget() { delete ui; } -void MaemoDeployStepWidget::init() +void MaemoDeployStepBaseWidget::init() { ui->deviceConfigComboBox->setModel(m_step->maemoDeployConfig()->deviceConfigModel()); connect(&m_step->helper(), SIGNAL(deviceConfigChanged()), @@ -84,7 +83,7 @@ void MaemoDeployStepWidget::init() SLOT(showDeviceConfigurations())); } -void MaemoDeployStepWidget::handleDeviceUpdate() +void MaemoDeployStepBaseWidget::handleDeviceUpdate() { const MaemoDeviceConfig::ConstPtr &devConf = m_step->helper().deviceConfig(); const MaemoDeviceConfig::Id internalId @@ -95,7 +94,7 @@ void MaemoDeployStepWidget::handleDeviceUpdate() emit updateSummary(); } -void MaemoDeployStepWidget::handleStepToBeRemoved(int step) +void MaemoDeployStepBaseWidget::handleStepToBeRemoved(int step) { BuildStepList * const list = m_step->maemoDeployConfig()->stepList(); const AbstractLinuxDeviceDeployStep * const alds @@ -104,7 +103,7 @@ void MaemoDeployStepWidget::handleStepToBeRemoved(int step) disconnect(list, 0, this, 0); } -QString MaemoDeployStepWidget::summaryText() const +QString MaemoDeployStepBaseWidget::summaryText() const { QString error; if (!m_step->isDeploymentPossible(error)) { @@ -112,16 +111,11 @@ QString MaemoDeployStepWidget::summaryText() const + tr("Cannot deploy: %1").arg(error) + QLatin1String(""); } - return tr("%1 to device: %2").arg(dynamic_cast(m_step)->displayName(), + return tr("%1 using device: %2").arg(dynamic_cast(m_step)->displayName(), MaemoGlobal::deviceConfigurationName(m_step->helper().deviceConfig())); } -QString MaemoDeployStepWidget::displayName() const -{ - return QString(); -} - -void MaemoDeployStepWidget::setCurrentDeviceConfig(int index) +void MaemoDeployStepBaseWidget::setCurrentDeviceConfig(int index) { disconnect(&m_step->helper(), SIGNAL(deviceConfigChanged()), this, SLOT(handleDeviceUpdate())); @@ -131,12 +125,20 @@ void MaemoDeployStepWidget::setCurrentDeviceConfig(int index) updateSummary(); } -void MaemoDeployStepWidget::showDeviceConfigurations() +void MaemoDeployStepBaseWidget::showDeviceConfigurations() { MaemoDeviceConfigurationsSettingsPage *page = MaemoManager::instance().deviceConfigurationsSettingsPage(); Core::ICore::instance()->showOptionsDialog(page->category(), page->id()); } + +MaemoDeployStepWidget::MaemoDeployStepWidget(AbstractMaemoDeployStep *step) + : m_baseWidget(step) +{ + connect(&m_baseWidget, SIGNAL(updateSummary()), SIGNAL(updateSummary())); + (new QVBoxLayout(this))->addWidget(&m_baseWidget); +} + } // namespace Internal } // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.h b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.h index 8fa86955acd..84e17fa1d26 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.h @@ -44,14 +44,21 @@ QT_END_NAMESPACE namespace Qt4ProjectManager { namespace Internal { class AbstractLinuxDeviceDeployStep; +class AbstractMaemoDeployStep; -class MaemoDeployStepWidget : public ProjectExplorer::BuildStepConfigWidget +class MaemoDeployStepBaseWidget : public QWidget { Q_OBJECT public: - MaemoDeployStepWidget(AbstractLinuxDeviceDeployStep *step); - ~MaemoDeployStepWidget(); + MaemoDeployStepBaseWidget(AbstractLinuxDeviceDeployStep *step); + ~MaemoDeployStepBaseWidget(); + + void init(); + QString summaryText() const; + +signals: + void updateSummary(); private: Q_SLOT void handleDeviceUpdate(); @@ -59,14 +66,24 @@ private: Q_SLOT void showDeviceConfigurations(); Q_SLOT void handleStepToBeRemoved(int step); - virtual void init(); - virtual QString summaryText() const; - virtual QString displayName() const; - Ui::MaemoDeployStepWidget *ui; AbstractLinuxDeviceDeployStep *const m_step; }; +class MaemoDeployStepWidget : public ProjectExplorer::BuildStepConfigWidget +{ + Q_OBJECT +public: + MaemoDeployStepWidget(AbstractMaemoDeployStep *step); + +private: + virtual void init() { return m_baseWidget.init(); } + virtual QString summaryText() const { return m_baseWidget.summaryText(); } + virtual QString displayName() const { return QString(); } + + MaemoDeployStepBaseWidget m_baseWidget; +}; + } // namespace Internal } // namespace Qt4ProjectManager