[gnome-software/wip/rancell/ubuntu-3-20-rebase: 30/62] Don't use notification actions under Unity



commit 308268ceab5a3eadcb8a0943cb1311d6001e0bd1
Author: William Hua <william hua canonical com>
Date:   Wed Mar 23 10:27:19 2016 -0400

    Don't use notification actions under Unity

 src/gs-dbus-helper.c    |    9 ++++++---
 src/gs-shell-updates.c  |   12 +++++++-----
 src/gs-update-monitor.c |   29 +++++++++++++++++++----------
 src/gs-utils.c          |   16 +++++++++-------
 4 files changed, 41 insertions(+), 25 deletions(-)
---
diff --git a/src/gs-dbus-helper.c b/src/gs-dbus-helper.c
index be3988d..fa30681 100644
--- a/src/gs-dbus-helper.c
+++ b/src/gs-dbus-helper.c
@@ -32,6 +32,7 @@
 #include "gs-packagekit-modify2-generated.h"
 #include "gs-resources.h"
 #include "gs-shell-extras.h"
+#include "gs-utils.h"
 
 struct _GsDbusHelper {
        GObject                  parent;
@@ -344,9 +345,11 @@ notify_search_resources (GsShellExtrasMode   mode,
 
        n = g_notification_new (title);
        g_notification_set_body (n, body);
-       /* TRANSLATORS: this is a button that launches gnome-software */
-       g_notification_add_button_with_target (n, _("Find in Software"), "app.install-resources", "(s^ass)", 
mode_string, resources, "");
-       g_notification_set_default_action_and_target (n, "app.install-resources", "(s^ass)", mode_string, 
resources, "");
+       if (!gs_utils_is_current_desktop ("Unity")) {
+               /* TRANSLATORS: this is a button that launches gnome-software */
+               g_notification_add_button_with_target (n, _("Find in Software"), "app.install-resources", 
"(s^ass)", mode_string, resources, "");
+               g_notification_set_default_action_and_target (n, "app.install-resources", "(s^ass)", 
mode_string, resources, "");
+       }
        g_application_send_notification (g_application_get_default (), "install-resources", n);
 }
 
diff --git a/src/gs-shell-updates.c b/src/gs-shell-updates.c
index ed6740a..6d242af 100644
--- a/src/gs-shell-updates.c
+++ b/src/gs-shell-updates.c
@@ -976,11 +976,13 @@ gs_shell_updates_offline_update_cb (GsPluginLoader *plugin_loader,
                n = g_notification_new (_("Updates have been installed"));
                /* TRANSLATORS: the new apps will not be run until we restart */
                g_notification_set_body (n, _("A restart is required for them to take effect."));
-               /* TRANSLATORS: button text */
-               g_notification_add_button (n, _("Not Now"), "app.nop");
-               /* TRANSLATORS: button text */
-               g_notification_add_button_with_target (n, _("Restart"), "app.reboot", NULL);
-               g_notification_set_default_action_and_target (n, "app.set-mode", "s", "updates");
+               if (!gs_utils_is_current_desktop ("Unity")) {
+                       /* TRANSLATORS: button text */
+                       g_notification_add_button (n, _("Not Now"), "app.nop");
+                       /* TRANSLATORS: button text */
+                       g_notification_add_button_with_target (n, _("Restart"), "app.reboot", NULL);
+                       g_notification_set_default_action_and_target (n, "app.set-mode", "s", "updates");
+               }
                g_application_send_notification (g_application_get_default (), "restart-required", n);
        }
 }
diff --git a/src/gs-update-monitor.c b/src/gs-update-monitor.c
index fddf25d..1930326 100644
--- a/src/gs-update-monitor.c
+++ b/src/gs-update-monitor.c
@@ -90,17 +90,21 @@ notify_offline_update_available (GsUpdateMonitor *monitor)
                body = _("It is recommended that you install important updates now");
                n = g_notification_new (title);
                g_notification_set_body (n, body);
