aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp75
-rw-r--r--src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h6
-rw-r--r--src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp22
-rw-r--r--src/plugins/qt4projectmanager/wizards/abstractmobileapp.h8
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;