[Xfce4-commits] [panel-plugins/xfce4-pulseaudio-plugin] 01/02: Added a configuration option "show-notifications"

noreply at xfce.org noreply at xfce.org
Thu Jun 11 00:19:08 CEST 2015


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

andrzejr pushed a commit to branch master
in repository panel-plugins/xfce4-pulseaudio-plugin.

commit e676501007fdf5e9ad2bc6877691967a3037e4e2
Author: Andrzej <ndrwrdck at gmail.com>
Date:   Wed Jun 10 22:59:36 2015 +0100

    Added a configuration option "show-notifications"
---
 panel-plugin/pulseaudio-config.c |   42 ++++++++++++++++++++++++++++++++++++++
 panel-plugin/pulseaudio-config.h |    1 +
 panel-plugin/pulseaudio-notify.c |    5 ++++-
 3 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/panel-plugin/pulseaudio-config.c b/panel-plugin/pulseaudio-config.c
index 253426d..05d1657 100644
--- a/panel-plugin/pulseaudio-config.c
+++ b/panel-plugin/pulseaudio-config.c
@@ -46,6 +46,7 @@
 
 
 #define DEFAULT_ENABLE_KEYBOARD_SHORTCUTS         TRUE
+#define DEFAULT_SHOW_NOTIFICATIONS                TRUE
 #define DEFAULT_VOLUME_STEP                       6
 #define DEFAULT_VOLUME_MAX                        153
 
@@ -73,6 +74,7 @@ struct _PulseaudioConfig
   GObject          __parent__;
 
   gboolean         enable_keyboard_shortcuts;
+  gboolean         show_notifications;
   guint            volume_step;
   guint            volume_max;
   gchar           *mixer_command;
@@ -84,6 +86,7 @@ enum
   {
     PROP_0,
     PROP_ENABLE_KEYBOARD_SHORTCUTS,
+    PROP_SHOW_NOTIFICATIONS,
     PROP_VOLUME_STEP,
     PROP_VOLUME_MAX,
     PROP_MIXER_COMMAND,
@@ -123,6 +126,15 @@ pulseaudio_config_class_init (PulseaudioConfigClass *klass)
 
 
   g_object_class_install_property (gobject_class,
+                                   PROP_SHOW_NOTIFICATIONS,
+                                   g_param_spec_boolean ("show-notifications", NULL, NULL,
+                                                         DEFAULT_SHOW_NOTIFICATIONS,
+                                                         G_PARAM_READWRITE |
+                                                         G_PARAM_STATIC_STRINGS));
+
+
+
+  g_object_class_install_property (gobject_class,
                                    PROP_VOLUME_STEP,
                                    g_param_spec_uint ("volume-step", NULL, NULL,
                                                       1, 50, DEFAULT_VOLUME_STEP,
@@ -164,6 +176,7 @@ static void
 pulseaudio_config_init (PulseaudioConfig *config)
 {
   config->enable_keyboard_shortcuts = DEFAULT_ENABLE_KEYBOARD_SHORTCUTS;
+  config->show_notifications        = DEFAULT_SHOW_NOTIFICATIONS;
   config->volume_step               = DEFAULT_VOLUME_STEP;
   config->volume_max                = DEFAULT_VOLUME_MAX;
   config->mixer_command             = g_strdup (DEFAULT_MIXER_COMMAND);
@@ -198,6 +211,10 @@ pulseaudio_config_get_property (GObject    *object,
       g_value_set_boolean (value, config->enable_keyboard_shortcuts);
       break;
 
+    case PROP_SHOW_NOTIFICATIONS:
+      g_value_set_boolean (value, config->show_notifications);
+      break;
+
     case PROP_VOLUME_STEP:
       g_value_set_uint (value, config->volume_step);
       break;
@@ -240,6 +257,16 @@ pulseaudio_config_set_property (GObject      *object,
         }
       break;
 
+    case PROP_SHOW_NOTIFICATIONS:
+      val_bool = g_value_get_boolean (value);
+      if (config->show_notifications != val_bool)
+        {
+          config->show_notifications = val_bool;
+          g_object_notify (G_OBJECT (config), "show-notifications");
+          g_signal_emit (G_OBJECT (config), pulseaudio_config_signals [CONFIGURATION_CHANGED], 0);
+        }
+      break;
+
     case PROP_VOLUME_STEP:
       val_uint = g_value_get_uint (value);
       if (config->volume_step != val_uint)
@@ -285,6 +312,17 @@ pulseaudio_config_get_enable_keyboard_shortcuts (PulseaudioConfig *config)
 
 
 
+gboolean
+pulseaudio_config_get_show_notifications (PulseaudioConfig *config)
+{
+  g_return_val_if_fail (IS_PULSEAUDIO_CONFIG (config), DEFAULT_SHOW_NOTIFICATIONS);
+
+  return config->show_notifications;
+}
+
+
+
+
 guint
 pulseaudio_config_get_volume_step (PulseaudioConfig *config)
 {
@@ -335,6 +373,10 @@ pulseaudio_config_new (const gchar     *property_base)
       xfconf_g_property_bind (channel, property, G_TYPE_BOOLEAN, config, "enable-keyboard-shortcuts");
       g_free (property);
 
+      property = g_strconcat (property_base, "/show-notifications", NULL);
+      xfconf_g_property_bind (channel, property, G_TYPE_BOOLEAN, config, "show-notifications");
+      g_free (property);
+
       property = g_strconcat (property_base, "/volume-step", NULL);
       xfconf_g_property_bind (channel, property, G_TYPE_UINT, config, "volume-step");
       g_free (property);
diff --git a/panel-plugin/pulseaudio-config.h b/panel-plugin/pulseaudio-config.h
index 3136c2a..3771b0c 100644
--- a/panel-plugin/pulseaudio-config.h
+++ b/panel-plugin/pulseaudio-config.h
@@ -39,6 +39,7 @@ GType              pulseaudio_config_get_type                       (void)
 PulseaudioConfig  *pulseaudio_config_new                            (const gchar          *property_base);
 
 gboolean           pulseaudio_config_get_enable_keyboard_shortcuts  (PulseaudioConfig     *config);
+gboolean           pulseaudio_config_get_show_notifications         (PulseaudioConfig     *config);
 guint              pulseaudio_config_get_volume_step                (PulseaudioConfig     *config);
 guint              pulseaudio_config_get_volume_max                 (PulseaudioConfig     *config);
 const gchar       *pulseaudio_config_get_mixer_command              (PulseaudioConfig     *config);
diff --git a/panel-plugin/pulseaudio-notify.c b/panel-plugin/pulseaudio-notify.c
index 09da849..c1120a8 100644
--- a/panel-plugin/pulseaudio-notify.c
+++ b/panel-plugin/pulseaudio-notify.c
@@ -143,7 +143,7 @@ pulseaudio_notify_finalize (GObject *object)
 
 
 
-void
+static void
 pulseaudio_notify_notify (PulseaudioNotify *notify)
 {
   GError      *error = NULL;
@@ -157,6 +157,9 @@ pulseaudio_notify_notify (PulseaudioNotify *notify)
   g_return_if_fail (IS_PULSEAUDIO_NOTIFY (notify));
   g_return_if_fail (IS_PULSEAUDIO_VOLUME (notify->volume));
 
+  if (!pulseaudio_config_get_show_notifications (notify->config))
+    return;
+
   volume = pulseaudio_volume_get_volume (notify->volume);
   muted = pulseaudio_volume_get_muted (notify->volume);
   connected = pulseaudio_volume_get_connected (notify->volume);

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


More information about the Xfce4-commits mailing list