aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2009-12-20 17:24:13 -0600
committerTed Gould <ted@gould.cx>2009-12-20 17:24:13 -0600
commit9185eeee48ad6fc91b023127e9f92f7348a0c6aa (patch)
treee26c5c6c22f8092701af2bf9c4aa8ca644b2f68b
parenta9c6b6e346c1c850284f8766171a371da8c7b595 (diff)
downloadayatana-indicator-application-9185eeee48ad6fc91b023127e9f92f7348a0c6aa.tar.gz
ayatana-indicator-application-9185eeee48ad6fc91b023127e9f92f7348a0c6aa.tar.bz2
ayatana-indicator-application-9185eeee48ad6fc91b023127e9f92f7348a0c6aa.zip
Adding in the icon path to the list of parameters that are passed when we have a new application.
-rw-r--r--src/application-service-appstore.c6
-rw-r--r--src/application-service-marshal.list2
-rw-r--r--src/application-service.xml1
-rw-r--r--src/indicator-application.c8
4 files changed, 11 insertions, 6 deletions
diff --git a/src/application-service-appstore.c b/src/application-service-appstore.c
index 1391d33..92e5668 100644
--- a/src/application-service-appstore.c
+++ b/src/application-service-appstore.c
@@ -40,6 +40,7 @@ static gboolean _application_service_server_get_applications (ApplicationService
#define NOTIFICATION_ITEM_PROP_STATUS "Status"
#define NOTIFICATION_ITEM_PROP_ICON_NAME "IconName"
#define NOTIFICATION_ITEM_PROP_AICON_NAME "AttentionIconName"
+#define NOTIFICATION_ITEM_PROP_ICON_PATH "IconPath"
#define NOTIFICATION_ITEM_PROP_MENU "Menu"
/* Private Stuff */
@@ -93,8 +94,8 @@ application_service_appstore_class_init (ApplicationServiceAppstoreClass *klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (ApplicationServiceAppstore, application_added),
NULL, NULL,
- _application_service_marshal_VOID__STRING_INT_STRING_STRING,
- G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_NONE);
+ _application_service_marshal_VOID__STRING_INT_STRING_STRING_STRING,
+ G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_NONE);
signals[APPLICATION_REMOVED] = g_signal_new ("application-removed",
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_RUN_LAST,
@@ -185,6 +186,7 @@ get_all_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError * err
0, /* Position */
app->dbus_name,
g_value_get_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_MENU)),
+ g_value_get_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_ICON_PATH)),
TRUE);
return;
diff --git a/src/application-service-marshal.list b/src/application-service-marshal.list
index a122bf8..6cfbada 100644
--- a/src/application-service-marshal.list
+++ b/src/application-service-marshal.list
@@ -16,4 +16,4 @@
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
-VOID: STRING, INT, STRING, STRING
+VOID: STRING, INT, STRING, STRING, STRING
diff --git a/src/application-service.xml b/src/application-service.xml
index fdd25bb..d354943 100644
--- a/src/application-service.xml
+++ b/src/application-service.xml
@@ -35,6 +35,7 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
<arg type="i" name="position" direction="out" />
<arg type="s" name="dbusaddress" direction="out" />
<arg type="o" name="dbusobject" direction="out" />
+ <arg type="s" name="iconpath" direction="out" />
</signal>
<signal name="ApplicationRemoved">
<arg type="i" name="position" direction="out" />
diff --git a/src/indicator-application.c b/src/indicator-application.c
index f3566e4..436a743 100644
--- a/src/indicator-application.c
+++ b/src/indicator-application.c
@@ -91,7 +91,7 @@ static void indicator_application_dispose (GObject *object);
static void indicator_application_finalize (GObject *object);
static GList * get_entries (IndicatorObject * io);
static void connected (IndicatorServiceManager * sm, gboolean connected, IndicatorApplication * application);
-static void application_added (DBusGProxy * proxy, const gchar * iconname, gint position, const gchar * dbusaddress, const gchar * dbusobject, IndicatorApplication * application);
+static void application_added (DBusGProxy * proxy, const gchar * iconname, gint position, const gchar * dbusaddress, const gchar * dbusobject, const gchar * icon_path, IndicatorApplication * application);
static void application_removed (DBusGProxy * proxy, gint position , IndicatorApplication * application);
static void get_applications (DBusGProxy *proxy, GPtrArray *OUT_applications, GError *error, gpointer userdata);
@@ -111,12 +111,13 @@ indicator_application_class_init (IndicatorApplicationClass *klass)
io_class->get_entries = get_entries;
- dbus_g_object_register_marshaller(_application_service_marshal_VOID__STRING_INT_STRING_STRING,
+ dbus_g_object_register_marshaller(_application_service_marshal_VOID__STRING_INT_STRING_STRING_STRING,
G_TYPE_NONE,
G_TYPE_STRING,
G_TYPE_INT,
G_TYPE_STRING,
G_TYPE_STRING,
+ G_TYPE_STRING,
G_TYPE_INVALID);
return;
@@ -211,6 +212,7 @@ connected (IndicatorServiceManager * sm, gboolean connected, IndicatorApplicatio
G_TYPE_INT,
G_TYPE_STRING,
G_TYPE_STRING,
+ G_TYPE_STRING,
G_TYPE_INVALID);
dbus_g_proxy_add_signal(priv->service_proxy,
"ApplicationRemoved",
@@ -267,7 +269,7 @@ get_entries (IndicatorObject * io)
ApplicationEntry and signaling the indicator host that
we've got a new indicator. */
static void
-application_added (DBusGProxy * proxy, const gchar * iconname, gint position, const gchar * dbusaddress, const gchar * dbusobject, IndicatorApplication * application)
+application_added (DBusGProxy * proxy, const gchar * iconname, gint position, const gchar * dbusaddress, const gchar * dbusobject, const gchar * icon_path, IndicatorApplication * application)
{
g_debug("Building new application entry: %s with icon: %s", dbusaddress, iconname);
IndicatorApplicationPrivate * priv = INDICATOR_APPLICATION_GET_PRIVATE(application);