From 37546c563e32960fbf50d4a692993721ae2da273 Mon Sep 17 00:00:00 2001 From: Vincent A Date: Wed, 7 Mar 2012 19:24:29 +0100 Subject: [PATCH] Support Growl >=1.3 in QSystemTrayIcon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The app name has changed in Growl 1.3, but the id stays the same. Also don't send notifications if Growl is not running to follow recommendations. Change-Id: I31ff7df272b4af1b4f1e4db80c47e7ba75038dec Reviewed-by: Morten Johan Sørvig --- src/widgets/util/qsystemtrayicon_mac.mm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/widgets/util/qsystemtrayicon_mac.mm b/src/widgets/util/qsystemtrayicon_mac.mm index 59342cb8a4..7f7d7cdc6a 100644 --- a/src/widgets/util/qsystemtrayicon_mac.mm +++ b/src/widgets/util/qsystemtrayicon_mac.mm @@ -260,7 +260,11 @@ void QSystemTrayIconPrivate::showMessage_sys(const QString &title, const QString notificationIcon = QLatin1String("image from location \"file://") + notificationIconFile.fileName() + QLatin1String("\""); } const QString script(QLatin1String( - "tell application \"GrowlHelperApp\"\n" + "tell application \"System Events\"\n" + "set isRunning to (count of (every process whose bundle identifier is \"com.Growl.GrowlHelperApp\")) > 0\n" + "end tell\n" + "if isRunning\n" + "tell application id \"com.Growl.GrowlHelperApp\"\n" "-- Make a list of all the notification types (all)\n" "set the allNotificationsList to {\"") + notificationType + QLatin1String("\"}\n" @@ -276,7 +280,7 @@ void QSystemTrayIconPrivate::showMessage_sys(const QString &title, const QString QLatin1String("\" description \"") + message + QLatin1String("\" application name \"") + notificationApp + QLatin1String("\" ") + notificationIcon + - QLatin1String("\nend tell")); + QLatin1String("\nend tell\nend if")); qt_mac_execute_apple_script(script, 0); #elif 0 Q_Q(QSystemTrayIcon);