From f4b7762bd69eae3c23b3b76fae07d1ff69965020 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 24 Mar 2010 20:39:56 -0500 Subject: Checking to see if we've seen the application before choosing whether we have the name or the setup string. --- src/launcher-menu-item.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/launcher-menu-item.c') diff --git a/src/launcher-menu-item.c b/src/launcher-menu-item.c index 279d167..ae14828 100644 --- a/src/launcher-menu-item.c +++ b/src/launcher-menu-item.c @@ -31,6 +31,7 @@ with this program. If not, see . #include "launcher-menu-item.h" #include "dbus-data.h" #include "default-applications.h" +#include "seen-db.h" enum { NAME_CHANGED, @@ -163,7 +164,14 @@ launcher_menu_item_new (const gchar * desktop_file) app info that we've parsed */ g_debug("\tName: %s", launcher_menu_item_get_name(self)); - const gchar * default_name = get_default_name(desktop_file); + const gchar * default_name = NULL; + + if (seen_db_seen(desktop_file)) { + default_name = get_default_name(desktop_file); + } else { + default_name = get_default_setup(desktop_file); + } + if (default_name == NULL) { dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_LABEL, launcher_menu_item_get_name(self)); } else { -- cgit v1.2.3 From 310a9a4b859ffa85e79f054523e6fd479d87a7c4 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 24 Mar 2010 20:45:48 -0500 Subject: Only build shortcuts if we've been seen before. --- src/launcher-menu-item.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'src/launcher-menu-item.c') 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 */ -- cgit v1.2.3 From 53575832c2a50e6eca2dba63d2d2b33ac2bbf591 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 24 Mar 2010 22:37:18 -0500 Subject: When we're being reshown eval the label --- src/launcher-menu-item.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/launcher-menu-item.c') diff --git a/src/launcher-menu-item.c b/src/launcher-menu-item.c index 4247738..5d9de12 100644 --- a/src/launcher-menu-item.c +++ b/src/launcher-menu-item.c @@ -321,6 +321,24 @@ launcher_menu_item_set_eclipsed (LauncherMenuItem * li, gboolean eclipsed) dbusmenu_menuitem_property_set_bool(DBUSMENU_MENUITEM(li), DBUSMENU_MENUITEM_PROP_VISIBLE, !eclipsed); g_list_foreach(priv->shortcuts, eclipse_shortcuts_cb, GINT_TO_POINTER(eclipsed)); + + /* If we're being reshown let's re-evaluate how we should be + showing the label */ + if (!eclipsed) { + const gchar * default_name = NULL; + + if (seen_db_seen(priv->desktop)) { + default_name = get_default_name(priv->desktop); + } else { + default_name = get_default_setup(priv->desktop); + } + + if (default_name == NULL) { + dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(li), DBUSMENU_MENUITEM_PROP_LABEL, launcher_menu_item_get_name(li)); + } else { + dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(li), DBUSMENU_MENUITEM_PROP_LABEL, _(default_name)); + } + } return; } -- cgit v1.2.3