ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #02094
[Merge] lp:~dbarth/indicator-me/ui-adjustments into lp:indicator-me
David Barth has proposed merging lp:~dbarth/indicator-me/ui-adjustments into lp:indicator-me.
Requested reviews:
Indicator Applet Developers (indicator-applet-developers)
UI changes:
1. remove the U1 menu item that doesn't fit into the me menu
2. remove the avatar that user testing found to be difficult to associate oneself with
3. provide a simple 'about me' entry at the bottom of the menu
--
https://code.launchpad.net/~dbarth/indicator-me/ui-adjustments/+merge/33109
Your team ayatana-commits is subscribed to branch lp:indicator-me.
=== modified file 'src/me-service.c'
--- src/me-service.c 2010-08-16 14:50:56 +0000
+++ src/me-service.c 2010-08-19 14:24:43 +0000
@@ -235,32 +235,40 @@
DbusmenuMenuitem * root = DBUSMENU_MENUITEM(data);
g_return_if_fail(root != NULL);
+ DbusmenuMenuitem *im_accounts_mi = NULL;
+ DbusmenuMenuitem *tw_accounts_mi = NULL;
+ gboolean at_least_one = FALSE;
+
if (program_is_installed ("empathy-accounts")) {
- DbusmenuMenuitem *im_accounts_mi = dbusmenu_menuitem_new();
+ im_accounts_mi = dbusmenu_menuitem_new();
dbusmenu_menuitem_property_set(im_accounts_mi, DBUSMENU_MENUITEM_PROP_LABEL,
_("Chat Accounts..."));
- dbusmenu_menuitem_child_append(root, im_accounts_mi);
g_signal_connect(G_OBJECT(im_accounts_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
G_CALLBACK(spawn_on_activate_cb), "empathy-accounts");
+ at_least_one = TRUE;
}
if (program_is_installed ("gwibber-accounts")) {
- DbusmenuMenuitem *tw_accounts_mi = dbusmenu_menuitem_new();
+ tw_accounts_mi = dbusmenu_menuitem_new();
dbusmenu_menuitem_property_set(tw_accounts_mi, DBUSMENU_MENUITEM_PROP_LABEL,
_("Broadcast Accounts..."));
- dbusmenu_menuitem_child_append(root, tw_accounts_mi);
g_signal_connect(G_OBJECT(tw_accounts_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
G_CALLBACK(spawn_on_activate_cb), "gwibber-accounts");
- }
-
- if (program_is_installed ("ubuntuone-preferences")) {
- DbusmenuMenuitem *u1_accounts_mi = dbusmenu_menuitem_new();
- dbusmenu_menuitem_property_set(u1_accounts_mi, DBUSMENU_MENUITEM_PROP_LABEL,
- _("Ubuntu One..."));
- dbusmenu_menuitem_child_append(root, u1_accounts_mi);
- g_signal_connect(G_OBJECT(u1_accounts_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
- G_CALLBACK(spawn_on_activate_cb), "ubuntuone-preferences");
- }
+ at_least_one = TRUE;
+ }
+
+ if (at_least_one) {
+ DbusmenuMenuitem *separator = dbusmenu_menuitem_new();
+ dbusmenu_menuitem_property_set(separator, DBUSMENU_MENUITEM_PROP_TYPE,
+ DBUSMENU_CLIENT_TYPES_SEPARATOR);
+ dbusmenu_menuitem_child_append(root, separator);
+
+ if (im_accounts_mi)
+ dbusmenu_menuitem_child_append(root, im_accounts_mi);
+ if (tw_accounts_mi)
+ dbusmenu_menuitem_child_append(root, tw_accounts_mi);
+ }
+
}
static gboolean
@@ -326,6 +334,8 @@
}
+/* disabled for this release */
+#if 0
static void
avatar_changed_cb (GFileMonitor * monitor, GFile * file, GFile * other_file, GFileMonitorEvent event_type, gpointer user_data)
{
@@ -342,7 +352,7 @@
}
static void
-build_user_item (DbusmenuMenuitem * root)
+build_avatar_item (DbusmenuMenuitem * root)
{
useritem = dbusmenu_menuitem_new();
dbusmenu_menuitem_property_set(useritem, DBUSMENU_ABOUT_ME_MENUITEM_PROP_NAME, g_get_real_name ());
@@ -361,17 +371,15 @@
g_free (filename);
- gchar *gam = g_find_program_in_path("gnome-about-me");
- if (gam != NULL) {
- dbusmenu_menuitem_property_set_bool(useritem, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE);
- g_signal_connect(G_OBJECT(useritem),
- DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
- G_CALLBACK(spawn_on_activate_cb), "gnome-about-me");
- g_free(gam);
- }
+ return;
+}
+#endif
- /* set the menu name */
- display_mode_changed ();
+static gboolean
+build_menu (gpointer data)
+{
+ DbusmenuMenuitem * root = DBUSMENU_MENUITEM(data);
+ g_return_val_if_fail(root != NULL, FALSE);
/* and receive display mode notifications to update it later */
GConfClient *context = gconf_client_get_default ();
@@ -383,16 +391,10 @@
g_object_unref (context);
}
- return;
-}
-
-static gboolean
-build_menu (gpointer data)
-{
- DbusmenuMenuitem * root = DBUSMENU_MENUITEM(data);
- g_return_val_if_fail(root != NULL, FALSE);
-
- build_user_item(root);
+ /* disabled for this release */
+#if 0
+ build_avatar_item(root);
+#endif
broadcast_field = DBUSMENU_MENUITEM (entry_menu_item_new());
dbusmenu_menuitem_property_set_bool (broadcast_field, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE);
@@ -427,12 +429,33 @@
g_debug("Built %s", status_strings[i]);
}
+ build_accounts_menuitems(root);
+
+ /* add a standard "About Me..." menu item at the end of the menu */
DbusmenuMenuitem *separator = dbusmenu_menuitem_new();
dbusmenu_menuitem_property_set(separator, DBUSMENU_MENUITEM_PROP_TYPE,
DBUSMENU_CLIENT_TYPES_SEPARATOR);
dbusmenu_menuitem_child_append(root, separator);
- build_accounts_menuitems(root);
+ useritem = dbusmenu_menuitem_new();
+ dbusmenu_menuitem_property_set(useritem, DBUSMENU_MENUITEM_PROP_LABEL, _("About Me..."));
+ dbusmenu_menuitem_property_set_bool(useritem, DBUSMENU_MENUITEM_PROP_ENABLED, FALSE);
+ dbusmenu_menuitem_property_set_bool(useritem, DBUSMENU_MENUITEM_PROP_VISIBLE, FALSE);
+ dbusmenu_menuitem_child_append(root, useritem);
+
+ gchar *gam = g_find_program_in_path("gnome-about-me");
+ if (gam != NULL) {
+ dbusmenu_menuitem_property_set_bool(useritem, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE);
+ g_signal_connect(G_OBJECT(useritem),
+ DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
+ G_CALLBACK(spawn_on_activate_cb), "gnome-about-me");
+ g_free(gam);
+ }
+
+ /* finally set the menu name and update items visibility according
+ to a gconf key
+ */
+ display_mode_changed ();
return FALSE;
}
Follow ups