aboutsummaryrefslogtreecommitdiff
path: root/src/app-menu-item.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-03-04 16:00:45 -0600
committerTed Gould <ted@gould.cx>2010-03-04 16:00:45 -0600
commit1bd56d8b7aabaf2151f27fa368ed0cafb25fca01 (patch)
tree98154300aa67e5b74204db3817a93b5032f9e274 /src/app-menu-item.c
parent52f726355c968c94850e87a5c2c09ecfe8dfa130 (diff)
parent96e449c975e7b71575e3c1e8d99f295095ed2a65 (diff)
downloadayatana-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.c23
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);