Ted Gould has proposed merging 
lp:~indicator-applet-developers/indicator-applet/applet-packaging into 
lp:~ubuntu-core-dev/indicator-applet/ubuntu.

Requested reviews:
    Ubuntu Sponsors for main (ubuntu-main-sponsors): sponsoring

This is a packaging branch update to fix various bugs reported in Ubuntu with 
the 0.1.2 release.  The change log is:

indicator-applet (0.1.2-0ubuntu1) jaunty; urgency=low

  * New upstream version
    * Removes duplicate prototypes (LP: #338885)
    * Fixes background color to match them on dark themes when
      the panel color is not set (LP: #334490)
    * Removing the handle and replacing it with the ability to
      right click on the applet to get a panel menu (LP: #339818)
    * Various build fixes

 -- Ted Gould <[email protected]>  Sun, 15 Mar 2009 08:58:20 -0500

-- 
https://code.launchpad.net/~indicator-applet-developers/indicator-applet/applet-packaging/+merge/4538
Your team Indicator Applet Developers is subscribed to branch 
lp:~indicator-applet-developers/indicator-applet/applet-packaging.
=== modified file 'Makefile.am'
--- Makefile.am	2009-02-17 15:10:00 +0000
+++ Makefile.am	2009-03-12 17:21:22 +0000
@@ -14,5 +14,9 @@
 	omf.make \
 	xmldocs.make
 
+DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-scrollkeeper
+
 DISTCLEANFILES = \
-	indicator-applet-*.tar.gz
+	indicator-applet-*.tar.gz \
+	gtk-doc.make
+

=== modified file 'configure.ac'
--- configure.ac	2009-02-19 15:11:40 +0000
+++ configure.ac	2009-03-12 17:24:47 +0000
@@ -4,7 +4,7 @@
 AC_PREREQ(2.53)
 
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(indicator-applet, 0.1.1)
+AM_INIT_AUTOMAKE(indicator-applet, 0.1.2)
 
 AM_MAINTAINER_MODE
 

=== modified file 'debian/changelog'
--- debian/changelog	2009-02-19 16:25:15 +0000
+++ debian/changelog	2009-03-15 14:11:20 +0000
@@ -1,3 +1,15 @@
+indicator-applet (0.1.2-0ubuntu1) jaunty; urgency=low
+
+  * New upstream version
+    * Removes duplicate prototypes (LP: #338885)
+    * Fixes background color to match them on dark themes when
+      the panel color is not set (LP: #334490)
+    * Removing the handle and replacing it with the ability to
+      right click on the applet to get a panel menu (LP: #339818)
+    * Various build fixes
+
+ -- Ted Gould <[email protected]>  Sun, 15 Mar 2009 08:58:20 -0500
+
 indicator-applet (0.1.1-0ubuntu2) UNRELEASED; urgency=low
 
   * src/applet-main.c, applet_fill_cb(): Do not show anything if we

=== added file 'debian/compat'
--- debian/compat	1970-01-01 00:00:00 +0000
+++ debian/compat	2009-02-25 20:35:56 +0000
@@ -0,0 +1,1 @@
+5

=== modified file 'debian/control'
--- debian/control	2009-02-17 10:23:18 +0000
+++ debian/control	2009-02-25 21:48:02 +0000
@@ -12,7 +12,8 @@
                intltool,
                gobject-introspection (>= 0.6),
                gobject-introspection-glib-2.0 (>= 0.6),
-               libgirepository-dev (>= 0.6)
+               libgirepository-dev (>= 0.6),
+               gobject-introspection-repository
 Standards-Version: 3.8.0
 Homepage: https://launchpad.net/indicator-applet
 Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/indicator-applet/ubuntu

=== modified file 'debian/libindicate-dev.install'
--- debian/libindicate-dev.install	2009-02-03 10:53:19 +0000
+++ debian/libindicate-dev.install	2009-02-25 20:35:56 +0000
@@ -2,3 +2,4 @@
 debian/tmp/usr/lib/pkgconfig
 debian/tmp/usr/lib/libindicate.a
 debian/tmp/usr/lib/libindicate.so
+debian/tmp/usr/share/gir/

=== modified file 'debian/libindicate0.install'
--- debian/libindicate0.install	2009-02-06 10:40:28 +0000
+++ debian/libindicate0.install	2009-02-25 20:37:49 +0000
@@ -1,1 +1,2 @@
 debian/tmp/usr/lib/libindicate.so.*
+debian/tmp/usr/lib/girepository/

=== modified file 'libindicate/Makefile.am'
--- libindicate/Makefile.am	2009-02-16 19:04:54 +0000
+++ libindicate/Makefile.am	2009-03-12 17:21:22 +0000
@@ -4,12 +4,15 @@
 
 EXTRA_DIST = \
 	indicate-interface.xml \
+	indicate-listener.xml \
 	listener-marshal.list \
 	indicate.pc.in
 
 BUILT_SOURCES = \
 	dbus-indicate-server.h \
 	dbus-indicate-client.h \
+	dbus-listener-server.h \
+	dbus-listener-client.h \
 	listener-marshal.c \
 	listener-marshal.h
 
@@ -31,6 +34,8 @@
 	$(indicate_headers) \
 	dbus-indicate-server.h \
 	dbus-indicate-client.h \
+	dbus-listener-server.h \
+	dbus-listener-client.h \
 	server.c \
 	listener.c \
 	listener-marshal.c \
@@ -63,6 +68,20 @@
 		--output=dbus-indicate-client.h \
 		$(srcdir)/indicate-interface.xml
 
+dbus-listener-server.h: indicate-listener.xml
+	dbus-binding-tool \
+		--prefix=indicate_listener \
+		--mode=glib-server \
+		--output=dbus-listener-server.h \
+		$(srcdir)/indicate-listener.xml
+
+dbus-listener-client.h: indicate-listener.xml
+	dbus-binding-tool \
+		--prefix=indicate_listener \
+		--mode=glib-client \
+		--output=dbus-listener-client.h \
+		$(srcdir)/indicate-listener.xml
+
 listener-marshal.h: $(srcdir)/listener-marshal.list
 	glib-genmarshal --header \
 		--prefix=indicate_listener_marshal $(srcdir)/listener-marshal.list \
@@ -76,28 +95,32 @@
 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
+
+DISTCLEANFILES = \
+	Indicate-0.1.gir \
+	Indicate-0.1.typelib
 

=== added file 'libindicate/indicate-listener.xml'
--- libindicate/indicate-listener.xml	1970-01-01 00:00:00 +0000
+++ libindicate/indicate-listener.xml	2009-02-23 04:59:44 +0000
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+A library to allow applictions to provide simple indications of
+information to be displayed to users of the application through the
+interface shell.
+
+Copyright 2009 Canonical Ltd.
+
+Authors:
+    Ted Gould <[email protected]>
+
+This program is free software: you can redistribute it and/or modify it 
+under the terms of either or both of the following licenses:
+
+1) the GNU Lesser General Public License version 3, as published by the 
+Free Software Foundation; and/or
+2) the GNU Lesser General Public License version 2.1, 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 applicable version of the GNU Lesser General Public 
+License for more details.
+
+You should have received a copy of both the GNU Lesser General Public 
+License version 3 and version 2.1 along with this program.  If not, see 
+<http://www.gnu.org/licenses/>
+-->
+<node name="/">
+	<interface name="org.freedesktop.indicator.listener">
+
+<!-- Functions -->
+		<method name="GetIndicatorServers">
+			<arg type="as" name="server_ids" direction="out" />
+		</method>
+
+<!-- End of interesting stuff -->
+
+	</interface>
+</node>

=== modified file 'libindicate/indicator.h'
--- libindicate/indicator.h	2009-02-12 14:17:37 +0000
+++ libindicate/indicator.h	2009-03-09 15:02:47 +0000
@@ -78,9 +78,6 @@
 
 IndicateIndicator * indicate_indicator_new (void);
 
-/* Should these just be GObject properties? */
-void indicate_indicator_set_property (IndicateIndicator * indicator, const gchar * property_name, const gchar * property_value);
-
 /* Show and hide this indicator */
 void indicate_indicator_show (IndicateIndicator * indicator);
 void indicate_indicator_hide (IndicateIndicator * indicator);

=== modified file 'libindicate/listener.c'
--- libindicate/listener.c	2009-02-16 03:40:46 +0000
+++ libindicate/listener.c	2009-02-25 21:33:32 +0000
@@ -31,6 +31,8 @@
 #include "listener-marshal.h"
 #include <dbus/dbus-glib-bindings.h>
 #include "dbus-indicate-client.h"
+#include "dbus-listener-client.h"
+#include "dbus-listener-server.h"
 
 /* Errors */
 enum {
@@ -81,6 +83,7 @@
 typedef struct {
 	DBusGConnection * bus;
 	gchar * name;
+	gboolean startup;
 } proxy_todo_t;
 
 G_DEFINE_TYPE (IndicateListener, indicate_listener, G_TYPE_OBJECT);
@@ -90,7 +93,7 @@
 static void dbus_owner_change (DBusGProxy * proxy, const gchar * name, const gchar * prev, const gchar * new, IndicateListener * listener);
 static void proxy_struct_destroy (gpointer data);
 static void build_todo_list_cb (DBusGProxy * proxy, char ** names, GError * error, void * data);
-static void todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener);
+static void todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener, gboolean startup);
 static gboolean todo_idle (gpointer data);
 void get_type_cb (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data);
 static void proxy_server_added (DBusGProxy * proxy, const gchar * type, proxy_t * proxyt);
@@ -286,7 +289,7 @@
 	/* g_debug("Name change on %s bus: '%s' from '%s' to '%s'", bus_name, name, prev, new); */
 
 	if (prev != NULL && prev[0] == '\0') {
-		todo_list_add(name, proxy, listener);
+		todo_list_add(name, proxy, listener, FALSE);
 	}
 	if (new != NULL && new[0] == '\0') {
 		proxy_t * proxyt;
@@ -369,14 +372,14 @@
 
 	guint i = 0;
 	for (i = 0; names[i] != NULL; i++) {
-		todo_list_add(names[i], proxy, listener);
+		todo_list_add(names[i], proxy, listener, TRUE);
 	}
 
 	return;
 }
 
 static void
-todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener)
+todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener, gboolean startup)
 {
 	if (name == NULL || name[0] != ':') {
 		return;
@@ -398,6 +401,7 @@
 	proxy_todo_t todo;
 	todo.name = g_strdup(name);
 	todo.bus  = bus;
+	todo.startup = startup;
 
 	g_array_append_val(priv->proxy_todo, todo);
 
@@ -455,6 +459,12 @@
 
 	g_hash_table_insert(priv->proxies_possible, proxyt->name, proxyt);
 
+	/* I think that we need to have this as there is a race
+	 * condition here.  If someone comes on the bus and we get
+	 * that message, but before we set up the handler for the ServerShow
+	 * signal it gets sent, we wouldn't get it.  So then we would
+	 * miss an indicator server coming on the bus.  I'd like to not
+	 * generate a warning in every app with DBus though. */
 	indicate_listener_server_get_type(listener, (IndicateListenerServer *)proxyt->name, get_type_cb, proxyt);
 
 	return TRUE;
@@ -783,6 +793,13 @@
 	return get_property_helper(listener, server, indicator, property, G_CALLBACK(callback), data, PROPERTY_TYPE_ICON);
 }
 
+gboolean
+indicate_listener_get_indicator_servers (IndicateListener * listener, GList * servers)
+{
+
+
+}
+
 static void 
 listener_display_cb (DBusGProxy *proxy, GError *error, gpointer userdata)
 {

=== modified file 'libindicate/listener.h'
--- libindicate/listener.h	2009-02-12 16:47:54 +0000
+++ libindicate/listener.h	2009-02-25 21:33:32 +0000
@@ -109,6 +109,7 @@
 void                  indicate_listener_display            (IndicateListener * listener,
                                                             IndicateListenerServer * server,
                                                             IndicateListenerIndicator * indicator);
+gboolean              indicate_listener_get_indicator_servers (IndicateListener * listener, GList * servers);
 void                  indicate_listener_server_get_type    (IndicateListener * listener,
                                                             IndicateListenerServer * server,
                                                             indicate_listener_get_server_property_cb callback,

=== modified file 'src/applet-main.c'
--- src/applet-main.c	2009-02-19 16:25:15 +0000
+++ src/applet-main.c	2009-03-12 17:24:47 +0000
@@ -83,6 +83,18 @@
 }
 
 static gboolean
+menubar_press (GtkWidget * widget,
+                    GdkEventButton *event,
+                    gpointer data)
+{
+	if (event->button != 1) {
+		g_signal_stop_emission_by_name(widget, "button-press-event");
+	}
+
+	return FALSE;
+}
+
+static gboolean
 menubar_on_expose (GtkWidget * widget,
                     GdkEventExpose *event,
                     GtkWidget * menubar)
@@ -94,9 +106,69 @@
 	return FALSE;
 }
 
+static void
+about_cb (BonoboUIComponent *ui_container,
+	  gpointer           data,
+	  const gchar       *cname)
+{
+	static const gchar *authors[] = {
+		"Ted Gould <[email protected]>",
+		NULL
+	};
+
+	static gchar *license[] = {
+		N_("The Indicator Applet is free software; you can redistribute it and/or modify "
+		   "it under the terms of the GNU General Public License as published by "
+		   "the Free Software Foundation; either version 3 of the License."),
+		N_("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."),
+		N_("You should have received a copy of the GNU General Public License "
+		   "along with this program; if not, write to the Free Software "
+		   "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA "),
+		NULL
+	};
+	gchar *license_i18n;
+
+	license_i18n = g_strjoinv ("\n\n", license);
+
+	gtk_show_about_dialog(NULL,
+		"version", "0.1",
+		"copyright", "Copyright \xc2\xa9 2009 Canonical, Ltd.",
+		"comments", _("An applet to hold all of the system indicators."),
+		"authors", authors,
+		"license", license_i18n,
+		"wrap-license", TRUE,
+		"translator-credits", _("translator-credits"),
+		"logo-icon-name", "indicator-applet",
+		"website", "http://launchpad.net/indicator-applet";,
+		"website-label", _("Indicator Applet Website"),
+		NULL
+	);
+
+	g_free (license_i18n);
+
+	return;
+}
+
+#ifdef N_
+#undef N_
+#endif
+#define N_(x) x
+
 static gboolean
 applet_fill_cb (PanelApplet * applet, const gchar * iid, gpointer data)
 {
+	static const BonoboUIVerb menu_verbs[] = {
+		BONOBO_UI_VERB ("IndicatorAppletAbout", about_cb),
+		BONOBO_UI_VERB_END
+	};
+	static const gchar * menu_xml = 
+		"<popup name=\"button3\">"
+			"<menuitem name=\"About Item\" verb=\"IndicatorAppletAbout\" _label=\"" N_("_About") "\" pixtype=\"stock\" pixname=\"gtk-about\"/>"
+		"</popup>";
+
 	GtkWidget *menubar;
 	gint i;
 	gint indicators_loaded = 0;
@@ -109,12 +181,13 @@
   
 	/* Set panel options */
 	gtk_container_set_border_width(GTK_CONTAINER (applet), 0);
-	panel_applet_set_flags(applet, PANEL_APPLET_EXPAND_MINOR | PANEL_APPLET_HAS_HANDLE);
+	panel_applet_set_flags(applet, PANEL_APPLET_EXPAND_MINOR);
+	panel_applet_setup_menu(applet, menu_xml, menu_verbs, NULL);
   
 	/* Init some theme/icon stuff */
 	gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(),
 	                                  ICONS_DIR);
-	g_debug("Icons directory: %s", ICONS_DIR);
+	/* g_debug("Icons directory: %s", ICONS_DIR); */
 	gtk_rc_parse_string (
 	    "style \"indicator-applet-style\"\n"
         "{\n"
@@ -123,12 +196,14 @@
         "    GtkWidget::focus-line-width = 0\n"
         "    GtkWidget::focus-padding = 0\n"
         "}\n"
-        "widget \"*.indicator-applet-menubar\" style \"indicator-applet-style\"");
-	gtk_widget_set_name(GTK_WIDGET (applet), "indicator-applet-menubar");
+        "widget \"*.fast-user-switch-applet\" style \"indicator-applet-style\"");
+	//gtk_widget_set_name(GTK_WIDGET (applet), "indicator-applet-menubar");
+	gtk_widget_set_name(GTK_WIDGET (applet), "fast-user-switch-applet");
 
 	/* Build menubar */
 	menubar = gtk_menu_bar_new();
 	GTK_WIDGET_SET_FLAGS (menubar, GTK_WIDGET_FLAGS(menubar) | GTK_CAN_FOCUS);
+	g_signal_connect(menubar, "button-press-event", G_CALLBACK(menubar_press), NULL);
 	g_signal_connect_after(menubar, "expose-event", G_CALLBACK(menubar_on_expose), menubar);
 	gtk_container_set_border_width(GTK_CONTAINER(menubar), 0);
 

=== modified file 'tests/Makefile.am'
--- tests/Makefile.am	2009-01-21 22:10:21 +0000
+++ tests/Makefile.am	2009-03-09 13:12:10 +0000
@@ -1,5 +1,5 @@
 
-noinst_PROGRAMS = \
+libexec_PROGRAMS = \
 	indicate-and-crash \
 	indicate-alot \
 	listen-and-print \
@@ -49,3 +49,12 @@
 	../libindicate/libindicate.la \
 	$(LIBINDICATE_LIBS)
 
+examplesdir = $(docdir)/examples/
+
+examples_DATA = \
+	$(indicate_and_crash_SOURCES) \
+	$(indicate_alot_SOURCES) \
+	$(listen_and_print_SOURCES) \
+	$(im_client_SOURCES)
+
+EXTRA_DIST = $(examples_DATA)

_______________________________________________
Mailing list: https://launchpad.net/~dx-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~dx-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to