diff options
author | Ted Gould <ted@gould.cx> | 2010-03-04 16:00:45 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-03-04 16:00:45 -0600 |
commit | 1bd56d8b7aabaf2151f27fa368ed0cafb25fca01 (patch) | |
tree | 98154300aa67e5b74204db3817a93b5032f9e274 /src/app-menu-item.c | |
parent | 52f726355c968c94850e87a5c2c09ecfe8dfa130 (diff) | |
parent | 96e449c975e7b71575e3c1e8d99f295095ed2a65 (diff) | |
download | ayatana-indicator-messages-1bd56d8b7aabaf2151f27fa368ed0cafb25fca01.tar.gz ayatana-indicator-messages-1bd56d8b7aabaf2151f27fa368ed0cafb25fca01.tar.bz2 ayatana-indicator-messages-1bd56d8b7aabaf2151f27fa368ed0cafb25fca01.zip |
* Upstream release 0.3.3
* Changing names of default applications to generic names
* Making icons of default applications match panel theme
Diffstat (limited to 'src/app-menu-item.c')
-rw-r--r-- | src/app-menu-item.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/app-menu-item.c b/src/app-menu-item.c index a37daf4..7db72bf 100644 --- a/src/app-menu-item.c +++ b/src/app-menu-item.c @@ -30,6 +30,7 @@ with this program. If not, see <http://www.gnu.org/licenses/>. #include <libdbusmenu-glib/menuitem-proxy.h> #include "app-menu-item.h" #include "dbus-data.h" +#include "default-applications.h" enum { COUNT_CHANGED, @@ -233,15 +234,20 @@ static void update_label (AppMenuItem * self) { AppMenuItemPrivate * priv = APP_MENU_ITEM_GET_PRIVATE(self); + const gchar * name = get_default_name(priv->desktop); + + if (name == NULL) { + name = app_menu_item_get_name(self); + } if (priv->unreadcount > 0) { /* TRANSLATORS: This is the name of the program and the number of indicators. So it would read something like "Mail Client (5)" */ - gchar * label = g_strdup_printf(_("%s (%d)"), app_menu_item_get_name(self), priv->unreadcount); + gchar * label = g_strdup_printf(_("%s (%d)"), _(name), priv->unreadcount); dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_LABEL, label); g_free(label); } else { - dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_LABEL, app_menu_item_get_name(self)); + dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_LABEL, _(name)); } return; @@ -308,10 +314,15 @@ desktop_cb (IndicateListener * listener, IndicateListenerServer * server, gchar update_label(self); - GIcon * icon = g_app_info_get_icon(priv->appinfo); - gchar * iconstr = g_icon_to_string(icon); - dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_ICON_NAME, iconstr); - g_free(iconstr); + const gchar * def_icon = get_default_icon(priv->desktop); + if (def_icon == NULL) { + GIcon * icon = g_app_info_get_icon(priv->appinfo); + gchar * iconstr = g_icon_to_string(icon); + dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_ICON_NAME, iconstr); + g_free(iconstr); + } else { + dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_ICON_NAME, def_icon); + } g_signal_emit(G_OBJECT(self), signals[NAME_CHANGED], 0, app_menu_item_get_name(self), TRUE); |