-               g_notification_add_button (n, _("Restart & Install"), "app.reboot-and-install");
-               g_notification_set_default_action_and_target (n, "app.set-mode", "s", "updates");
+               if (!gs_utils_is_current_desktop ("Unity")) {
+                       g_notification_add_button (n, _("Restart & Install"), "app.reboot-and-install");
+                       g_notification_set_default_action_and_target (n, "app.set-mode", "s", "updates");
+               }
                g_application_send_notification (monitor->application, "updates-available", n);
        } else {
                title = _("Software Updates Available");
                body = _("Important OS and application updates are ready to be installed");
                n = g_notification_new (title);
                g_notification_set_body (n, body);
-               g_notification_add_button (n, _("Not Now"), "app.nop");
-               g_notification_add_button_with_target (n, _("View"), "app.set-mode", "s", "updates");
-               g_notification_set_default_action_and_target (n, "app.set-mode", "s", "updates");
+               if (!gs_utils_is_current_desktop ("Unity")) {
+                       g_notification_add_button (n, _("Not Now"), "app.nop");
+                       g_notification_add_button_with_target (n, _("View"), "app.set-mode", "s", "updates");
+                       g_notification_set_default_action_and_target (n, "app.set-mode", "s", "updates");
+               }
                g_application_send_notification (monitor->application, "updates-available", n);
        }
 }
@@ -233,7 +237,8 @@ get_upgrades_finished_cb (GObject *object,
        /* TRANSLATORS: this is a distro upgrade */
        n = g_notification_new (_("Software Upgrade Available"));
        g_notification_set_body (n, body);
-       g_notification_set_default_action_and_target (n, "app.set-mode", "s", "updates");
+       if (!gs_utils_is_current_desktop ("Unity"))
+               g_notification_set_default_action_and_target (n, "app.set-mode", "s", "updates");
        g_application_send_notification (monitor->application, "upgrades-available", n);
 }
 
@@ -428,8 +433,10 @@ get_updates_historical_cb (GObject *object, GAsyncResult *res, gpointer data)
                        notification = g_notification_new (_("Software Updates Failed"));
                        /* TRANSLATORS: message when we offline updates have failed */
                        g_notification_set_body (notification, _("An important OS update failed to be 
installed."));
-                       g_notification_add_button (notification, _("Show Details"), 
"app.show-offline-update-error");
-                       g_notification_set_default_action (notification, "app.show-offline-update-error");
+                       if (!gs_utils_is_current_desktop ("Unity")) {
+                               g_notification_add_button (notification, _("Show Details"), 
"app.show-offline-update-error");
+                               g_notification_set_default_action (notification, 
"app.show-offline-update-error");
+                       }
                        g_application_send_notification (monitor->application, "offline-updates", 
notification);
                }
                return;
@@ -458,8 +465,10 @@ get_updates_historical_cb (GObject *object, GAsyncResult *res, gpointer data)
         * users can't express their opinions here. In some languages
         * "Review (evaluate) something" is a different translation than
         * "Review (browse) something." */
-       g_notification_add_button_with_target (notification, C_("updates", "Review"), "app.set-mode", "s", 
"updated");
-       g_notification_set_default_action_and_target (notification, "app.set-mode", "s", "updated");
+       if (!gs_utils_is_current_desktop ("Unity")) {
+               g_notification_add_button_with_target (notification, C_("updates", "Review"), "app.set-mode", 
"s", "updated");
+               g_notification_set_default_action_and_target (notification, "app.set-mode", "s", "updated");
+       }
        g_application_send_notification (monitor->application, "offline-updates", notification);
 
        /* update the timestamp so we don't show again */
diff --git a/src/gs-utils.c b/src/gs-utils.c
index 670f896..d30b948 100644
--- a/src/gs-utils.c
+++ b/src/gs-utils.c
@@ -140,14 +140,16 @@ gs_app_notify_installed (GsApp *app)
         * has been successfully installed */
        summary = g_strdup_printf (_("%s is now installed"), gs_app_get_name (app));
        n = g_notification_new (summary);
-       if (gs_app_get_kind (app) == AS_APP_KIND_DESKTOP) {
-               /* TRANSLATORS: this is button that opens the newly installed application */
-               g_notification_add_button_with_target (n, _("Launch"),
-                                                      "app.launch", "s",
-                                                      gs_app_get_id (app));
+       if (!gs_utils_is_current_desktop ("Unity")) {
+               if (gs_app_get_kind (app) == AS_APP_KIND_DESKTOP) {
+                       /* TRANSLATORS: this is button that opens the newly installed application */
+                       g_notification_add_button_with_target (n, _("Launch"),
+                                                              "app.launch", "s",
+                                                              gs_app_get_id (app));
+               }
+               g_notification_set_default_action_and_target  (n, "app.details", "(ss)",
+                                                              gs_app_get_id (app), "");
        }
-       g_notification_set_default_action_and_target  (n, "app.details", "(ss)",
-                                                      gs_app_get_id (app), "");
        g_application_send_notification (g_application_get_default (), "installed", n);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]