From f86ccf296db3d358d26620454546435f67094458 Mon Sep 17 00:00:00 2001 From: Pawel Polanski Date: Mon, 9 May 2011 17:07:06 +0200 Subject: [PATCH] Symbian: Application display name can be changed When publishing to Ovi Store the application's name can be changed in the Publishing Wizard Task-number: QTCREATORBUG-4816 --- .../qt-s60/s60publisherovi.cpp | 36 +- .../qt-s60/s60publisherovi.h | 5 + .../s60publishingsissettingspageovi.cpp | 28 + .../qt-s60/s60publishingsissettingspageovi.h | 2 + .../qt-s60/s60publishingsissettingspageovi.ui | 655 ++++++++++-------- 5 files changed, 424 insertions(+), 302 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp b/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp index 0b0d7dba281..ec77ff32f01 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp @@ -103,6 +103,12 @@ void S60PublisherOvi::setBuildConfiguration(Qt4BuildConfiguration *qt4bc) m_qt4bc = qt4bc; } + +void S60PublisherOvi::setDisplayName(const QString &displayName) +{ + m_displayName = displayName; +} + void S60PublisherOvi::setVendorName(const QString &vendorName) { m_vendorName = vendorName; @@ -159,7 +165,6 @@ void S60PublisherOvi::completeCreation() m_createSisProc->setWorkingDirectory(m_qt4bc->buildDirectory()); // set up access to vendor names - QStringList deploymentLevelVars = m_reader->values("DEPLOYMENT"); QStringList vendorInfoVars; QStringList valueLevelVars; @@ -178,6 +183,24 @@ void S60PublisherOvi::completeCreation() } } +QString S60PublisherOvi::nameFromTarget() const +{ + QString target = m_reader->value(QLatin1String("TARGET")); + if (target.isEmpty()) + target = QFileInfo(m_qt4project->rootProjectNode()->path()).baseName(); + return target; +} + +QString S60PublisherOvi::displayName() const +{ + const QStringList displayNameList = m_reader->values(QLatin1String("DEPLOYMENT.display_name")); + + if (displayNameList.isEmpty()) + return nameFromTarget(); + + return displayNameList.join(QLatin1String(" ")); +} + QString S60PublisherOvi::globalVendorName() const { QStringList vendorinfos = m_reader->values(m_vendorInfoVariable); @@ -297,11 +320,14 @@ void S60PublisherOvi::updateProFile(const QString &var, const QString &values) void S60PublisherOvi::updateProFile() { if (m_vendorInfoVariable.isEmpty()) { - m_vendorInfoVariable = "vendorinfo"; - updateProFile("my_deployment.pkg_prerules", m_vendorInfoVariable); - updateProFile("DEPLOYMENT", "my_deployment"); + m_vendorInfoVariable = QLatin1String("vendorinfo"); + updateProFile(QLatin1String("my_deployment.pkg_prerules"), m_vendorInfoVariable); + updateProFile(QLatin1String("DEPLOYMENT"), QLatin1String("my_deployment")); } + if (!m_displayName.isEmpty() && m_displayName != nameFromTarget()) + updateProFile(QLatin1String("DEPLOYMENT.display_name"), m_displayName); + updateProFile(m_vendorInfoVariable, "\"%{" + m_localVendorNames + "}\" \":\\\"" + m_vendorName + "\\\"\"" ); updateProFile("TARGET.UID3", m_appUid); } @@ -366,8 +392,6 @@ void S60PublisherOvi::endBuild(int result) QString resultFile = m_qt4bc->buildDirectory() + "/" + m_qt4project->displayName() + fileNamePostFix; - - QFileInfo fi(resultFile); if (result == QProcess::NormalExit && fi.exists()) { emit progressReport(tr("Created %1\n").arg(QDir::toNativeSeparators(resultFile)), m_normalColor); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.h b/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.h index 3f470fa70b2..9647f879562 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.h @@ -105,10 +105,12 @@ public: void cleanUp(); void completeCreation(); + QString displayName() const; QString globalVendorName() const; QString localisedVendorNames() const; bool isVendorNameValid(const QString &vendorName) const; + QString nameFromTarget() const; QString qtVersion() const; QString uid3() const; @@ -128,10 +130,12 @@ public: bool hasSucceeded(); + void setDisplayName(const QString &displayName); void setVendorName(const QString &vendorName); void setLocalVendorNames(const QString &localVendorNames); void setAppUid(const QString &appuid); + signals: void progressReport(const QString& status, QColor c); void succeeded(); @@ -165,6 +169,7 @@ private: QString m_vendorName; QString m_localVendorNames; QString m_appUid; + QString m_displayName; bool m_finishedAndSuccessful; }; diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.cpp b/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.cpp index b0305ae88c0..18aedc0b7bb 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.cpp @@ -76,6 +76,11 @@ void S60PublishingSisSettingsPageOvi::initializePage() showWarningsForUnenforcableChecks(); + //Check Display Name + ui->displayNameLineEdit->setText(m_publisher->displayName()); + displayNameChanged(); + connect(ui->displayNameLineEdit,SIGNAL(textChanged(QString)),SLOT(displayNameChanged())); + //Check Global Vendor Name ui->globalVendorNameLineEdit->setText(m_publisher->globalVendorName()); globalVendorNameChanged(); @@ -131,6 +136,29 @@ void S60PublishingSisSettingsPageOvi::reflectSettingState(bool settingState, QLa wizard()->setTitleFormat(wizard()->titleFormat()); } +void S60PublishingSisSettingsPageOvi::displayNameChanged() +{ + reflectSettingState(!ui->displayNameLineEdit->text().isEmpty(), + ui->displayNameOkLabel, + ui->displayNameErrorLabel, + ui->displayNameErrorReasonLabel, + tr("This should be application's display name.
" + "It can't' be empty.
")); + + const int visibleCharacters = 12; + if (ui->displayNameLineEdit->text().length() > visibleCharacters) { + ui->displayNameWarningLabel->show(); + ui->displayNameWarningReasonLabel->setText(tr("The display name is quite long.
" + "It might not be fully visible in the phone's menu.
")); + ui->displayNameWarningReasonLabel->show(); + } else { + ui->displayNameWarningLabel->hide(); + ui->displayNameWarningReasonLabel->hide(); + } + + m_publisher->setDisplayName(ui->displayNameLineEdit->text()); +} + void S60PublishingSisSettingsPageOvi::globalVendorNameChanged() { reflectSettingState(m_publisher->isVendorNameValid(ui->globalVendorNameLineEdit->text()), diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.h b/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.h index a18c9f58b94..f469b575841 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.h @@ -59,12 +59,14 @@ public: virtual void initializePage(); virtual void cleanupPage(); + private slots: void globalVendorNameChanged(); void localisedVendorNamesChanged(); void qtVersionChanged(); void uid3Changed(); void capabilitiesChanged(); + void displayNameChanged(); private: void reflectSettingState(bool settingState, QLabel *okLabel, QLabel *errorLabel, QLabel *errorReasonLabel, const QString &errorReason); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.ui b/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.ui index 3a3d00fb240..8db4b0ab0cc 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.ui +++ b/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.ui @@ -6,8 +6,8 @@ 0 0 - 301 - 346 + 453 + 630 @@ -23,31 +23,324 @@ QLayout::SetMinAndMaxSize - - + + + + + 0 + 0 + + - Global vendor name: + - - + + + + + 0 + 0 + + - :/projectexplorer/images/ConnectionOn.png + :/projectexplorer/images/compile_error.png - - + + - Qt version used in builds: + + + + :/projectexplorer/images/ConnectionOn.png - + + + + Localised Vendor Names + + + + + + + Current Global Vendor Name + + + + + + + + 0 + 0 + + + + + + + + + + + Qt::Horizontal + + + + + + + + + + :/projectexplorer/images/compile_error.png + + + + + + + Display name: + + + + + + + + + + + + + + + + + :/projectexplorer/images/compile_warning.png + + + + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + :/projectexplorer/images/compile_warning.png + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + :/projectexplorer/images/compile_warning.png + + + + + + + + 0 + 0 + + + + + + + :/projectexplorer/images/compile_warning.png + + + + + + + + 0 + 0 + + + + + + + + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + + + :/projectexplorer/images/compile_error.png + + + + + + + + 0 + 0 + + + + + + + :/projectexplorer/images/compile_error.png + + + + + + + + 0 + 0 + + + + + + + :/projectexplorer/images/compile_error.png + + + + + + + Localised vendor names: + + + + + + + Capabilities: + + + + + + + + 0 + 0 + + + + + + + + + + + + + + :/projectexplorer/images/ConnectionOn.png + + + + + + + Current UID3 + + + + + + + Application UID: + + + + + + + + + + :/projectexplorer/images/ConnectionOn.png + + + + @@ -63,48 +356,14 @@ - - + + - - - - :/projectexplorer/images/ConnectionOn.png + Qt version used in builds: - - - - Application UID: - - - - - - - - - - :/projectexplorer/images/ConnectionOn.png - - - - - - - Current UID3 - - - - - - - Capabilities: - - - - + QFrame::NoFrame @@ -114,18 +373,39 @@ - - + + + + Global vendor name: + + + + + - :/projectexplorer/images/ConnectionOn.png + :/projectexplorer/images/ConnectionOn.png - - + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + 0 @@ -135,22 +415,12 @@ - - - - - - - 0 - 0 - - - - + + :/projectexplorer/images/compile_error.png - + @@ -163,8 +433,8 @@ - - + + 0 @@ -176,257 +446,48 @@ - - - - Qt::Horizontal - - - - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - + + - :/projectexplorer/images/compile_error.png + :/projectexplorer/images/ConnectionOn.png - - - - - 0 - 0 - - + + - :/projectexplorer/images/compile_error.png + :/projectexplorer/images/compile_warning.png - - - - - 0 - 0 - - + + + + + - :/projectexplorer/images/compile_error.png + :/projectexplorer/images/ConnectionOn.png - - - - - 0 - 0 - - - - - - - :/projectexplorer/images/compile_error.png - - - - - - - Current Global Vendor Name - - - - - - - Localised vendor names: - - - - - - - Localised Vendor Names - - - - - - - - - - :/projectexplorer/images/ConnectionOn.png - - - - - - - - 0 - 0 - - - - - - - :/projectexplorer/images/compile_error.png - - - - - - - - 0 - 0 - - + + - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - - - - :/projectexplorer/images/compile_warning.png - - - - - - - - 0 - 0 - - - - - - - - - - - - 0 - 0 - - - - - - - :/projectexplorer/images/compile_warning.png - - - - - - - - 0 - 0 - - - - - - - - - - - - 0 - 0 - - - - - - - :/projectexplorer/images/compile_warning.png - - - - - - - - 0 - 0 - - - - - - - - - - - Qt::Horizontal - - - - - - - - - - :/projectexplorer/images/compile_warning.png - - - - - + + @@ -434,6 +495,8 @@ - + + +