Maemo: Hide features incompatible with current Maemo version.

Reviewed-by: kh1
This commit is contained in:
Christian Kandeler
2010-08-23 17:49:07 +02:00
parent 7b276878b1
commit 245865092b
7 changed files with 69 additions and 5 deletions

View File

@@ -98,8 +98,12 @@ MaemoPackageCreationStep::~MaemoPackageCreationStep()
void MaemoPackageCreationStep::ctor() void MaemoPackageCreationStep::ctor()
{ {
setDisplayName(tr("Packaging for Maemo")); setDisplayName(tr("Packaging for Maemo"));
connect(buildConfiguration(), SIGNAL(buildDirectoryChanged()), this,
SIGNAL(packageFilePathChanged())); m_lastBuildConfig = qt4BuildConfiguration();
connect(target(),
SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)),
this, SLOT(handleBuildConfigChanged()));
handleBuildConfigChanged();
} }
bool MaemoPackageCreationStep::init() bool MaemoPackageCreationStep::init()
@@ -274,6 +278,19 @@ void MaemoPackageCreationStep::handleBuildOutput()
} }
} }
void MaemoPackageCreationStep::handleBuildConfigChanged()
{
if (m_lastBuildConfig)
disconnect(m_lastBuildConfig, 0, this, 0);
m_lastBuildConfig = qt4BuildConfiguration();
connect(m_lastBuildConfig, SIGNAL(qtVersionChanged()), this,
SIGNAL(qtVersionChanged()));
connect(m_lastBuildConfig, SIGNAL(buildDirectoryChanged()), this,
SIGNAL(packageFilePathChanged()));
emit qtVersionChanged();
emit packageFilePathChanged();
}
const Qt4BuildConfiguration *MaemoPackageCreationStep::qt4BuildConfiguration() const const Qt4BuildConfiguration *MaemoPackageCreationStep::qt4BuildConfiguration() const
{ {
return static_cast<Qt4BuildConfiguration *>(buildConfiguration()); return static_cast<Qt4BuildConfiguration *>(buildConfiguration());

View File

@@ -74,6 +74,8 @@ public:
QString versionString(QString *error) const; QString versionString(QString *error) const;
bool setVersionString(const QString &version, QString *error); bool setVersionString(const QString &version, QString *error);
const MaemoToolChain *maemoToolChain() const;
static bool preparePackagingProcess(QProcess *proc, const MaemoToolChain *tc, static bool preparePackagingProcess(QProcess *proc, const MaemoToolChain *tc,
const QString &workingDir, QString *error); const QString &workingDir, QString *error);
static QString packagingCommand(const MaemoToolChain *tc, static QString packagingCommand(const MaemoToolChain *tc,
@@ -86,9 +88,11 @@ public:
signals: signals:
void packageFilePathChanged(); void packageFilePathChanged();
void qtVersionChanged();
private slots: private slots:
void handleBuildOutput(); void handleBuildOutput();
void handleBuildConfigChanged();
private: private:
MaemoPackageCreationStep(ProjectExplorer::BuildStepList *buildConfig, MaemoPackageCreationStep(ProjectExplorer::BuildStepList *buildConfig,
@@ -114,7 +118,6 @@ private:
QString buildDirectory() const; QString buildDirectory() const;
QString projectName() const; QString projectName() const;
const Qt4BuildConfiguration *qt4BuildConfiguration() const; const Qt4BuildConfiguration *qt4BuildConfiguration() const;
const MaemoToolChain *maemoToolChain() const;
MaemoDeployStep * deployStep() const; MaemoDeployStep * deployStep() const;
void checkProjectName(); void checkProjectName();
@@ -122,6 +125,7 @@ private:
bool m_packagingEnabled; bool m_packagingEnabled;
QScopedPointer<QProcess> m_buildProc; QScopedPointer<QProcess> m_buildProc;
const Qt4BuildConfiguration *m_lastBuildConfig;
}; };
} // namespace Internal } // namespace Internal

View File

@@ -44,6 +44,7 @@
#include "maemopackagecreationstep.h" #include "maemopackagecreationstep.h"
#include "maemotemplatesmanager.h" #include "maemotemplatesmanager.h"
#include "maemotoolchain.h"
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
@@ -83,6 +84,9 @@ void MaemoPackageCreationWidget::initGui()
updatePackageManagerIcon(project); updatePackageManagerIcon(project);
connect(m_step, SIGNAL(packageFilePathChanged()), this, connect(m_step, SIGNAL(packageFilePathChanged()), this,
SIGNAL(updateSummary())); SIGNAL(updateSummary()));
connect(m_step, SIGNAL(qtVersionChanged()), this,
SLOT(handleToolchainChanged()));
handleToolchainChanged();
versionInfoChanged(); versionInfoChanged();
connect(MaemoTemplatesManager::instance(), connect(MaemoTemplatesManager::instance(),
SIGNAL(debianDirContentsChanged(const ProjectExplorer::Project*)), SIGNAL(debianDirContentsChanged(const ProjectExplorer::Project*)),
@@ -158,6 +162,14 @@ void MaemoPackageCreationWidget::setPackageManagerIcon()
} }
} }
void MaemoPackageCreationWidget::handleToolchainChanged()
{
m_ui->skipCheckBox
->setVisible(m_step->maemoToolChain()->allowsPackagingDisabling());
m_ui->skipCheckBox->setChecked(!m_step->isPackagingEnabled());
emit updateSummary();
}
QString MaemoPackageCreationWidget::summaryText() const QString MaemoPackageCreationWidget::summaryText() const
{ {
const QString constantString = tr("<b>Create Package:</b> "); const QString constantString = tr("<b>Create Package:</b> ");

View File

@@ -50,7 +50,6 @@ QT_END_NAMESPACE
namespace Qt4ProjectManager { namespace Qt4ProjectManager {
namespace Internal { namespace Internal {
class MaemoPackageCreationStep; class MaemoPackageCreationStep;
class MaemoPackageCreationWidget : public ProjectExplorer::BuildStepConfigWidget class MaemoPackageCreationWidget : public ProjectExplorer::BuildStepConfigWidget
@@ -72,6 +71,7 @@ private slots:
void updateVersionInfo(const ProjectExplorer::Project *project); void updateVersionInfo(const ProjectExplorer::Project *project);
void updatePackageManagerIcon(const ProjectExplorer::Project *project); void updatePackageManagerIcon(const ProjectExplorer::Project *project);
void setPackageManagerIcon(); void setPackageManagerIcon();
void handleToolchainChanged();
private: private:
MaemoPackageCreationStep * const m_step; MaemoPackageCreationStep * const m_step;

View File

@@ -55,7 +55,6 @@ class Qt4Target;
class MaemoDeviceConfigListModel; class MaemoDeviceConfigListModel;
class MaemoDeployStep; class MaemoDeployStep;
class MaemoManager; class MaemoManager;
class MaemoPackageCreationStep;
class MaemoRemoteMountsModel; class MaemoRemoteMountsModel;
class MaemoRunConfigurationFactory; class MaemoRunConfigurationFactory;
class MaemoToolChain; class MaemoToolChain;

View File

@@ -42,10 +42,13 @@
#include "maemoremotemountsmodel.h" #include "maemoremotemountsmodel.h"
#include "maemorunconfiguration.h" #include "maemorunconfiguration.h"
#include "maemosettingspage.h" #include "maemosettingspage.h"
#include "maemotoolchain.h"
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <projectexplorer/environmenteditmodel.h> #include <projectexplorer/environmenteditmodel.h>
#include <qt4projectmanager/qt4buildconfiguration.h>
#include <qt4projectmanager/qt4target.h>
#include <utils/detailswidget.h> #include <utils/detailswidget.h>
#include <QtGui/QComboBox> #include <QtGui/QComboBox>
@@ -71,6 +74,7 @@ MaemoRunConfigurationWidget::MaemoRunConfigurationWidget(
m_ignoreChange(false), m_ignoreChange(false),
m_deviceEnvReader(new MaemoDeviceEnvReader(this, runConfiguration)) m_deviceEnvReader(new MaemoDeviceEnvReader(this, runConfiguration))
{ {
m_lastActiveBuildConfig = m_runConfiguration->activeQt4BuildConfiguration();
QVBoxLayout *mainLayout = new QVBoxLayout; QVBoxLayout *mainLayout = new QVBoxLayout;
setLayout(mainLayout); setLayout(mainLayout);
addGenericWidgets(mainLayout); addGenericWidgets(mainLayout);
@@ -82,6 +86,10 @@ MaemoRunConfigurationWidget::MaemoRunConfigurationWidget(
SIGNAL(deviceConfigurationChanged(ProjectExplorer::Target*)), SIGNAL(deviceConfigurationChanged(ProjectExplorer::Target*)),
this, SLOT(handleCurrentDeviceConfigChanged())); this, SLOT(handleCurrentDeviceConfigChanged()));
handleCurrentDeviceConfigChanged(); handleCurrentDeviceConfigChanged();
connect(m_runConfiguration->qt4Target(),
SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)),
this, SLOT(handleBuildConfigChanged()));
handleBuildConfigChanged();
} }
void MaemoRunConfigurationWidget::addGenericWidgets(QVBoxLayout *mainLayout) void MaemoRunConfigurationWidget::addGenericWidgets(QVBoxLayout *mainLayout)
@@ -262,6 +270,26 @@ void MaemoRunConfigurationWidget::handleDeploySpecsChanged()
m_remoteExecutableLabel->setText(m_runConfiguration->remoteExecutableFilePath()); m_remoteExecutableLabel->setText(m_runConfiguration->remoteExecutableFilePath());
} }
void MaemoRunConfigurationWidget::handleBuildConfigChanged()
{
if (m_lastActiveBuildConfig)
disconnect(m_lastActiveBuildConfig, 0, this, 0);
m_lastActiveBuildConfig = m_runConfiguration->activeQt4BuildConfiguration();
if (m_lastActiveBuildConfig) {
connect(m_lastActiveBuildConfig, SIGNAL(qtVersionChanged()), this,
SLOT(handleToolchainChanged()));
}
handleToolchainChanged();
}
void MaemoRunConfigurationWidget::handleToolchainChanged()
{
const bool remoteMountsAvailable
= m_runConfiguration->toolchain()->allowsRemoteMounts();
m_debugDetailsContainer->setVisible(remoteMountsAvailable);
m_mountDetailsContainer->setVisible(remoteMountsAvailable);
}
void MaemoRunConfigurationWidget::showSettingsDialog(const QString &link) void MaemoRunConfigurationWidget::showSettingsDialog(const QString &link)
{ {
if (link == QLatin1String("deviceconfig")) { if (link == QLatin1String("deviceconfig")) {

View File

@@ -60,6 +60,7 @@ namespace Internal {
class MaemoDeviceEnvReader; class MaemoDeviceEnvReader;
class MaemoRunConfiguration; class MaemoRunConfiguration;
class Qt4BuildConfiguration;
class MaemoRunConfigurationWidget : public QWidget class MaemoRunConfigurationWidget : public QWidget
{ {
@@ -88,6 +89,8 @@ private slots:
void userEnvironmentChangesChanged(const QList<ProjectExplorer::EnvironmentItem> &userChanges); void userEnvironmentChangesChanged(const QList<ProjectExplorer::EnvironmentItem> &userChanges);
void handleRemoteMountsChanged(); void handleRemoteMountsChanged();
void handleDeploySpecsChanged(); void handleDeploySpecsChanged();
void handleBuildConfigChanged();
void handleToolchainChanged();
private: private:
void addGenericWidgets(QVBoxLayout *mainLayout); void addGenericWidgets(QVBoxLayout *mainLayout);
@@ -113,6 +116,7 @@ private:
QComboBox *m_baseEnvironmentComboBox; QComboBox *m_baseEnvironmentComboBox;
MaemoDeviceEnvReader *m_deviceEnvReader; MaemoDeviceEnvReader *m_deviceEnvReader;
ProjectExplorer::EnvironmentWidget *m_environmentWidget; ProjectExplorer::EnvironmentWidget *m_environmentWidget;
Qt4BuildConfiguration *m_lastActiveBuildConfig;
}; };
} // namespace Internal } // namespace Internal