diff options
Diffstat (limited to 'src/plugins')
4 files changed, 20 insertions, 91 deletions
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp index 3a3853e002f..3785f51ca07 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp @@ -499,52 +499,8 @@ bool MaemoDebianPackageCreationStep::adaptRulesFile( return false; } QByteArray content = reader.data(); - const int makeInstallLine = content.indexOf("\t$(MAKE) INSTALL_ROOT"); - if (makeInstallLine == -1) - return true; - const int makeInstallEol = content.indexOf('\n', makeInstallLine); - if (makeInstallEol == -1) - return true; - QString desktopFileDir = QFileInfo(rulesFilePath).path() - + QLatin1Char('/') + maemoTarget()->packageName() - + QLatin1String("/usr/share/applications/"); const Qt4BuildConfiguration * const bc = qt4BuildConfiguration(); - const BaseQtVersion *const lqt = bc->qtVersion(); - if (!lqt) - return false; - const MaemoDeviceConfig::OsVersion version - = MaemoGlobal::version(lqt->qmakeCommand()); - if (version == MaemoDeviceConfig::Maemo5) - desktopFileDir += QLatin1String("hildon/"); -#ifdef Q_OS_WIN - desktopFileDir.remove(QLatin1Char(':')); - desktopFileDir.prepend(QLatin1Char('/')); -#endif - int insertPos = makeInstallEol + 1; - for (int i = 0; i < deployConfig()->deployables()->modelCount(); ++i) { - const MaemoDeployableListModel * const model - = deployConfig()->deployables()->modelAt(i); - if (!model->hasDesktopFile()) - continue; - if (version == MaemoDeviceConfig::Maemo6) { - addWorkaroundForHarmattanBug(content, insertPos, - model, desktopFileDir); - } - const QString executableFilePath = model->remoteExecutableFilePath(); - if (executableFilePath.isEmpty()) { - qDebug("%s: Skipping subproject %s with missing deployment information.", - Q_FUNC_INFO, qPrintable(model->proFilePath())); - continue; - } - const QByteArray lineBefore("Exec=.*"); - const QByteArray lineAfter("Exec=" + executableFilePath.toUtf8()); - const QString desktopFilePath = desktopFileDir - + model->applicationName() + QLatin1String(".desktop"); - addSedCmdToRulesFile(content, insertPos, desktopFilePath, lineBefore, - lineAfter); - } - // Always check for dependencies in release builds. if (!(bc->qmakeBuildConfiguration() & BaseQtVersion::DebugBuild)) ensureShlibdeps(content); @@ -560,37 +516,6 @@ bool MaemoDebianPackageCreationStep::adaptRulesFile( return true; } -void MaemoDebianPackageCreationStep::addWorkaroundForHarmattanBug(QByteArray &rulesFileContent, - int &insertPos, const MaemoDeployableListModel *model, - const QString &desktopFileDir) -{ - const QString iconFilePath = model->remoteIconFilePath(); - if (iconFilePath.isEmpty()) - return; - const QByteArray lineBefore("^Icon=.*"); - const QByteArray lineAfter("Icon=" + iconFilePath.toUtf8()); - const QString desktopFilePath - = desktopFileDir + model->applicationName() + QLatin1String(".desktop"); - addSedCmdToRulesFile(rulesFileContent, insertPos, desktopFilePath, - lineBefore, lineAfter); -} - -void MaemoDebianPackageCreationStep::addSedCmdToRulesFile(QByteArray &rulesFileContent, - int &insertPos, const QString &desktopFilePath, const QByteArray &oldString, - const QByteArray &newString) -{ - const QString tmpFilePath = desktopFilePath + QLatin1String(".sed"); - const QByteArray sedCmd = "\tsed 's:" + oldString + ':' + newString - + ":' " + desktopFilePath.toLocal8Bit() + " > " - + tmpFilePath.toLocal8Bit() + " || echo -n\n"; - const QByteArray mvCmd = "\tmv " + tmpFilePath.toLocal8Bit() + ' ' - + desktopFilePath.toLocal8Bit() + " || echo -n\n"; - rulesFileContent.insert(insertPos, sedCmd); - insertPos += sedCmd.length(); - rulesFileContent.insert(insertPos, mvCmd); - insertPos += mvCmd.length(); -} - MaemoRpmPackageCreationStep::MaemoRpmPackageCreationStep(BuildStepList *bsl) : AbstractMaemoPackageCreationStep(bsl, CreatePackageId) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h index 11f9e526c73..3ef2ec54cda 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h @@ -130,12 +130,6 @@ private: static QString packagingCommand(const Qt4BuildConfiguration *bc, const QString &commandName); bool copyDebianFiles(bool inSourceBuild); - void addSedCmdToRulesFile(QByteArray &rulesFileContent, int &insertPos, - const QString &desktopFilePath, const QByteArray &oldString, - const QByteArray &newString); - void addWorkaroundForHarmattanBug(QByteArray &rulesFileContent, - int &insertPos, const MaemoDeployableListModel *model, - const QString &desktopFileDir); void checkProjectName(); bool adaptRulesFile(const QString &templatePath, const QString &rulesFilePath); diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp index b3db49dc742..8ae64ec1e85 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp @@ -170,7 +170,8 @@ QString AbstractMobileApp::path(int fileType) const case AppPro: return outputPathBase() + cleanProjectName + QLatin1String(".pro"); case AppProOrigin: return originsRootApp + QLatin1String("app.pro"); case AppProPath: return outputPathBase(); - case Desktop: return outputPathBase() + cleanProjectName + QLatin1String(".desktop"); + case DesktopFremantle: return outputPathBase() + cleanProjectName + QLatin1String(".desktop"); + case DesktopHarmattan: return outputPathBase() + cleanProjectName + QLatin1String("_harmattan.desktop"); case DesktopOrigin: return originsRootShared + QLatin1String("app.desktop"); case DeploymentPri: return outputPathBase() + DeploymentPriFileName; case DeploymentPriOrigin: return originsRootShared + DeploymentPriFileName; @@ -197,13 +198,18 @@ bool AbstractMobileApp::readTemplate(int fileType, QByteArray *data, QString *er return true; } -QByteArray AbstractMobileApp::generateDesktopFile(QString *errorMessage) const +QByteArray AbstractMobileApp::generateDesktopFile(QString *errorMessage, int fileType) const { QByteArray desktopFileContent; if (!readTemplate(DesktopOrigin, &desktopFileContent, errorMessage)) return QByteArray(); - desktopFileContent.replace("Icon=thisApp", - "Icon=" + projectName().toUtf8() + "64"); + if (fileType == AbstractGeneratedFileInfo::DesktopFileFremantle) { + desktopFileContent.replace("Icon=thisApp", + "Icon=" + projectName().toUtf8() + "64"); + } else if (fileType == AbstractGeneratedFileInfo::DesktopFileHarmattan) { + desktopFileContent.replace("Icon=thisApp", + "Icon=/usr/share/icons/hicolor/80x80/apps/" + projectName().toUtf8() + "80.png"); + } return desktopFileContent.replace("thisApp", projectName().toUtf8()); } @@ -395,7 +401,8 @@ Core::GeneratedFiles AbstractMobileApp::generateFiles(QString *errorMessage) con files << file(generateFile(AbstractGeneratedFileInfo::SymbianSvgIconFile, errorMessage), path(SymbianSvgIcon)); files << file(generateFile(AbstractGeneratedFileInfo::MaemoPngIconFile64, errorMessage), path(MaemoPngIcon64)); files << file(generateFile(AbstractGeneratedFileInfo::MaemoPngIconFile80, errorMessage), path(MaemoPngIcon80)); - files << file(generateFile(AbstractGeneratedFileInfo::DesktopFile, errorMessage), path(Desktop)); + files << file(generateFile(AbstractGeneratedFileInfo::DesktopFileFremantle, errorMessage), path(DesktopFremantle)); + files << file(generateFile(AbstractGeneratedFileInfo::DesktopFileHarmattan, errorMessage), path(DesktopHarmattan)); return files; } #endif // CREATORLESSTEST @@ -437,8 +444,9 @@ QByteArray AbstractMobileApp::generateFile(int fileType, case AbstractGeneratedFileInfo::MaemoPngIconFile80: data = readBlob(path(MaemoPngIconOrigin80), errorMessage); break; - case AbstractGeneratedFileInfo::DesktopFile: - data = generateDesktopFile(errorMessage); + case AbstractGeneratedFileInfo::DesktopFileFremantle: + case AbstractGeneratedFileInfo::DesktopFileHarmattan: + data = generateDesktopFile(errorMessage, fileType); break; case AbstractGeneratedFileInfo::DeploymentPriFile: data = readBlob(path(DeploymentPriOrigin), errorMessage); diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.h b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.h index 23325d95e2e..5fbed9ce5be 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.h +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.h @@ -59,7 +59,8 @@ struct SymbianSvgIconFile, MaemoPngIconFile64, MaemoPngIconFile80, - DesktopFile, + DesktopFileFremantle, + DesktopFileHarmattan, ExtendedFile }; @@ -97,7 +98,8 @@ public: AppPro, AppProOrigin, AppProPath, - Desktop, + DesktopFremantle, + DesktopHarmattan, DesktopOrigin, DeploymentPri, DeploymentPriOrigin, @@ -166,7 +168,7 @@ protected: QString m_error; private: - QByteArray generateDesktopFile(QString *errorMessage) const; + QByteArray generateDesktopFile(QString *errorMessage, int fileType) const; QByteArray generateMainCpp(QString *errorMessage) const; QByteArray generateProFile(QString *errorMessage) const; |