]> git.0d.be Git - empathy.git/blobdiff - src/empathy-notifications-approver.c
Merge branch 'change-audio'
[empathy.git] / src / empathy-notifications-approver.c
index b4d7a1b552507b5ce9800cff407cc2bfda8e66e4..aa46308493d4526d0da5f4f3d3e066c159624023 100644 (file)
@@ -219,7 +219,7 @@ add_notification_actions (EmpathyNotificationsApprover *self,
 
       if (video && self->priv->event->type == EMPATHY_EVENT_TYPE_CALL)
           notify_notification_add_action (notification,
-          "answer", _("Answer"),
+          "answer-no-video", _("Answer"),
           (NotifyActionCallback) notification_approve_no_video_cb,
           self, NULL);
 
@@ -290,6 +290,8 @@ notification_is_urgent (EmpathyNotificationsApprover *self,
   return FALSE;
 }
 
+/* Use x-empathy as prefix for unofficial categories
+ * http://www.galago-project.org/specs/notification/0.9/x211.html */
 static const gchar *
 get_category_for_event_type (EmpathyEventType type)
 {
@@ -302,11 +304,15 @@ get_category_for_event_type (EmpathyEventType type)
       return "presence.offline";
     case EMPATHY_EVENT_TYPE_VOIP:
     case EMPATHY_EVENT_TYPE_CALL:
+      return "x-empathy.call.incoming";
     case EMPATHY_EVENT_TYPE_TRANSFER:
+      return "x-empathy.transfer.incoming";
     case EMPATHY_EVENT_TYPE_INVITATION:
+      return "x-empathy.im.room-invitation";
     case EMPATHY_EVENT_TYPE_AUTH:
+      return "x-empathy.network.auth-request";
     case EMPATHY_EVENT_TYPE_SUBSCRIPTION:
-      return NULL;
+      return "x-empathy.im.subscription-request";
   }
 
   return NULL;
@@ -374,9 +380,11 @@ update_notification (EmpathyNotificationsApprover *self)
           NOTIFY_EXPIRES_DEFAULT);
 
       if (has_x_canonical_append)
-        /* We have to set a not empty string to keep libnotify happy */
-        notify_notification_set_hint_string (notification,
-            EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_APPEND, "1");
+        {
+          notify_notification_set_hint (notification,
+              EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_APPEND,
+              g_variant_new_boolean (TRUE));
+        }
 
       if (empathy_notify_manager_has_capability (self->priv->notify_mgr,
             EMPATHY_NOTIFY_MANAGER_CAP_ACTIONS))
@@ -387,8 +395,11 @@ update_notification (EmpathyNotificationsApprover *self)
 
       category = get_category_for_event_type (self->priv->event->type);
       if (category != NULL)
-        notify_notification_set_hint_string (notification,
-            EMPATHY_NOTIFY_MANAGER_CAP_CATEGORY, category);
+        {
+          notify_notification_set_hint (notification,
+              EMPATHY_NOTIFY_MANAGER_CAP_CATEGORY,
+              g_variant_new_string (category));
+        }
     }
 
   pixbuf = empathy_notify_manager_get_pixbuf_for_notification (
@@ -397,7 +408,7 @@ update_notification (EmpathyNotificationsApprover *self)
 
   if (pixbuf != NULL)
     {
-      notify_notification_set_icon_from_pixbuf (notification, pixbuf);
+      notify_notification_set_image_from_pixbuf (notification, pixbuf);
       g_object_unref (pixbuf);
     }