Merge lp:~mterry/indicator-sound/add-greeter-mode into lp:indicator-sound/fourth

Proposed by Michael Terry
Status: Merged
Merged at revision: 260
Proposed branch: lp:~mterry/indicator-sound/add-greeter-mode
Merge into: lp:indicator-sound/fourth
Diff against target: 126 lines (+41/-24)
3 files modified
src/sound-service-dbus.c (+24/-20)
src/sound-service-dbus.h (+1/-1)
src/sound-service.c (+16/-3)
To merge this branch: bzr merge lp:~mterry/indicator-sound/add-greeter-mode
Reviewer Review Type Date Requested Status
Conor Curran (community) Approve
Review via email: mp+70339@code.launchpad.net

Description of the change

When in a greeter, use a simpler interface. See bug 811853 for more.

To post a comment you must log in.
Revision history for this message
Conor Curran (cjcurran) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/sound-service-dbus.c'
2--- src/sound-service-dbus.c 2011-06-16 14:43:37 +0000
3+++ src/sound-service-dbus.c 2011-08-03 17:37:55 +0000
4@@ -56,6 +56,7 @@
5 GDBusConnection* connection;
6 DbusmenuMenuitem* root_menuitem;
7 Device* device;
8+ gboolean greeter_mode;
9 };
10
11 static GDBusNodeInfo * node_info = NULL;
12@@ -144,9 +145,10 @@
13 }
14
15 DbusmenuMenuitem*
16-sound_service_dbus_create_root_item (SoundServiceDbus* self)
17+sound_service_dbus_create_root_item (SoundServiceDbus* self, gboolean greeter_mode)
18 {
19 SoundServiceDbusPrivate * priv = SOUND_SERVICE_DBUS_GET_PRIVATE(self);
20+ priv->greeter_mode = greeter_mode;
21 priv->root_menuitem = dbusmenu_menuitem_new();
22 //g_debug("Root ID: %d", dbusmenu_menuitem_get_id(priv->root_menuitem));
23 DbusmenuServer *server = dbusmenu_server_new (INDICATOR_SOUND_MENU_DBUS_OBJECT_PATH);
24@@ -169,25 +171,27 @@
25 dbusmenu_menuitem_child_add_position (priv->root_menuitem, slider_item, 1);
26 dbusmenu_menuitem_child_add_position (priv->root_menuitem, voip_input_menu_item, 2);
27
28- // Separator
29- DbusmenuMenuitem* separator = dbusmenu_menuitem_new();
30-
31- dbusmenu_menuitem_property_set (separator,
32- DBUSMENU_MENUITEM_PROP_TYPE,
33- DBUSMENU_CLIENT_TYPES_SEPARATOR);
34- dbusmenu_menuitem_child_add_position (priv->root_menuitem, separator, 3);
35- g_object_unref (separator);
36-
37- // Sound preferences dialog
38- DbusmenuMenuitem* settings_mi = dbusmenu_menuitem_new();
39-
40- dbusmenu_menuitem_property_set( settings_mi,
41- DBUSMENU_MENUITEM_PROP_LABEL,
42- _("Sound Settings..."));
43- dbusmenu_menuitem_child_append(priv->root_menuitem, settings_mi);
44- g_object_unref (settings_mi);
45- g_signal_connect(G_OBJECT(settings_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
46- G_CALLBACK(show_sound_settings_dialog), NULL);
47+ if (!priv->greeter_mode) {
48+ // Separator
49+ DbusmenuMenuitem* separator = dbusmenu_menuitem_new();
50+
51+ dbusmenu_menuitem_property_set (separator,
52+ DBUSMENU_MENUITEM_PROP_TYPE,
53+ DBUSMENU_CLIENT_TYPES_SEPARATOR);
54+ dbusmenu_menuitem_child_add_position (priv->root_menuitem, separator, 3);
55+ g_object_unref (separator);
56+
57+ // Sound preferences dialog
58+ DbusmenuMenuitem* settings_mi = dbusmenu_menuitem_new();
59+
60+ dbusmenu_menuitem_property_set( settings_mi,
61+ DBUSMENU_MENUITEM_PROP_LABEL,
62+ _("Sound Settings..."));
63+ dbusmenu_menuitem_child_append(priv->root_menuitem, settings_mi);
64+ g_object_unref (settings_mi);
65+ g_signal_connect(G_OBJECT(settings_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
66+ G_CALLBACK(show_sound_settings_dialog), NULL);
67+ }
68 }
69
70 /**
71
72=== modified file 'src/sound-service-dbus.h'
73--- src/sound-service-dbus.h 2011-02-16 18:37:15 +0000
74+++ src/sound-service-dbus.h 2011-08-03 17:37:55 +0000
75@@ -53,7 +53,7 @@
76
77 GType sound_service_dbus_get_type (void) G_GNUC_CONST;
78
79-DbusmenuMenuitem* sound_service_dbus_create_root_item (SoundServiceDbus* self);
80+DbusmenuMenuitem* sound_service_dbus_create_root_item (SoundServiceDbus* self, gboolean greeter_mode);
81 void sound_service_dbus_update_sound_state (SoundServiceDbus* self, SoundState new_state);
82 void sound_service_dbus_build_sound_menu ( SoundServiceDbus* self,
83 DbusmenuMenuitem* mute_item,
84
85=== modified file 'src/sound-service.c'
86--- src/sound-service.c 2011-03-22 19:53:19 +0000
87+++ src/sound-service.c 2011-08-03 17:37:55 +0000
88@@ -47,12 +47,21 @@
89 return;
90 }
91
92+static gboolean
93+get_greeter_mode (void)
94+{
95+ const gchar *var;
96+ var = g_getenv("INDICATOR_GREETER_MODE");
97+ return (g_strcmp0(var, "1") == 0);
98+}
99+
100 /**
101 main:
102 **/
103 int
104 main (int argc, char ** argv)
105 {
106+ gboolean greeter_mode;
107
108 g_type_init();
109 textdomain (GETTEXT_PACKAGE);
110@@ -67,9 +76,13 @@
111
112 SoundServiceDbus* sound_service = g_object_new(SOUND_SERVICE_DBUS_TYPE, NULL);
113
114- DbusmenuMenuitem* root_menuitem = sound_service_dbus_create_root_item(sound_service);
115- MusicPlayerBridge* server = music_player_bridge_new();
116- music_player_bridge_set_root_menu_item(server, root_menuitem);
117+ greeter_mode = get_greeter_mode();
118+
119+ DbusmenuMenuitem* root_menuitem = sound_service_dbus_create_root_item(sound_service, greeter_mode);
120+ if (!greeter_mode) {
121+ MusicPlayerBridge* server = music_player_bridge_new();
122+ music_player_bridge_set_root_menu_item(server, root_menuitem);
123+ }
124
125 // Run the loop
126 mainloop = g_main_loop_new(NULL, FALSE);

Subscribers

People subscribed via source and target branches