[Xfce4-commits] [apps/xfce4-notifyd] 11/24: panel-plugin: Distinguish "unread" and "unread while in do not disturb" states

noreply at xfce.org noreply at xfce.org
Fri Sep 8 23:27:42 CEST 2017


This is an automated email from the git hooks/post-receive script.

o   c   h   o   s   i       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository apps/xfce4-notifyd.

commit 936042e3883c46be3542a8630b31fa075a71c5ad
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date:   Wed Aug 23 01:34:31 2017 +0200

    panel-plugin: Distinguish "unread" and "unread while in do not disturb" states
---
 icons/scalable/Makefile.am                         |  1 +
 .../notification-disabled-new-symbolic.svg         | 63 ++++++++++++++++++++++
 panel-plugin/notification-plugin-log.c             | 12 +++--
 panel-plugin/notification-plugin.c                 | 14 +++--
 4 files changed, 83 insertions(+), 7 deletions(-)

diff --git a/icons/scalable/Makefile.am b/icons/scalable/Makefile.am
index 970a55c..9ce6f49 100644
--- a/icons/scalable/Makefile.am
+++ b/icons/scalable/Makefile.am
@@ -3,6 +3,7 @@
 iconsdir = $(datadir)/icons/hicolor/scalable/apps
 icons_DATA =								\
 	notification-disabled-symbolic.svg		\
+	notification-disabled-new-symbolic.svg	\
 	notification-new-symbolic.svg			\
 	notification-symbolic.svg
 
diff --git a/icons/scalable/notification-disabled-new-symbolic.svg b/icons/scalable/notification-disabled-new-symbolic.svg
new file mode 100644
index 0000000..edca83f
--- /dev/null
+++ b/icons/scalable/notification-disabled-new-symbolic.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="16"
+   height="16"
+   id="svg7384"
+   sodipodi:docname="notification-disabled-new-symbolic.svg"
+   inkscape:version="0.92.1 r15371">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1651"
+     inkscape:window-height="926"
+     id="namedview8"
+     showgrid="false"
+     inkscape:zoom="9.8333333"
+     inkscape:cx="-24.40678"
+     inkscape:cy="12"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg7384" />
+  <title
+     id="title9167">elementary Symbolic Icon Theme</title>
+  <metadata
+     id="metadata90">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>elementary Symbolic Icon Theme</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7386" />
+  <path
+     id="path3355"
+     d="m 7.5644919,1.7014656 c -1.142683,0.3676665 -2.1237693,1.2320849 -2.5976561,2.373047 0,0 -1.9146213,4.6200292 -3.6855469,4.5585932 -0.019301,0.0035 -0.03383,0.02032 -0.052734,0.02539 -0.078769,0.02104 -0.1487633,0.05436 -0.2167968,0.09961 -0.026525,0.01757 -0.05389,0.02981 -0.078125,0.05078 -0.085966,0.07418 -0.1604545,0.162944 -0.2070313,0.27539 -0.1590049,0.38387 0.022378,0.821465 0.40625,0.9804692 l 9.7011712,4.017577 c 0.383872,0.159006 0.81951,-0.02238 0.978516,-0.40625 0.04 [...]
+     style="color:#bebebe;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;s [...]
+     inkscape:connector-curvature="0" />
+  <path
+     style="color:#bebebe;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#009dff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.78124988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-renderi [...]
+     id="path3009"
+     d="m 16.000039,4.0002938 a 4.0000001,4.0000002 0 0 1 -8.0000001,0 4.0000001,4.0000002 0 1 1 8.0000001,0 z"
+     class="error"
+     inkscape:connector-curvature="0" />
+</svg>
diff --git a/panel-plugin/notification-plugin-log.c b/panel-plugin/notification-plugin-log.c
index 1ab1220..e72354e 100644
--- a/panel-plugin/notification-plugin-log.c
+++ b/panel-plugin/notification-plugin-log.c
@@ -90,10 +90,6 @@ notification_plugin_menu_populate (NotificationPlugin *notification_plugin)
   /* Clean up the list and re-fill it */
   gtk_container_foreach (GTK_CONTAINER (menu), func, menu);
 
-  /* Reset the notitication status icon since all items are now read */
-  gtk_image_set_from_icon_name (GTK_IMAGE (notification_plugin->image),
-                                "notification-symbolic", GTK_ICON_SIZE_MENU);
-
   notify_log = xfce_notify_log_get();
 
   if (notify_log) {
@@ -203,6 +199,14 @@ G_GNUC_END_IGNORE_DEPRECATIONS
   xfconf_g_property_bind (notification_plugin->channel, "/do-not-disturb", G_TYPE_BOOLEAN,
                           G_OBJECT (mi), "active");
   gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
+
+  /* Reset the notification status icon since all items are now read */
+  if (xfconf_channel_get_bool (notification_plugin->channel, "/do-not-disturb", TRUE))
+    gtk_image_set_from_icon_name (GTK_IMAGE (notification_plugin->image),
+                                  "notification-disabled-symbolic", GTK_ICON_SIZE_MENU);
+  else
+    gtk_image_set_from_icon_name (GTK_IMAGE (notification_plugin->image),
+                                  "notification-symbolic", GTK_ICON_SIZE_MENU);
   g_signal_connect (mi, "toggled",
                     G_CALLBACK (dnd_toggled_cb), notification_plugin);
   gtk_widget_show (mi);
diff --git a/panel-plugin/notification-plugin.c b/panel-plugin/notification-plugin.c
index 5d43f3f..c657dec 100644
--- a/panel-plugin/notification-plugin.c
+++ b/panel-plugin/notification-plugin.c
@@ -213,8 +213,12 @@ notification_plugin_log_file_changed (GFileMonitor     *monitor,
 
   if (event_type == G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT)
   {
-    gtk_image_set_from_icon_name (GTK_IMAGE (notification_plugin->image),
-                                  "notification-new-symbolic", GTK_ICON_SIZE_MENU);
+    if (xfconf_channel_get_bool (notification_plugin->channel, "/do-not-disturb", TRUE))
+      gtk_image_set_from_icon_name (GTK_IMAGE (notification_plugin->image),
+                                    "notification-disabled-new-symbolic", GTK_ICON_SIZE_MENU);
+    else
+      gtk_image_set_from_icon_name (GTK_IMAGE (notification_plugin->image),
+                                    "notification-new-symbolic", GTK_ICON_SIZE_MENU);
   }
 }
 
@@ -243,7 +247,11 @@ notification_plugin_new (XfcePanelPlugin *panel_plugin)
   xfce_panel_plugin_set_small (panel_plugin, TRUE);
   notification_plugin->button = xfce_panel_create_toggle_button ();
   gtk_widget_set_tooltip_text (GTK_WIDGET (notification_plugin->button), _("Notifications"));
-  notification_plugin->image = gtk_image_new_from_icon_name ("notification-symbolic", GTK_ICON_SIZE_MENU);
+  if (xfconf_channel_get_bool (notification_plugin->channel, "/do-not-disturb", TRUE))
+    notification_plugin->image = gtk_image_new_from_icon_name ("notification-disabled-symbolic", GTK_ICON_SIZE_MENU);
+  else
+    notification_plugin->image = gtk_image_new_from_icon_name ("notification-symbolic", GTK_ICON_SIZE_MENU);
+
   gtk_container_add (GTK_CONTAINER (notification_plugin->button), notification_plugin->image);
   gtk_container_add (GTK_CONTAINER (panel_plugin), notification_plugin->button);
   gtk_widget_show_all (GTK_WIDGET (notification_plugin->button));

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list