diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2015-07-19 10:51:34 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2015-10-14 07:47:57 +0000 |
commit | 91cd7b9a33af60e626e6600f066abc0d08926cf3 (patch) | |
tree | 481b5303f99fa00406b62a5f7005ff411f54d736 | |
parent | 67cfdbd22460d592a15adb2fc10cf78fa412dd77 (diff) | |
download | qt-creator-91cd7b9a33af60e626e6600f066abc0d08926cf3.tar.gz |
Main: Replace preprocessor directives with HostOsInfo
Change-Id: I5d72f159baa9a6b22bcb626e55ddf6de7724d4fc
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
-rw-r--r-- | src/app/main.cpp | 82 |
1 files changed, 34 insertions, 48 deletions
diff --git a/src/app/main.cpp b/src/app/main.cpp index bb10f99790..1cfccf42cf 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -96,42 +96,35 @@ const char PLUGINPATH_OPTION[] = "-pluginpath"; typedef QList<PluginSpec *> PluginSpecSet; // Helpers for displaying messages. Note that there is no console on Windows. -#ifdef Q_OS_WIN -// Format as <pre> HTML -static inline void toHtml(QString &t) -{ - t.replace(QLatin1Char('&'), QLatin1String("&")); - t.replace(QLatin1Char('<'), QLatin1String("<")); - t.replace(QLatin1Char('>'), QLatin1String(">")); - t.insert(0, QLatin1String("<html><pre>")); - t.append(QLatin1String("</pre></html>")); -} -static void displayHelpText(QString t) // No console on Windows. -{ - toHtml(t); - QMessageBox::information(0, QLatin1String(appNameC), t); -} - -static void displayError(const QString &t) // No console on Windows. +// Format as <pre> HTML +static inline QString toHtml(const QString &t) { - QMessageBox::critical(0, QLatin1String(appNameC), t); + QString res = t; + res.replace(QLatin1Char('&'), QLatin1String("&")); + res.replace(QLatin1Char('<'), QLatin1String("<")); + res.replace(QLatin1Char('>'), QLatin1String(">")); + res.insert(0, QLatin1String("<html><pre>")); + res.append(QLatin1String("</pre></html>")); + return res; } -#else - static void displayHelpText(const QString &t) { - qWarning("%s", qPrintable(t)); + if (Utils::HostOsInfo::isWindowsHost()) + QMessageBox::information(0, QLatin1String(appNameC), toHtml(t)); + else + qWarning("%s", qPrintable(t)); } static void displayError(const QString &t) { - qCritical("%s", qPrintable(t)); + if (Utils::HostOsInfo::isWindowsHost()) + QMessageBox::critical(0, QLatin1String(appNameC), t); + else + qCritical("%s", qPrintable(t)); } -#endif - static void printVersion(const PluginSpec *coreplugin) { QString version; @@ -200,19 +193,19 @@ static inline QStringList getPluginPaths() QDir rootDir = QApplication::applicationDirPath(); rootDir.cdUp(); const QString rootDirPath = rootDir.canonicalPath(); -#if !defined(Q_OS_MAC) - // 1) "plugins" (Win/Linux) - QString pluginPath = rootDirPath; - pluginPath += QLatin1Char('/'); - pluginPath += QLatin1String(IDE_LIBRARY_BASENAME); - pluginPath += QLatin1String("/qtcreator/plugins"); - rc.push_back(pluginPath); -#else - // 2) "PlugIns" (OS X) - QString pluginPath = rootDirPath; - pluginPath += QLatin1String("/PlugIns"); - rc.push_back(pluginPath); -#endif + QString pluginPath; + if (Utils::HostOsInfo::isMacHost()) { + // 1) "PlugIns" (OS X) + pluginPath = rootDirPath + QLatin1String("/PlugIns"); + rc.push_back(pluginPath); + } else { + // 2) "plugins" (Win/Linux) + pluginPath = rootDirPath; + pluginPath += QLatin1Char('/'); + pluginPath += QLatin1String(IDE_LIBRARY_BASENAME); + pluginPath += QLatin1String("/qtcreator/plugins"); + rc.push_back(pluginPath); + } // 3) <localappdata>/plugins/<ideversion> // where <localappdata> is e.g. // "%LOCALAPPDATA%\QtProject\qtcreator" on Windows Vista and later @@ -225,11 +218,7 @@ static inline QStringList getPluginPaths() pluginPath += QLatin1Char('/') + QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR) + QLatin1Char('/'); -#if !defined(Q_OS_MAC) - pluginPath += QLatin1String("qtcreator"); -#else - pluginPath += QLatin1String("Qt Creator"); -#endif + pluginPath += QLatin1String(Utils::HostOsInfo::isMacHost() ? "Qt Creator" : "qtcreator"); pluginPath += QLatin1String("/plugins/"); pluginPath += QLatin1String(Core::Constants::IDE_VERSION_LONG); rc.push_back(pluginPath); @@ -286,11 +275,8 @@ static inline QSettings *userSettings() return createUserSettings(); } -#ifdef Q_OS_MAC -# define SHARE_PATH "/../Resources" -#else -# define SHARE_PATH "/../share/qtcreator" -#endif +static const char *SHARE_PATH = + Utils::HostOsInfo::isMacHost() ? "/../Resources" : "/../share/qtcreator"; int main(int argc, char **argv) { @@ -391,7 +377,7 @@ int main(int argc, char **argv) if (!overrideLanguage.isEmpty()) uiLanguages.prepend(overrideLanguage); const QString &creatorTrPath = QCoreApplication::applicationDirPath() - + QLatin1String(SHARE_PATH "/translations"); + + QLatin1String(SHARE_PATH) + QLatin1String("/translations"); foreach (QString locale, uiLanguages) { locale = QLocale(locale).name(); if (translator.load(QLatin1String("qtcreator_") + locale, creatorTrPath)) { |