diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp index 5d64d96492f5a1c3323993afe127ba05b11327a4..3ab3575939df8a3dc46db6f4efe51621debecf3b 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp @@ -230,8 +230,10 @@ bool MaemoPackageCreationStep::copyDebianFiles() ->debianDirPath(buildConfiguration()->target()->project()); QDir templatesDir(templatesDirPath); const QStringList &files = templatesDir.entryList(QDir::Files); - const bool isHarmattanDevice - = maemoToolChain()->version() == MaemoToolChain::Maemo6; + const bool harmattanWorkaroundNeeded + = maemoToolChain()->version() == MaemoToolChain::Maemo6 + && !qt4BuildConfiguration()->qt4Target()->qt4Project() + ->applicationProFiles().isEmpty(); foreach (const QString &fileName, files) { const QString srcFile = templatesDirPath + QLatin1Char('/') + fileName; @@ -245,7 +247,7 @@ bool MaemoPackageCreationStep::copyDebianFiles() } // Workaround for Harmattan icon bug - if (isHarmattanDevice && fileName == QLatin1String("rules")) + if (harmattanWorkaroundNeeded && fileName == QLatin1String("rules")) addWorkaroundForHarmattanBug(destFile); } return true; @@ -549,20 +551,32 @@ void MaemoPackageCreationStep::addWorkaroundForHarmattanBug(const QString &rules const QByteArray lineBefore("Icon=" + projectName().toUtf8()); const QByteArray lineAfter("Icon=/usr/share/icons/hicolor/64x64/apps/" + projectName().toUtf8() + ".png"); - QString desktopFilePath = QFileInfo(rulesFile).dir().path() + QString desktopFileDir = QFileInfo(rulesFile).dir().path() + QLatin1Char('/') + projectName() - + QLatin1String("/usr/share/applications/") + projectName() - + QLatin1String(".desktop"); + + QLatin1String("/usr/share/applications/"); #ifdef Q_OS_WIN - desktopFilePath.remove(QLatin1Char(':')); - desktopFilePath.prepend(QLatin1Char('/')); + desktopFileDir.remove(QLatin1Char(':')); + desktopFileDir.prepend(QLatin1Char('/')); #endif - const QByteArray tmpFile = desktopFilePath.toUtf8() + ".sed"; - const QByteArray sedCmd = "\tsed 's:" + lineBefore + ':' - + lineAfter + ":' " + desktopFilePath.toLocal8Bit() + " > " + tmpFile; - content.insert(makeInstallEol + 1, sedCmd); - content.insert(makeInstallEol + 1 + sedCmd.length() + 1, - "\tmv " + tmpFile + ' ' + desktopFilePath.toUtf8()); + const QList<Qt4ProFileNode *> &proFiles = qt4BuildConfiguration() + ->qt4Target()->qt4Project()->applicationProFiles(); + int insertPos = makeInstallEol + 1; + foreach (const Qt4ProFileNode * const proFile, proFiles) { + const QString appName = proFile->targetInformation().target; + const QString desktopFilePath + = desktopFileDir + appName + QLatin1String(".desktop"); + const QString tmpFile + = desktopFileDir + appName + QLatin1String(".sed"); + const QByteArray sedCmd = "\tsed 's:" + lineBefore + ':' + lineAfter + + ":' " + desktopFilePath.toLocal8Bit() + " > " + tmpFile.toUtf8() + + '\n'; + const QByteArray mvCmd = "\tmv " + tmpFile.toUtf8() + ' ' + + desktopFilePath.toUtf8() + '\n'; + content.insert(insertPos, sedCmd); + insertPos += sedCmd.length(); + content.insert(insertPos, mvCmd); + insertPos += mvCmd.length(); + } rulesFile.resize(0); rulesFile.write(content); } diff --git a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp index c6b2e97b7766f342fad0841680c3dd8719cc1915..59b32183e48c81c3f1575c708feb825e928f71d8 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp @@ -313,9 +313,6 @@ MobileLibraryParameters LibraryWizardDialog::mobileLibraryParameters() const mlp.symbianCapabilities |= m_mobilePage->networkEnabled()?MobileLibraryParameters::NetworkServices:0; } - if (mlp.type & MobileLibraryParameters::Maemo) { - //TODO fill this for Maemo - } return mlp; } diff --git a/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp b/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp index 66d10816fcdf2e2915f9e505277458390db3e3cc..d38b9893bc9e89788b073099cbd69f7f7e5fbb63 100644 --- a/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp +++ b/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp @@ -103,13 +103,18 @@ void MobileLibraryParameters::writeSymbianProFile(QTextStream &str) const " addFiles.sources = " + fileName + ".dll\n" " addFiles.path = !:/sys/bin\n" " DEPLOYMENT += addFiles\n" - "}\n"; + "}"; } void MobileLibraryParameters::writeMaemoProFile(QTextStream &str) const { - str << "\n" - "maemo {\n" //TODO fill it for Maemo + str << " else:unix {\n" + " maemo5 {\n" + " target.path = /opt/usr/lib\n" + " } else {\n" + " target.path = /usr/local/lib\n" + " }\n" + " INSTALLS += target\n" "}\n"; }