aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog55
-rw-r--r--debian/libindicate0.install2
-rw-r--r--libindicate/Makefile.am48
-rw-r--r--libindicate/indicator.c4
-rw-r--r--libindicate/server.c30
5 files changed, 107 insertions, 32 deletions
diff --git a/debian/changelog b/debian/changelog
index 6ecbe69..306be6d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,58 @@
+indicator-applet (0.1~ppa35) intrepid; urgency=low
+
+ * Better use of type and sending it with signals.
+ * Making it so that the server hide function works better.
+ * Only sending property updates if the indicator is
+ visible.
+
+ -- Ted Gould <ted@ubuntu.com> Mon, 09 Feb 2009 11:01:11 -0600
+
+indicator-applet (0.1~ppa34) intrepid; urgency=low
+
+ * Ah, listener fixes too. Make everything get together and
+ use the new APIs.
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 06 Feb 2009 15:02:57 +0100
+
+indicator-applet (0.1~ppa33) intrepid; urgency=low
+
+ * Version bump, autogen.sh
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 06 Feb 2009 14:35:38 +0100
+
+indicator-applet (0.1~ppa32) intrepid; urgency=low
+
+ * Adding back in the package config data
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 06 Feb 2009 14:14:33 +0100
+
+indicator-applet (0.1~ppa31) intrepid; urgency=low
+
+ * Ah, silly packaging stuff. I hate packaging.
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 06 Feb 2009 11:39:04 +0100
+
+indicator-applet (0.1~ppa30) intrepid; urgency=low
+
+ * Removing GObject introspection, so that it will build in
+ the PPA. Will put back later.
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 06 Feb 2009 10:39:59 +0100
+
+indicator-applet (0.1~ppa29) intrepid; urgency=low
+
+ * Bumping for PPA as forgot to run autogen.sh
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 06 Feb 2009 00:29:11 +0100
+
+indicator-applet (0.1~ppa28) intrepid; urgency=low
+
+ * Updating the server interface to have signals for show and hide
+ on the server and having properties for the desktop and type
+ of the server.
+
+ -- Ted Gould <ted@ubuntu.com> Thu, 05 Feb 2009 18:22:19 +0100
+
indicator-applet (0.1~ppa27) intrepid; urgency=low
* Adding an API function for pixbufs
diff --git a/debian/libindicate0.install b/debian/libindicate0.install
index a83aa8a..0618a58 100644
--- a/debian/libindicate0.install
+++ b/debian/libindicate0.install
@@ -1,3 +1 @@
debian/tmp/usr/lib/libindicate.so.*
-debian/tmp/usr/share/gir/
-debian/tmp/usr/lib/girepository/
diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am
index 5b43425..3eb14af 100644
--- a/libindicate/Makefile.am
+++ b/libindicate/Makefile.am
@@ -74,28 +74,28 @@ listener-marshal.c: $(srcdir)/listener-marshal.list
pkgconfig_DATA = indicate.pc
pkgconfigdir = $(libdir)/pkgconfig
-gobjectintrospection_gir_DATA = \
- Indicate-0.1.gir
-gobjectintrospection_girdir = $(datadir)/gir
-
-gobjectintrospection_type_DATA = \
- Indicate-0.1.typelib
-gobjectintrospection_typedir = $(libdir)/girepository
-
-irscanner_headers = $(patsubst %,$(srcdir)/%,$(indicate_headers))
-Indicate-0.1.gir: $(irscanner_headers)
- $(G_IR_SCANNER) \
- -v --namespace Indicate \
- --nsversion=0.1 \
- --add-include-path=$(srcdir) \
- --include=GObject-2.0 \
- --include=GLib-2.0 \
- --include=GdkPixbuf-2.0 \
- --library=indicate --pkg indicate \
- --output Indicate-0.1.gir $(irscanner_headers)
-
-Indicate-0.1.typelib: Indicate-0.1.gir
- $(G_IR_COMPILER) \
- --includedir=$(srcdir) Indicate-0.1.gir \
- -o Indicate-0.1.typelib
+#gobjectintrospection_gir_DATA = \
+# Indicate-0.1.gir
+#gobjectintrospection_girdir = $(datadir)/gir
+#
+#gobjectintrospection_type_DATA = \
+# Indicate-0.1.typelib
+#gobjectintrospection_typedir = $(libdir)/girepository
+#
+#irscanner_headers = $(patsubst %,$(srcdir)/%,$(indicate_headers))
+#Indicate-0.1.gir: $(irscanner_headers)
+# $(G_IR_SCANNER) \
+# -v --namespace Indicate \
+# --nsversion=0.1 \
+# --add-include-path=$(srcdir) \
+# --include=GObject-2.0 \
+# --include=GLib-2.0 \
+# --include=GdkPixbuf-2.0 \
+# --library=indicate --pkg indicate \
+# --output Indicate-0.1.gir $(irscanner_headers)
+#
+#Indicate-0.1.typelib: Indicate-0.1.gir
+# $(G_IR_COMPILER) \
+# --includedir=$(srcdir) Indicate-0.1.gir \
+# -o Indicate-0.1.typelib
diff --git a/libindicate/indicator.c b/libindicate/indicator.c
index b77d7d7..cf77316 100644
--- a/libindicate/indicator.c
+++ b/libindicate/indicator.c
@@ -255,7 +255,9 @@ set_property (IndicateIndicator * indicator, const gchar * key, const gchar * da
/* If the value has changed or there is no value */
gchar * newkey = g_strdup(key);
g_hash_table_insert(priv->properties, newkey, g_strdup(data));
- g_signal_emit(indicator, signals[MODIFIED], 0, newkey, TRUE);
+ if (indicate_indicator_is_visible(indicator)) {
+ g_signal_emit(indicator, signals[MODIFIED], 0, newkey, TRUE);
+ }
}
return;
diff --git a/libindicate/server.c b/libindicate/server.c
index f5bd0bb..7daedc7 100644
--- a/libindicate/server.c
+++ b/libindicate/server.c
@@ -40,6 +40,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
typedef struct _IndicateServerPrivate IndicateServerPrivate;
struct _IndicateServerPrivate
{
+ DBusGConnection *connection;
gchar * path;
GSList * indicators;
gboolean visible;
@@ -175,7 +176,9 @@ indicate_server_finalize (GObject * obj)
IndicateServerPrivate * priv = INDICATE_SERVER_GET_PRIVATE(server);
/* TODO: This probably shouldn't be as far down as finalize, but it's fine here. */
- g_signal_emit(server, signals[SERVER_HIDE], 0, priv->type ? priv->type : "", TRUE);
+ if (priv->visible) {
+ g_signal_emit(server, signals[SERVER_HIDE], 0, priv->type ? priv->type : "", TRUE);
+ }
if (priv->path) {
g_free(priv->path);
@@ -261,11 +264,9 @@ indicate_server_show (IndicateServer * server)
if (priv->visible)
return;
- DBusGConnection * connection;
-
- connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
+ priv->connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
- dbus_g_connection_register_g_object(connection,
+ dbus_g_connection_register_g_object(priv->connection,
priv->path,
G_OBJECT(server));
priv->visible = TRUE;
@@ -275,6 +276,25 @@ indicate_server_show (IndicateServer * server)
return;
}
+void
+indicate_server_hide (IndicateServer * server)
+{
+ g_return_if_fail(INDICATE_IS_SERVER(server));
+ IndicateServerPrivate * priv = INDICATE_SERVER_GET_PRIVATE(server);
+
+ if (priv->visible)
+ return;
+
+ priv->visible = FALSE;
+
+ g_signal_emit(server, signals[SERVER_HIDE], 0, priv->type ? priv->type : "", TRUE);
+
+ dbus_g_connection_unref (priv->connection);
+ priv->connection = NULL;
+
+ return;
+}
+
static guint
get_next_id (IndicateServer * server)
{