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