From d63d3929de9f53c33f7de4f1c75d9bcc5846fa70 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:13:50 -0600 Subject: Adding a small little function to find default applications. --- src/Makefile.am | 2 ++ src/default-applications.c | 23 +++++++++++++++++++++++ src/default-applications.h | 8 ++++++++ 3 files changed, 33 insertions(+) create mode 100644 src/default-applications.c create mode 100644 src/default-applications.h diff --git a/src/Makefile.am b/src/Makefile.am index 01741d0..c96ef2d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -20,6 +20,8 @@ libmessaging_la_LDFLAGS = -module -avoid-version ###################################### indicator_messages_service_SOURCES = \ + default-applications.h \ + default-applications.c \ messages-service.c \ messages-service-server.h \ messages-service-dbus.c \ diff --git a/src/default-applications.c b/src/default-applications.c new file mode 100644 index 0000000..c389d32 --- /dev/null +++ b/src/default-applications.c @@ -0,0 +1,23 @@ + +#include +#include +#include "default-applications.h" + +struct default_db_t { + const gchar * desktop_file; + const gchar * name; +}; + +struct default_db_t default_db[] = { + {"evolution.desktop", N_("Mail")}, + {NULL, NULL} +}; + +const gchar * +get_default_name (gchar * desktop_path) +{ + + return NULL; + + +} diff --git a/src/default-applications.h b/src/default-applications.h new file mode 100644 index 0000000..7769455 --- /dev/null +++ b/src/default-applications.h @@ -0,0 +1,8 @@ + +#ifndef DEFAULT_APPLICATIONS_H__ +#define DEFAULT_APPLICATIONS_H__ 1 + +const gchar * get_default_name (gchar * desktop_path); + +#endif /* DEFAULT_APPLICATIONS_H__ */ + -- cgit v1.2.3 From 4665a089117f7fc0eb537aedcca0d7d10168b12d Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:20:22 -0600 Subject: Actually searching through the list --- src/default-applications.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/default-applications.c b/src/default-applications.c index c389d32..ad63412 100644 --- a/src/default-applications.c +++ b/src/default-applications.c @@ -16,8 +16,22 @@ struct default_db_t default_db[] = { const gchar * get_default_name (gchar * desktop_path) { + g_return_val_if_fail(desktop_path != NULL, NULL); + gchar * basename = g_path_get_basename(desktop_path); + g_return_val_if_fail(basename != NULL, NULL); - return NULL; + gint i; + for (i = 0; default_db[i].desktop_file != NULL; i++) { + if (g_strcmp0(default_db[i].desktop_file, basename) == 0) { + break; + } + } + + g_free(basename); + if (default_db[i].name != NULL) { + return default_db[i].name; + } + return NULL; } -- cgit v1.2.3 From 06fa866fc1177ada1b16ab4a15ffdf2a0e6d00d9 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:26:15 -0600 Subject: Adding empathy and gwibber to the mix. --- src/default-applications.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/default-applications.c b/src/default-applications.c index ad63412..5347b43 100644 --- a/src/default-applications.c +++ b/src/default-applications.c @@ -10,6 +10,8 @@ struct default_db_t { struct default_db_t default_db[] = { {"evolution.desktop", N_("Mail")}, + {"empathy.desktop", N_("Chat")}, + {"gwibber.desktop", N_("Microblogging")}, {NULL, NULL} }; -- cgit v1.2.3 From 617a39e8447ef92d564c40c489b97eca45a5f6d6 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:32:04 -0600 Subject: Refactoring into a helper --- src/default-applications.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/default-applications.c b/src/default-applications.c index 5347b43..6aca047 100644 --- a/src/default-applications.c +++ b/src/default-applications.c @@ -6,17 +6,18 @@ struct default_db_t { const gchar * desktop_file; const gchar * name; + const gchar * setupname; }; struct default_db_t default_db[] = { - {"evolution.desktop", N_("Mail")}, - {"empathy.desktop", N_("Chat")}, - {"gwibber.desktop", N_("Microblogging")}, + {"evolution.desktop", N_("Mail"), N_("Set Up Mail...")}, + {"empathy.desktop", N_("Chat"), N_("Set Up Chat...")}, + {"gwibber.desktop", N_("Microblogging"), N_("Set Up Microblogging...")}, {NULL, NULL} }; -const gchar * -get_default_name (gchar * desktop_path) +struct default_db_t * +get_default_helper (gchar * desktop_path) { g_return_val_if_fail(desktop_path != NULL, NULL); gchar * basename = g_path_get_basename(desktop_path); @@ -31,9 +32,19 @@ get_default_name (gchar * desktop_path) g_free(basename); - if (default_db[i].name != NULL) { - return default_db[i].name; + if (default_db[i].desktop_file != NULL) { + return &default_db[i]; } return NULL; } + +const gchar * +get_default_name (gchar * desktop_path) +{ + struct default_db_t * db = get_default_helper(desktop_path); + + if (db == NULL) + return NULL; + return db->name; +} -- cgit v1.2.3 From f405913a9a4343fdacd3814b3ea380165d235846 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:34:17 -0600 Subject: Adding in the setup function. --- src/default-applications.c | 12 +++++++++++- src/default-applications.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/default-applications.c b/src/default-applications.c index 6aca047..f924702 100644 --- a/src/default-applications.c +++ b/src/default-applications.c @@ -16,7 +16,7 @@ struct default_db_t default_db[] = { {NULL, NULL} }; -struct default_db_t * +static struct default_db_t * get_default_helper (gchar * desktop_path) { g_return_val_if_fail(desktop_path != NULL, NULL); @@ -48,3 +48,13 @@ get_default_name (gchar * desktop_path) return NULL; return db->name; } + +const gchar * +get_default_setup (gchar * desktop_path) +{ + struct default_db_t * db = get_default_helper(desktop_path); + + if (db == NULL) + return NULL; + return db->setupname; +} diff --git a/src/default-applications.h b/src/default-applications.h index 7769455..79d6947 100644 --- a/src/default-applications.h +++ b/src/default-applications.h @@ -3,6 +3,7 @@ #define DEFAULT_APPLICATIONS_H__ 1 const gchar * get_default_name (gchar * desktop_path); +const gchar * get_default_setup (gchar * desktop_path); #endif /* DEFAULT_APPLICATIONS_H__ */ -- cgit v1.2.3 From 4049be620026191681bdc42765ed590212916584 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:35:22 -0600 Subject: Making the default applications strings translatable. --- po/POTFILES.in | 1 + 1 file changed, 1 insertion(+) diff --git a/po/POTFILES.in b/po/POTFILES.in index 0d88e74..1b686c7 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -2,6 +2,7 @@ src/messages-service-dbus.c src/indicator-messages.c src/messages-service.c +src/default-applications.c src/launcher-menu-item.c src/im-menu-item.c src/app-menu-item.c -- cgit v1.2.3 From f1d31773ebf223650d4e26509403196e1a9bf53f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:36:29 -0600 Subject: Copyright headers. --- src/default-applications.c | 20 ++++++++++++++++++++ src/default-applications.h | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/default-applications.c b/src/default-applications.c index f924702..f1b11c0 100644 --- a/src/default-applications.c +++ b/src/default-applications.c @@ -1,3 +1,23 @@ +/* +Looking for the default applications. A quick lookup. + +Copyright 2010 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ #include #include diff --git a/src/default-applications.h b/src/default-applications.h index 79d6947..f5d00c4 100644 --- a/src/default-applications.h +++ b/src/default-applications.h @@ -1,3 +1,23 @@ +/* +Looking for the default applications. A quick lookup. + +Copyright 2010 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ #ifndef DEFAULT_APPLICATIONS_H__ #define DEFAULT_APPLICATIONS_H__ 1 -- cgit v1.2.3 From 3c0e73c7ec818b6759a7805abe07909296791908 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:39:52 -0600 Subject: Keeping our desktop file paths safe. --- src/default-applications.c | 6 +++--- src/default-applications.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/default-applications.c b/src/default-applications.c index f1b11c0..5fd6612 100644 --- a/src/default-applications.c +++ b/src/default-applications.c @@ -37,7 +37,7 @@ struct default_db_t default_db[] = { }; static struct default_db_t * -get_default_helper (gchar * desktop_path) +get_default_helper (const gchar * desktop_path) { g_return_val_if_fail(desktop_path != NULL, NULL); gchar * basename = g_path_get_basename(desktop_path); @@ -60,7 +60,7 @@ get_default_helper (gchar * desktop_path) } const gchar * -get_default_name (gchar * desktop_path) +get_default_name (const gchar * desktop_path) { struct default_db_t * db = get_default_helper(desktop_path); @@ -70,7 +70,7 @@ get_default_name (gchar * desktop_path) } const gchar * -get_default_setup (gchar * desktop_path) +get_default_setup (const gchar * desktop_path) { struct default_db_t * db = get_default_helper(desktop_path); diff --git a/src/default-applications.h b/src/default-applications.h index f5d00c4..13cc904 100644 --- a/src/default-applications.h +++ b/src/default-applications.h @@ -22,8 +22,8 @@ with this program. If not, see . #ifndef DEFAULT_APPLICATIONS_H__ #define DEFAULT_APPLICATIONS_H__ 1 -const gchar * get_default_name (gchar * desktop_path); -const gchar * get_default_setup (gchar * desktop_path); +const gchar * get_default_name (const gchar * desktop_path); +const gchar * get_default_setup (const gchar * desktop_path); #endif /* DEFAULT_APPLICATIONS_H__ */ -- cgit v1.2.3 From b446b6a118bd0238378d4df5cd4138a242cad59c Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:48:29 -0600 Subject: Checking to see if we have a default name. --- src/launcher-menu-item.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/launcher-menu-item.c b/src/launcher-menu-item.c index 07b0546..5cc7cfe 100644 --- a/src/launcher-menu-item.c +++ b/src/launcher-menu-item.c @@ -30,6 +30,7 @@ with this program. If not, see . #include #include "launcher-menu-item.h" #include "dbus-data.h" +#include "default-applications.h" enum { NAME_CHANGED, @@ -161,7 +162,14 @@ launcher_menu_item_new (const gchar * desktop_file) /* Set the appropriate values on this menu item based on the app info that we've parsed */ g_debug("\tName: %s", launcher_menu_item_get_name(self)); - dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_LABEL, launcher_menu_item_get_name(self)); + + const gchar * default_name = get_default_name(desktop_file); + if (default_name == NULL) { + dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_LABEL, launcher_menu_item_get_name(self)); + } else { + dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_LABEL, default_name); + } + gchar * iconstr = launcher_menu_item_get_icon(self); dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_ICON_NAME, iconstr); g_free(iconstr); -- cgit v1.2.3 From 586e053b9e3c862c8e0561c2679cd4e146d76f84 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 00:54:02 -0600 Subject: Checking the default name on application items --- src/app-menu-item.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/app-menu-item.c b/src/app-menu-item.c index a37daf4..f792128 100644 --- a/src/app-menu-item.c +++ b/src/app-menu-item.c @@ -30,6 +30,7 @@ with this program. If not, see . #include #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; -- cgit v1.2.3 From fa6fbedbfdd07d078aeb95f2a17c6d41a999e5f7 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 14:23:07 -0600 Subject: Adding in a base set of icons from the gnome theme. --- configure.ac | 4 + data/icons/16x16/Makefile.am | 2 +- data/icons/16x16/categories/Makefile.am | 10 + .../16x16/categories/applications-chat-panel.png | Bin 0 -> 594 bytes .../16x16/categories/applications-email-panel.png | Bin 0 -> 771 bytes .../applications-microblogging-panel.png | Bin 0 -> 844 bytes data/icons/22x22/Makefile.am | 2 +- data/icons/22x22/categories/Makefile.am | 8 + .../22x22/categories/applications-email-panel.png | Bin 0 -> 999 bytes data/icons/32x32/Makefile.am | 2 +- data/icons/32x32/categories/Makefile.am | 9 + .../32x32/categories/applications-chat-panel.png | Bin 0 -> 1831 bytes .../32x32/categories/applications-email-panel.png | Bin 0 -> 1691 bytes data/icons/scalable/Makefile.am | 2 +- data/icons/scalable/categories/Makefile.am | 9 + .../categories/applications-chat-panel.svg | 303 ++++++++++++++++++ .../categories/applications-email-panel.svg | 354 +++++++++++++++++++++ 17 files changed, 701 insertions(+), 4 deletions(-) create mode 100644 data/icons/16x16/categories/Makefile.am create mode 100644 data/icons/16x16/categories/applications-chat-panel.png create mode 100644 data/icons/16x16/categories/applications-email-panel.png create mode 100644 data/icons/16x16/categories/applications-microblogging-panel.png create mode 100644 data/icons/22x22/categories/Makefile.am create mode 100644 data/icons/22x22/categories/applications-email-panel.png create mode 100644 data/icons/32x32/categories/Makefile.am create mode 100644 data/icons/32x32/categories/applications-chat-panel.png create mode 100644 data/icons/32x32/categories/applications-email-panel.png create mode 100644 data/icons/scalable/categories/Makefile.am create mode 100644 data/icons/scalable/categories/applications-chat-panel.svg create mode 100644 data/icons/scalable/categories/applications-email-panel.svg diff --git a/configure.ac b/configure.ac index 38ddccd..a2a6a38 100644 --- a/configure.ac +++ b/configure.ac @@ -111,16 +111,20 @@ data/Makefile data/icons/Makefile data/icons/16x16/Makefile data/icons/16x16/status/Makefile +data/icons/16x16/categories/Makefile data/icons/22x22/Makefile data/icons/22x22/status/Makefile +data/icons/22x22/categories/Makefile data/icons/24x24/Makefile data/icons/24x24/status/Makefile data/icons/32x32/Makefile data/icons/32x32/status/Makefile +data/icons/32x32/categories/Makefile data/icons/48x48/Makefile data/icons/48x48/status/Makefile data/icons/scalable/Makefile data/icons/scalable/status/Makefile +data/icons/scalable/categories/Makefile po/Makefile.in ]) diff --git a/data/icons/16x16/Makefile.am b/data/icons/16x16/Makefile.am index d52da2b..4b46952 100644 --- a/data/icons/16x16/Makefile.am +++ b/data/icons/16x16/Makefile.am @@ -1 +1 @@ -SUBDIRS = status +SUBDIRS = status categories diff --git a/data/icons/16x16/categories/Makefile.am b/data/icons/16x16/categories/Makefile.am new file mode 100644 index 0000000..171e2f9 --- /dev/null +++ b/data/icons/16x16/categories/Makefile.am @@ -0,0 +1,10 @@ + +iconsdir = $(INDICATORICONSDIR)/hicolor/16x16/categories + +icons_DATA = \ + applications-email-panel.png \ + applications-chat-panel.png \ + applications-microblogging-panel.png + +EXTRA_DIST = $(icons_DATA) + diff --git a/data/icons/16x16/categories/applications-chat-panel.png b/data/icons/16x16/categories/applications-chat-panel.png new file mode 100644 index 0000000..f2169a8 Binary files /dev/null and b/data/icons/16x16/categories/applications-chat-panel.png differ diff --git a/data/icons/16x16/categories/applications-email-panel.png b/data/icons/16x16/categories/applications-email-panel.png new file mode 100644 index 0000000..e4b653e Binary files /dev/null and b/data/icons/16x16/categories/applications-email-panel.png differ diff --git a/data/icons/16x16/categories/applications-microblogging-panel.png b/data/icons/16x16/categories/applications-microblogging-panel.png new file mode 100644 index 0000000..e5d80c1 Binary files /dev/null and b/data/icons/16x16/categories/applications-microblogging-panel.png differ diff --git a/data/icons/22x22/Makefile.am b/data/icons/22x22/Makefile.am index d52da2b..4b46952 100644 --- a/data/icons/22x22/Makefile.am +++ b/data/icons/22x22/Makefile.am @@ -1 +1 @@ -SUBDIRS = status +SUBDIRS = status categories diff --git a/data/icons/22x22/categories/Makefile.am b/data/icons/22x22/categories/Makefile.am new file mode 100644 index 0000000..02885d3 --- /dev/null +++ b/data/icons/22x22/categories/Makefile.am @@ -0,0 +1,8 @@ + +iconsdir = $(INDICATORICONSDIR)/hicolor/22x22/categories + +icons_DATA = \ + applications-email-panel.png + +EXTRA_DIST = $(icons_DATA) + diff --git a/data/icons/22x22/categories/applications-email-panel.png b/data/icons/22x22/categories/applications-email-panel.png new file mode 100644 index 0000000..a89faf3 Binary files /dev/null and b/data/icons/22x22/categories/applications-email-panel.png differ diff --git a/data/icons/32x32/Makefile.am b/data/icons/32x32/Makefile.am index d52da2b..4b46952 100644 --- a/data/icons/32x32/Makefile.am +++ b/data/icons/32x32/Makefile.am @@ -1 +1 @@ -SUBDIRS = status +SUBDIRS = status categories diff --git a/data/icons/32x32/categories/Makefile.am b/data/icons/32x32/categories/Makefile.am new file mode 100644 index 0000000..3a74b80 --- /dev/null +++ b/data/icons/32x32/categories/Makefile.am @@ -0,0 +1,9 @@ + +iconsdir = $(INDICATORICONSDIR)/hicolor/32x32/categories + +icons_DATA = \ + applications-email-panel.png \ + applications-chat-panel.png + +EXTRA_DIST = $(icons_DATA) + diff --git a/data/icons/32x32/categories/applications-chat-panel.png b/data/icons/32x32/categories/applications-chat-panel.png new file mode 100644 index 0000000..a3e5057 Binary files /dev/null and b/data/icons/32x32/categories/applications-chat-panel.png differ diff --git a/data/icons/32x32/categories/applications-email-panel.png b/data/icons/32x32/categories/applications-email-panel.png new file mode 100644 index 0000000..fba4f29 Binary files /dev/null and b/data/icons/32x32/categories/applications-email-panel.png differ diff --git a/data/icons/scalable/Makefile.am b/data/icons/scalable/Makefile.am index d52da2b..4b46952 100644 --- a/data/icons/scalable/Makefile.am +++ b/data/icons/scalable/Makefile.am @@ -1 +1 @@ -SUBDIRS = status +SUBDIRS = status categories diff --git a/data/icons/scalable/categories/Makefile.am b/data/icons/scalable/categories/Makefile.am new file mode 100644 index 0000000..64ce622 --- /dev/null +++ b/data/icons/scalable/categories/Makefile.am @@ -0,0 +1,9 @@ + +iconsdir = $(INDICATORICONSDIR)/hicolor/scalable/categories + +icons_DATA = \ + applications-email-panel.svg \ + applications-chat-panel.svg + +EXTRA_DIST = $(icons_DATA) + diff --git a/data/icons/scalable/categories/applications-chat-panel.svg b/data/icons/scalable/categories/applications-chat-panel.svg new file mode 100644 index 0000000..85a74d6 --- /dev/null +++ b/data/icons/scalable/categories/applications-chat-panel.svg @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Person + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + user + person + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/scalable/categories/applications-email-panel.svg b/data/icons/scalable/categories/applications-email-panel.svg new file mode 100644 index 0000000..cd824e7 --- /dev/null +++ b/data/icons/scalable/categories/applications-email-panel.svg @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Mail Emblem + 2005-02-19 + + + Lapo Calamandrei + + + Mail emblem + + + Jakub Steiner +Andreas Nilsson + + + + + + mail + message + e-mail + + + + + Lapo Calamandrei, Andreas Nilsson, Novell Inc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From 15c04c9d6b866e1f50cff304d2b276dcb0fdfd8a Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 14:27:29 -0600 Subject: Adding in an icon lookup to the default apps db --- src/default-applications.c | 17 ++++++++++++++--- src/default-applications.h | 1 + 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/default-applications.c b/src/default-applications.c index 5fd6612..e45ae38 100644 --- a/src/default-applications.c +++ b/src/default-applications.c @@ -27,12 +27,13 @@ struct default_db_t { const gchar * desktop_file; const gchar * name; const gchar * setupname; + const gchar * icon; }; struct default_db_t default_db[] = { - {"evolution.desktop", N_("Mail"), N_("Set Up Mail...")}, - {"empathy.desktop", N_("Chat"), N_("Set Up Chat...")}, - {"gwibber.desktop", N_("Microblogging"), N_("Set Up Microblogging...")}, + {"evolution.desktop", N_("Mail"), N_("Set Up Mail..."), "applications-email-panel"}, + {"empathy.desktop", N_("Chat"), N_("Set Up Chat..."), "applications-chat-panel"}, + {"gwibber.desktop", N_("Microblogging"), N_("Set Up Microblogging..."), "applications-microblogging-panel"}, {NULL, NULL} }; @@ -78,3 +79,13 @@ get_default_setup (const gchar * desktop_path) return NULL; return db->setupname; } + +const gchar * +get_default_icon (const gchar * desktop_path) +{ + struct default_db_t * db = get_default_helper(desktop_path); + + if (db == NULL) + return NULL; + return db->icon; +} diff --git a/src/default-applications.h b/src/default-applications.h index 13cc904..0a32e7c 100644 --- a/src/default-applications.h +++ b/src/default-applications.h @@ -24,6 +24,7 @@ with this program. If not, see . const gchar * get_default_name (const gchar * desktop_path); const gchar * get_default_setup (const gchar * desktop_path); +const gchar * get_default_icon (const gchar * desktop_path); #endif /* DEFAULT_APPLICATIONS_H__ */ -- cgit v1.2.3 From 2a150efd56a7ed9c64614cb4bc6295ec29faa6bd Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 14:36:31 -0600 Subject: Making it so that if the app is default, it uses a generic icon. --- src/launcher-menu-item.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/launcher-menu-item.c b/src/launcher-menu-item.c index 5cc7cfe..f70f28b 100644 --- a/src/launcher-menu-item.c +++ b/src/launcher-menu-item.c @@ -170,7 +170,12 @@ launcher_menu_item_new (const gchar * desktop_file) dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_LABEL, default_name); } - gchar * iconstr = launcher_menu_item_get_icon(self); + gchar * iconstr; + if (default_name == NULL) { + iconstr = launcher_menu_item_get_icon(self); + } else { + iconstr = g_strdup(get_default_icon(desktop_file)); + } dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_ICON_NAME, iconstr); g_free(iconstr); dbusmenu_menuitem_property_set_bool(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_VISIBLE, TRUE); -- cgit v1.2.3 From ace1ea5b32a539c2afe0feacd47033c3a7d1098b Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 14:41:48 -0600 Subject: Using the default icon in the application indicator as well. --- src/app-menu-item.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/app-menu-item.c b/src/app-menu-item.c index f792128..7db72bf 100644 --- a/src/app-menu-item.c +++ b/src/app-menu-item.c @@ -314,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); -- cgit v1.2.3 From 96e449c975e7b71575e3c1e8d99f295095ed2a65 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 15:58:38 -0600 Subject: 0.3.3 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index a2a6a38..1427bf0 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ AC_INIT(src/indicator-messages.c) AC_PREREQ(2.53) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(indicator-messages, 0.3.2) +AM_INIT_AUTOMAKE(indicator-messages, 0.3.3) AM_MAINTAINER_MODE -- cgit v1.2.3 From 36edac8cb9ed2ef0639b38104d6b4455e19cb78c Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Mar 2010 16:02:15 -0600 Subject: releasing version 0.3.3-0ubuntu1~ppa1 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 47a1832..a5aaceb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -indicator-messages (0.3.3-0ubuntu1~ppa1) UNRELEASED; urgency=low +indicator-messages (0.3.3-0ubuntu1~ppa1) lucid; urgency=low * Upstream release 0.3.3 * Changing names of default applications to generic names * Making icons of default applications match panel theme - -- Ted Gould Thu, 04 Mar 2010 15:59:59 -0600 + -- Ted Gould Thu, 04 Mar 2010 16:02:11 -0600 indicator-messages (0.3.2-0ubuntu1) lucid; urgency=low -- cgit v1.2.3