aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-03-24 20:45:48 -0500
committerTed Gould <ted@gould.cx>2010-03-24 20:45:48 -0500
commit310a9a4b859ffa85e79f054523e6fd479d87a7c4 (patch)
treee380fde08f5ab0c5bf235b088cf32da1bddf621d
parentf4b7762bd69eae3c23b3b76fae07d1ff69965020 (diff)
downloadayatana-indicator-messages-310a9a4b859ffa85e79f054523e6fd479d87a7c4.tar.gz
ayatana-indicator-messages-310a9a4b859ffa85e79f054523e6fd479d87a7c4.tar.bz2
ayatana-indicator-messages-310a9a4b859ffa85e79f054523e6fd479d87a7c4.zip
Only build shortcuts if we've been seen before.
-rw-r--r--src/launcher-menu-item.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/launcher-menu-item.c b/src/launcher-menu-item.c
index ae14828..4247738 100644
--- a/src/launcher-menu-item.c
+++ b/src/launcher-menu-item.c
@@ -191,17 +191,19 @@ launcher_menu_item_new (const gchar * desktop_file)
g_signal_connect(G_OBJECT(self), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), NULL);
/* Start to build static shortcuts */
- priv->ids = indicator_desktop_shortcuts_new(priv->desktop, "Messaging Menu");
- const gchar ** nicks = indicator_desktop_shortcuts_get_nicks(priv->ids);
- gint i;
- for (i = 0; nicks[i] != NULL; i++) {
- DbusmenuMenuitem * mi = dbusmenu_menuitem_new();
- g_object_set_data(G_OBJECT(mi), NICK_DATA, (gpointer)nicks[i]);
-
- dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, indicator_desktop_shortcuts_nick_get_name(priv->ids, nicks[i]));
- g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(nick_activate_cb), self);
-
- priv->shortcuts = g_list_append(priv->shortcuts, mi);
+ if (seen_db_seen(desktop_file)) {
+ priv->ids = indicator_desktop_shortcuts_new(priv->desktop, "Messaging Menu");
+ const gchar ** nicks = indicator_desktop_shortcuts_get_nicks(priv->ids);
+ gint i;
+ for (i = 0; nicks[i] != NULL; i++) {
+ DbusmenuMenuitem * mi = dbusmenu_menuitem_new();
+ g_object_set_data(G_OBJECT(mi), NICK_DATA, (gpointer)nicks[i]);
+
+ dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, indicator_desktop_shortcuts_nick_get_name(priv->ids, nicks[i]));
+ g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(nick_activate_cb), self);
+
+ priv->shortcuts = g_list_append(priv->shortcuts, mi);
+ }
}
/* Check to see if we should be eclipsed */