forked from qt-creator/qt-creator
Installing on a drive other than C: for Symbian OS
Silent installation added to Sumbian's Run Configuration UI Reviewed-by: Tobias Hunger
This commit is contained in:
@@ -128,6 +128,8 @@ bool S60DeployStep::init()
|
|||||||
m_serialPortFriendlyName = SymbianUtils::SymbianDeviceManager::instance()->friendlyNameForPort(m_serialPortName);
|
m_serialPortFriendlyName = SymbianUtils::SymbianDeviceManager::instance()->friendlyNameForPort(m_serialPortName);
|
||||||
m_packageFileNameWithTarget = runConfiguration->packageFileNameWithTargetInfo();
|
m_packageFileNameWithTarget = runConfiguration->packageFileNameWithTargetInfo();
|
||||||
m_signedPackage = runConfiguration->signedPackage();
|
m_signedPackage = runConfiguration->signedPackage();
|
||||||
|
m_installationDrive = runConfiguration->installationDrive();
|
||||||
|
m_silentInstall = runConfiguration->silentInstall();
|
||||||
|
|
||||||
setDisplayName(tr("Deploy", "Qt4 DeployStep display name."));
|
setDisplayName(tr("Deploy", "Qt4 DeployStep display name."));
|
||||||
QString message;
|
QString message;
|
||||||
@@ -250,11 +252,14 @@ void S60DeployStep::startDeployment()
|
|||||||
Q_ASSERT(m_launcher);
|
Q_ASSERT(m_launcher);
|
||||||
|
|
||||||
setupConnections();
|
setupConnections();
|
||||||
//TODO sisx destination and file path user definable
|
|
||||||
const QString copyDst = QString::fromLatin1("C:\\Data\\%1").arg(QFileInfo(m_signedPackage).fileName());
|
const QString copyDst = QString::fromLatin1("%1:\\Data\\%2").arg(m_installationDrive).arg(QFileInfo(m_signedPackage).fileName());
|
||||||
|
|
||||||
m_launcher->setCopyFileName(m_signedPackage, copyDst);
|
m_launcher->setCopyFileName(m_signedPackage, copyDst);
|
||||||
m_launcher->setInstallFileName(copyDst);
|
m_launcher->setInstallFileName(copyDst);
|
||||||
|
m_launcher->setInstallationDrive(m_installationDrive);
|
||||||
|
m_launcher->setInstallationMode(m_silentInstall?trk::Launcher::InstallationModeSilent:
|
||||||
|
trk::Launcher::InstallationModeUser);
|
||||||
m_launcher->addStartupActions(trk::Launcher::ActionCopyInstall);
|
m_launcher->addStartupActions(trk::Launcher::ActionCopyInstall);
|
||||||
|
|
||||||
appendMessage(tr("Package: %1\nDeploying application to '%2'...").arg(m_signedPackage, m_serialPortFriendlyName), false);
|
appendMessage(tr("Package: %1\nDeploying application to '%2'...").arg(m_signedPackage, m_serialPortFriendlyName), false);
|
||||||
@@ -347,7 +352,7 @@ void S60DeployStep::printCopyingNotice()
|
|||||||
|
|
||||||
void S60DeployStep::printInstallingNotice()
|
void S60DeployStep::printInstallingNotice()
|
||||||
{
|
{
|
||||||
appendMessage(tr("Installing application..."), false);
|
appendMessage(tr("Installing application on drive %1:...").arg(m_installationDrive), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void S60DeployStep::printInstallingFinished()
|
void S60DeployStep::printInstallingFinished()
|
||||||
|
|||||||
@@ -143,7 +143,8 @@ private:
|
|||||||
|
|
||||||
QEventLoop *m_eventLoop;
|
QEventLoop *m_eventLoop;
|
||||||
bool m_deployResult;
|
bool m_deployResult;
|
||||||
|
char m_installationDrive;
|
||||||
|
bool m_silentInstall;
|
||||||
};
|
};
|
||||||
|
|
||||||
class S60DeployStepWidget : public ProjectExplorer::BuildStepConfigWidget
|
class S60DeployStepWidget : public ProjectExplorer::BuildStepConfigWidget
|
||||||
|
|||||||
@@ -72,6 +72,8 @@ const char * const PRO_FILE_KEY("Qt4ProjectManager.S60DeviceRunConfiguration.Pro
|
|||||||
const char * const SERIAL_PORT_NAME_KEY("Qt4ProjectManager.S60DeviceRunConfiguration.SerialPortName");
|
const char * const SERIAL_PORT_NAME_KEY("Qt4ProjectManager.S60DeviceRunConfiguration.SerialPortName");
|
||||||
const char * const COMMUNICATION_TYPE_KEY("Qt4ProjectManager.S60DeviceRunConfiguration.CommunicationType");
|
const char * const COMMUNICATION_TYPE_KEY("Qt4ProjectManager.S60DeviceRunConfiguration.CommunicationType");
|
||||||
const char * const COMMAND_LINE_ARGUMENTS_KEY("Qt4ProjectManager.S60DeviceRunConfiguration.CommandLineArguments");
|
const char * const COMMAND_LINE_ARGUMENTS_KEY("Qt4ProjectManager.S60DeviceRunConfiguration.CommandLineArguments");
|
||||||
|
const char * const INSTALLATION_DRIVE_LETTER_KEY("Qt4ProjectManager.S60DeviceRunConfiguration.InstallationDriveLetter");
|
||||||
|
const char * const SILENT_INSTALL_KEY("Qt4ProjectManager.S60DeviceRunConfiguration.SilentInstall");
|
||||||
|
|
||||||
const int PROGRESS_DEPLOYBASE = 0;
|
const int PROGRESS_DEPLOYBASE = 0;
|
||||||
const int PROGRESS_PACKAGEDEPLOYED = 100;
|
const int PROGRESS_PACKAGEDEPLOYED = 100;
|
||||||
@@ -115,10 +117,11 @@ S60DeviceRunConfiguration::S60DeviceRunConfiguration(Target *parent, const QStri
|
|||||||
m_proFilePath(proFilePath),
|
m_proFilePath(proFilePath),
|
||||||
m_activeBuildConfiguration(0),
|
m_activeBuildConfiguration(0),
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
m_serialPortName(QLatin1String("COM5"))
|
m_serialPortName(QLatin1String("COM5")),
|
||||||
#else
|
#else
|
||||||
m_serialPortName(QLatin1String(SymbianUtils::SymbianDeviceManager::linuxBlueToothDeviceRootC) + QLatin1Char('0'))
|
m_serialPortName(QLatin1String(SymbianUtils::SymbianDeviceManager::linuxBlueToothDeviceRootC) + QLatin1Char('0')),
|
||||||
#endif
|
#endif
|
||||||
|
m_installationDrive('C')
|
||||||
{
|
{
|
||||||
ctor();
|
ctor();
|
||||||
}
|
}
|
||||||
@@ -127,7 +130,8 @@ S60DeviceRunConfiguration::S60DeviceRunConfiguration(Target *target, S60DeviceRu
|
|||||||
RunConfiguration(target, source),
|
RunConfiguration(target, source),
|
||||||
m_proFilePath(source->m_proFilePath),
|
m_proFilePath(source->m_proFilePath),
|
||||||
m_activeBuildConfiguration(0),
|
m_activeBuildConfiguration(0),
|
||||||
m_serialPortName(source->m_serialPortName)
|
m_serialPortName(source->m_serialPortName),
|
||||||
|
m_installationDrive(source->m_installationDrive)
|
||||||
{
|
{
|
||||||
ctor();
|
ctor();
|
||||||
}
|
}
|
||||||
@@ -221,6 +225,8 @@ QVariantMap S60DeviceRunConfiguration::toMap() const
|
|||||||
map.insert(QLatin1String(PRO_FILE_KEY), projectDir.relativeFilePath(m_proFilePath));
|
map.insert(QLatin1String(PRO_FILE_KEY), projectDir.relativeFilePath(m_proFilePath));
|
||||||
map.insert(QLatin1String(SERIAL_PORT_NAME_KEY), m_serialPortName);
|
map.insert(QLatin1String(SERIAL_PORT_NAME_KEY), m_serialPortName);
|
||||||
map.insert(QLatin1String(COMMAND_LINE_ARGUMENTS_KEY), m_commandLineArguments);
|
map.insert(QLatin1String(COMMAND_LINE_ARGUMENTS_KEY), m_commandLineArguments);
|
||||||
|
map.insert(QLatin1String(INSTALLATION_DRIVE_LETTER_KEY), QChar(m_installationDrive));
|
||||||
|
map.insert(QLatin1String(SILENT_INSTALL_KEY), QVariant(m_silentInstall));
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
@@ -232,6 +238,9 @@ bool S60DeviceRunConfiguration::fromMap(const QVariantMap &map)
|
|||||||
m_proFilePath = projectDir.filePath(map.value(QLatin1String(PRO_FILE_KEY)).toString());
|
m_proFilePath = projectDir.filePath(map.value(QLatin1String(PRO_FILE_KEY)).toString());
|
||||||
m_serialPortName = map.value(QLatin1String(SERIAL_PORT_NAME_KEY)).toString().trimmed();
|
m_serialPortName = map.value(QLatin1String(SERIAL_PORT_NAME_KEY)).toString().trimmed();
|
||||||
m_commandLineArguments = map.value(QLatin1String(COMMAND_LINE_ARGUMENTS_KEY)).toStringList();
|
m_commandLineArguments = map.value(QLatin1String(COMMAND_LINE_ARGUMENTS_KEY)).toStringList();
|
||||||
|
m_installationDrive = map.value(QLatin1String(INSTALLATION_DRIVE_LETTER_KEY), QChar('C'))
|
||||||
|
.toChar().toAscii();
|
||||||
|
m_silentInstall = map.value(QLatin1String(SILENT_INSTALL_KEY), QVariant(true)).toBool();
|
||||||
|
|
||||||
return RunConfiguration::fromMap(map);
|
return RunConfiguration::fromMap(map);
|
||||||
}
|
}
|
||||||
@@ -250,6 +259,16 @@ void S60DeviceRunConfiguration::setSerialPortName(const QString &name)
|
|||||||
emit serialPortNameChanged();
|
emit serialPortNameChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char S60DeviceRunConfiguration::installationDrive() const
|
||||||
|
{
|
||||||
|
return m_installationDrive;
|
||||||
|
}
|
||||||
|
|
||||||
|
void S60DeviceRunConfiguration::setInstallationDrive(char drive)
|
||||||
|
{
|
||||||
|
m_installationDrive = drive;
|
||||||
|
}
|
||||||
|
|
||||||
QString S60DeviceRunConfiguration::targetName() const
|
QString S60DeviceRunConfiguration::targetName() const
|
||||||
{
|
{
|
||||||
TargetInformation ti = qt4Target()->qt4Project()->rootProjectNode()->targetInformation(m_proFilePath);
|
TargetInformation ti = qt4Target()->qt4Project()->rootProjectNode()->targetInformation(m_proFilePath);
|
||||||
@@ -404,6 +423,16 @@ void S60DeviceRunConfiguration::setCommandLineArguments(const QStringList &args)
|
|||||||
m_commandLineArguments = args;
|
m_commandLineArguments = args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool S60DeviceRunConfiguration::silentInstall() const
|
||||||
|
{
|
||||||
|
return m_silentInstall;
|
||||||
|
}
|
||||||
|
|
||||||
|
void S60DeviceRunConfiguration::setSilentInstall(bool v)
|
||||||
|
{
|
||||||
|
m_silentInstall = v;
|
||||||
|
}
|
||||||
|
|
||||||
// ======== S60DeviceRunConfigurationFactory
|
// ======== S60DeviceRunConfigurationFactory
|
||||||
|
|
||||||
S60DeviceRunConfigurationFactory::S60DeviceRunConfigurationFactory(QObject *parent) :
|
S60DeviceRunConfigurationFactory::S60DeviceRunConfigurationFactory(QObject *parent) :
|
||||||
@@ -511,6 +540,7 @@ S60DeviceRunControlBase::S60DeviceRunControlBase(RunConfiguration *runConfigurat
|
|||||||
m_targetName = s60runConfig->targetName();
|
m_targetName = s60runConfig->targetName();
|
||||||
m_commandLineArguments = s60runConfig->commandLineArguments();
|
m_commandLineArguments = s60runConfig->commandLineArguments();
|
||||||
m_qtDir = activeBuildConf->qtVersion()->versionInfo().value("QT_INSTALL_DATA");
|
m_qtDir = activeBuildConf->qtVersion()->versionInfo().value("QT_INSTALL_DATA");
|
||||||
|
m_installationDrive = s60runConfig->installationDrive();
|
||||||
if (const QtVersion *qtv = s60runConfig->qtVersion())
|
if (const QtVersion *qtv = s60runConfig->qtVersion())
|
||||||
m_qtBinPath = qtv->versionInfo().value(QLatin1String("QT_INSTALL_BINS"));
|
m_qtBinPath = qtv->versionInfo().value(QLatin1String("QT_INSTALL_BINS"));
|
||||||
QTC_ASSERT(!m_qtBinPath.isEmpty(), return);
|
QTC_ASSERT(!m_qtBinPath.isEmpty(), return);
|
||||||
@@ -608,10 +638,10 @@ void S60DeviceRunControlBase::startDeployment()
|
|||||||
connect(m_launcher, SIGNAL(processStopped(uint,uint,uint,QString)),
|
connect(m_launcher, SIGNAL(processStopped(uint,uint,uint,QString)),
|
||||||
this, SLOT(processStopped(uint,uint,uint,QString)));
|
this, SLOT(processStopped(uint,uint,uint,QString)));
|
||||||
|
|
||||||
//TODO sisx destination and file path user definable
|
|
||||||
if (!m_commandLineArguments.isEmpty())
|
if (!m_commandLineArguments.isEmpty())
|
||||||
m_launcher->setCommandLineArgs(m_commandLineArguments);
|
m_launcher->setCommandLineArgs(m_commandLineArguments);
|
||||||
const QString runFileName = QString::fromLatin1("C:\\sys\\bin\\%1.exe").arg(m_targetName);
|
|
||||||
|
const QString runFileName = QString::fromLatin1("%1:\\sys\\bin\\%2.exe").arg(m_installationDrive).arg(m_targetName);
|
||||||
initLauncher(runFileName, m_launcher);
|
initLauncher(runFileName, m_launcher);
|
||||||
const trk::PromptStartCommunicationResult src =
|
const trk::PromptStartCommunicationResult src =
|
||||||
S60RunConfigBluetoothStarter::startCommunication(m_launcher->trkDevice(),
|
S60RunConfigBluetoothStarter::startCommunication(m_launcher->trkDevice(),
|
||||||
|
|||||||
@@ -79,6 +79,9 @@ public:
|
|||||||
QString serialPortName() const;
|
QString serialPortName() const;
|
||||||
void setSerialPortName(const QString &name);
|
void setSerialPortName(const QString &name);
|
||||||
|
|
||||||
|
char installationDrive() const;
|
||||||
|
void setInstallationDrive(char drive);
|
||||||
|
|
||||||
QString targetName() const;
|
QString targetName() const;
|
||||||
QString packageFileNameWithTargetInfo() const;
|
QString packageFileNameWithTargetInfo() const;
|
||||||
QString symbianPlatform() const;
|
QString symbianPlatform() const;
|
||||||
@@ -93,6 +96,9 @@ public:
|
|||||||
QStringList commandLineArguments() const;
|
QStringList commandLineArguments() const;
|
||||||
void setCommandLineArguments(const QStringList &args);
|
void setCommandLineArguments(const QStringList &args);
|
||||||
|
|
||||||
|
bool silentInstall() const;
|
||||||
|
void setSilentInstall(bool v);
|
||||||
|
|
||||||
ProjectExplorer::ToolChain::ToolChainType toolChainType() const;
|
ProjectExplorer::ToolChain::ToolChainType toolChainType() const;
|
||||||
|
|
||||||
QVariantMap toMap() const;
|
QVariantMap toMap() const;
|
||||||
@@ -119,6 +125,9 @@ private:
|
|||||||
ProjectExplorer::BuildConfiguration *m_activeBuildConfiguration;
|
ProjectExplorer::BuildConfiguration *m_activeBuildConfiguration;
|
||||||
QString m_serialPortName;
|
QString m_serialPortName;
|
||||||
QStringList m_commandLineArguments;
|
QStringList m_commandLineArguments;
|
||||||
|
|
||||||
|
char m_installationDrive;
|
||||||
|
bool m_silentInstall;
|
||||||
};
|
};
|
||||||
|
|
||||||
class S60DeviceRunConfigurationFactory : public ProjectExplorer::IRunConfigurationFactory
|
class S60DeviceRunConfigurationFactory : public ProjectExplorer::IRunConfigurationFactory
|
||||||
@@ -196,6 +205,7 @@ private:
|
|||||||
bool m_handleDeviceRemoval;
|
bool m_handleDeviceRemoval;
|
||||||
QFutureInterface<void> *m_deployProgress;
|
QFutureInterface<void> *m_deployProgress;
|
||||||
trk::Launcher *m_launcher;
|
trk::Launcher *m_launcher;
|
||||||
|
char m_installationDrive;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Configure launcher to run the application
|
// Configure launcher to run the application
|
||||||
|
|||||||
@@ -55,6 +55,7 @@
|
|||||||
#include <QtGui/QSpacerItem>
|
#include <QtGui/QSpacerItem>
|
||||||
#include <QtGui/QMainWindow>
|
#include <QtGui/QMainWindow>
|
||||||
#include <QtGui/QMessageBox>
|
#include <QtGui/QMessageBox>
|
||||||
|
#include <QtGui/QCheckBox>
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(SymbianUtils::SymbianDevice)
|
Q_DECLARE_METATYPE(SymbianUtils::SymbianDevice)
|
||||||
|
|
||||||
@@ -67,6 +68,9 @@ enum { wantUpdateSerialDevicesButton = 1 };
|
|||||||
namespace Qt4ProjectManager {
|
namespace Qt4ProjectManager {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
|
const char STARTING_DRIVE_LETTER = 'C';
|
||||||
|
const char LAST_DRIVE_LETTER = 'Z';
|
||||||
|
|
||||||
S60DeviceRunConfigurationWidget::S60DeviceRunConfigurationWidget(
|
S60DeviceRunConfigurationWidget::S60DeviceRunConfigurationWidget(
|
||||||
S60DeviceRunConfiguration *runConfiguration,
|
S60DeviceRunConfiguration *runConfiguration,
|
||||||
QWidget *parent)
|
QWidget *parent)
|
||||||
@@ -80,7 +84,9 @@ S60DeviceRunConfigurationWidget::S60DeviceRunConfigurationWidget(
|
|||||||
m_deviceInfoButton(new QToolButton),
|
m_deviceInfoButton(new QToolButton),
|
||||||
m_deviceInfoDescriptionLabel(new QLabel(tr("Device:"))),
|
m_deviceInfoDescriptionLabel(new QLabel(tr("Device:"))),
|
||||||
m_deviceInfoLabel(new QLabel),
|
m_deviceInfoLabel(new QLabel),
|
||||||
m_infoTimeOutTimer(0)
|
m_infoTimeOutTimer(0),
|
||||||
|
m_installationDriveCombo(new QComboBox),
|
||||||
|
m_silentInstallCheckBox(new QCheckBox(tr("Silent installation")))
|
||||||
{
|
{
|
||||||
m_detailsWidget->setState(Utils::DetailsWidget::NoSummary);
|
m_detailsWidget->setState(Utils::DetailsWidget::NoSummary);
|
||||||
updateTargetInformation();
|
updateTargetInformation();
|
||||||
@@ -105,6 +111,23 @@ S60DeviceRunConfigurationWidget::S60DeviceRunConfigurationWidget(
|
|||||||
formLayout->addRow(tr("Arguments:"), m_argumentsLineEdit);
|
formLayout->addRow(tr("Arguments:"), m_argumentsLineEdit);
|
||||||
formLayout->addRow(tr("Installation file:"), m_sisFileLabel);
|
formLayout->addRow(tr("Installation file:"), m_sisFileLabel);
|
||||||
|
|
||||||
|
// Installation Drive control
|
||||||
|
updateInstallationDrives();
|
||||||
|
m_installationDriveCombo->setSizeAdjustPolicy(QComboBox::AdjustToContents);
|
||||||
|
connect(m_installationDriveCombo, SIGNAL(activated(int)), this, SLOT(setInstallationDrive(int)));
|
||||||
|
QHBoxLayout *installationDriveHBoxLayout = new QHBoxLayout;
|
||||||
|
installationDriveHBoxLayout->addWidget(m_installationDriveCombo);
|
||||||
|
installationDriveHBoxLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Ignored));
|
||||||
|
formLayout->addRow(tr("Installation drive:"), installationDriveHBoxLayout);
|
||||||
|
|
||||||
|
// Non-silent installs are a fallback if one wants to override missing dependencies.
|
||||||
|
m_silentInstallCheckBox->setChecked(m_runConfiguration->silentInstall());
|
||||||
|
m_silentInstallCheckBox->setToolTip(tr("Silent installation is an installation mode "
|
||||||
|
"that does not require user's intervention. "
|
||||||
|
"In case it fails the non silent installation is launched."));
|
||||||
|
connect(m_silentInstallCheckBox, SIGNAL(stateChanged(int)), this, SLOT(silentInstallChanged(int)));
|
||||||
|
formLayout->addRow(m_silentInstallCheckBox);
|
||||||
|
|
||||||
updateSerialDevices();
|
updateSerialDevices();
|
||||||
connect(SymbianUtils::SymbianDeviceManager::instance(), SIGNAL(updated()),
|
connect(SymbianUtils::SymbianDeviceManager::instance(), SIGNAL(updated()),
|
||||||
this, SLOT(updateSerialDevices()));
|
this, SLOT(updateSerialDevices()));
|
||||||
@@ -144,6 +167,25 @@ S60DeviceRunConfigurationWidget::S60DeviceRunConfigurationWidget(
|
|||||||
this, SLOT(updateTargetInformation()));
|
this, SLOT(updateTargetInformation()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void S60DeviceRunConfigurationWidget::updateInstallationDrives()
|
||||||
|
{
|
||||||
|
m_installationDriveCombo->clear();
|
||||||
|
for (int i = STARTING_DRIVE_LETTER; i <= LAST_DRIVE_LETTER; ++i) {
|
||||||
|
m_installationDriveCombo->addItem(QString("%1:").arg((char)i), qVariantFromValue(i));
|
||||||
|
}
|
||||||
|
int index = (char)QChar::toUpper((uint)m_runConfiguration->installationDrive())-STARTING_DRIVE_LETTER;
|
||||||
|
|
||||||
|
Q_ASSERT(index>= 0 && index <= LAST_DRIVE_LETTER-STARTING_DRIVE_LETTER);
|
||||||
|
|
||||||
|
m_installationDriveCombo->setCurrentIndex(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
void S60DeviceRunConfigurationWidget::silentInstallChanged(int state)
|
||||||
|
{
|
||||||
|
bool isSilent = state == Qt::Checked;
|
||||||
|
m_runConfiguration->setSilentInstall(isSilent);
|
||||||
|
}
|
||||||
|
|
||||||
void S60DeviceRunConfigurationWidget::updateSerialDevices()
|
void S60DeviceRunConfigurationWidget::updateSerialDevices()
|
||||||
{
|
{
|
||||||
m_serialPortsCombo->clear();
|
m_serialPortsCombo->clear();
|
||||||
@@ -208,6 +250,11 @@ void S60DeviceRunConfigurationWidget::updateTargetInformation()
|
|||||||
m_sisFileLabel->setText(QDir::toNativeSeparators(m_runConfiguration->signedPackage()));
|
m_sisFileLabel->setText(QDir::toNativeSeparators(m_runConfiguration->signedPackage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void S60DeviceRunConfigurationWidget::setInstallationDrive(int index)
|
||||||
|
{
|
||||||
|
m_runConfiguration->setInstallationDrive((char)(STARTING_DRIVE_LETTER + index));
|
||||||
|
}
|
||||||
|
|
||||||
void S60DeviceRunConfigurationWidget::setSerialPort(int index)
|
void S60DeviceRunConfigurationWidget::setSerialPort(int index)
|
||||||
{
|
{
|
||||||
const SymbianUtils::SymbianDevice d = device(index);
|
const SymbianUtils::SymbianDevice d = device(index);
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ class QTimer;
|
|||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
class QComboBox;
|
class QComboBox;
|
||||||
class QToolButton;
|
class QToolButton;
|
||||||
|
class QCheckBox;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
namespace Utils {
|
namespace Utils {
|
||||||
@@ -72,12 +73,15 @@ private slots:
|
|||||||
void displayNameEdited(const QString &text);
|
void displayNameEdited(const QString &text);
|
||||||
void argumentsEdited(const QString &text);
|
void argumentsEdited(const QString &text);
|
||||||
void updateTargetInformation();
|
void updateTargetInformation();
|
||||||
|
void updateInstallationDrives();
|
||||||
void updateSerialDevices();
|
void updateSerialDevices();
|
||||||
|
void setInstallationDrive(int index);
|
||||||
void setSerialPort(int index);
|
void setSerialPort(int index);
|
||||||
void updateDeviceInfo();
|
void updateDeviceInfo();
|
||||||
void clearDeviceInfo();
|
void clearDeviceInfo();
|
||||||
void slotLauncherStateChanged(int);
|
void slotLauncherStateChanged(int);
|
||||||
void slotWaitingForTrkClosed();
|
void slotWaitingForTrkClosed();
|
||||||
|
void silentInstallChanged(int);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
inline SymbianUtils::SymbianDevice device(int i) const;
|
inline SymbianUtils::SymbianDevice device(int i) const;
|
||||||
@@ -96,6 +100,8 @@ private:
|
|||||||
QLabel *m_deviceInfoLabel;
|
QLabel *m_deviceInfoLabel;
|
||||||
QTimer *m_infoTimeOutTimer;
|
QTimer *m_infoTimeOutTimer;
|
||||||
QPointer<trk::Launcher> m_infoLauncher;
|
QPointer<trk::Launcher> m_infoLauncher;
|
||||||
|
QComboBox *m_installationDriveCombo;
|
||||||
|
QCheckBox *m_silentInstallCheckBox;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ struct LauncherPrivate {
|
|||||||
CrashReportState m_crashReportState;
|
CrashReportState m_crashReportState;
|
||||||
Launcher::InstallationMode m_installationMode;
|
Launcher::InstallationMode m_installationMode;
|
||||||
Launcher::InstallationMode m_currentInstallationStep;
|
Launcher::InstallationMode m_currentInstallationStep;
|
||||||
|
char m_installationDrive;
|
||||||
};
|
};
|
||||||
|
|
||||||
LauncherPrivate::LauncherPrivate(const TrkDevicePtr &d) :
|
LauncherPrivate::LauncherPrivate(const TrkDevicePtr &d) :
|
||||||
@@ -112,7 +113,8 @@ LauncherPrivate::LauncherPrivate(const TrkDevicePtr &d) :
|
|||||||
m_verbose(0),
|
m_verbose(0),
|
||||||
m_closeDevice(true),
|
m_closeDevice(true),
|
||||||
m_installationMode(Launcher::InstallationModeSilentAndUser),
|
m_installationMode(Launcher::InstallationModeSilentAndUser),
|
||||||
m_currentInstallationStep(Launcher::InstallationModeSilent)
|
m_currentInstallationStep(Launcher::InstallationModeSilent),
|
||||||
|
m_installationDrive('C')
|
||||||
{
|
{
|
||||||
if (m_device.isNull())
|
if (m_device.isNull())
|
||||||
m_device = TrkDevicePtr(new TrkDevice);
|
m_device = TrkDevicePtr(new TrkDevice);
|
||||||
@@ -156,6 +158,11 @@ void Launcher::setInstallationMode(InstallationMode installation)
|
|||||||
d->m_installationMode = installation;
|
d->m_installationMode = installation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Launcher::setInstallationDrive(char drive)
|
||||||
|
{
|
||||||
|
d->m_installationDrive = drive;
|
||||||
|
}
|
||||||
|
|
||||||
void Launcher::addStartupActions(trk::Launcher::Actions startupActions)
|
void Launcher::addStartupActions(trk::Launcher::Actions startupActions)
|
||||||
{
|
{
|
||||||
d->m_startupActions = Actions(d->m_startupActions | startupActions);
|
d->m_startupActions = Actions(d->m_startupActions | startupActions);
|
||||||
@@ -228,6 +235,11 @@ Launcher::InstallationMode Launcher::installationMode() const
|
|||||||
return d->m_installationMode;
|
return d->m_installationMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char Launcher::installationDrive() const
|
||||||
|
{
|
||||||
|
return d->m_installationDrive;
|
||||||
|
}
|
||||||
|
|
||||||
bool Launcher::startServer(QString *errorMessage)
|
bool Launcher::startServer(QString *errorMessage)
|
||||||
{
|
{
|
||||||
errorMessage->clear();
|
errorMessage->clear();
|
||||||
@@ -862,7 +874,7 @@ void Launcher::installRemotePackageSilently()
|
|||||||
emit installingStarted();
|
emit installingStarted();
|
||||||
d->m_currentInstallationStep = InstallationModeSilent;
|
d->m_currentInstallationStep = InstallationModeSilent;
|
||||||
QByteArray ba;
|
QByteArray ba;
|
||||||
ba.append('C');
|
ba.append((char)QChar::toUpper((ushort)d->m_installationDrive));
|
||||||
appendString(&ba, d->m_installFileName.toLocal8Bit(), TargetByteOrder, false);
|
appendString(&ba, d->m_installFileName.toLocal8Bit(), TargetByteOrder, false);
|
||||||
d->m_device->sendTrkMessage(TrkInstallFile, TrkCallback(this, &Launcher::handleInstallPackageFinished), ba);
|
d->m_device->sendTrkMessage(TrkInstallFile, TrkCallback(this, &Launcher::handleInstallPackageFinished), ba);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,10 +95,12 @@ public:
|
|||||||
void setCommandLineArgs(const QStringList &args);
|
void setCommandLineArgs(const QStringList &args);
|
||||||
bool startServer(QString *errorMessage);
|
bool startServer(QString *errorMessage);
|
||||||
void setInstallationMode(InstallationMode installation);
|
void setInstallationMode(InstallationMode installation);
|
||||||
|
void setInstallationDrive(char drive);
|
||||||
void setVerbose(int v);
|
void setVerbose(int v);
|
||||||
void setSerialFrame(bool b);
|
void setSerialFrame(bool b);
|
||||||
|
|
||||||
InstallationMode installationMode() const;
|
InstallationMode installationMode() const;
|
||||||
|
char installationDrive() const;
|
||||||
|
|
||||||
bool serialFrame() const;
|
bool serialFrame() const;
|
||||||
// Close device or leave it open
|
// Close device or leave it open
|
||||||
|
|||||||
Reference in New Issue
Block a user