diff options
-rwxr-xr-x | autogen.sh | 2 | ||||
-rw-r--r-- | debian/changelog | 4 | ||||
-rw-r--r-- | debian/control | 35 | ||||
-rw-r--r-- | docs/reference/Makefile.am | 9 | ||||
-rw-r--r-- | docs/reference/libappindicator-sections.txt | 1 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/libappindicator/app-indicator.c | 79 | ||||
-rw-r--r-- | src/libappindicator/app-indicator.h | 72 |
8 files changed, 166 insertions, 38 deletions
@@ -9,4 +9,4 @@ which gnome-autogen.sh || { USE_GNOME2_MACROS=1 \ USE_COMMON_DOC_BUILD=yes \ -. gnome-autogen.sh --enable-gtk-doc +gnome-autogen.sh --enable-gtk-doc $@ diff --git a/debian/changelog b/debian/changelog index 6f013d1..0bbcfbb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,9 @@ -indicator-application (0.0.2-0ubuntu1~ppa3) lucid; urgency=low +indicator-application (0.0.2-0~ppa3) karmic; urgency=low * debian/watch: - Updated url to point to the LP project + * debian/control + - Updated Vcs-Bzr, project urls and description -- Ken VanDine <ken.vandine@canonical.com> Thu, 10 Dec 2009 09:00:06 -0500 diff --git a/debian/control b/debian/control index 49b4a1c..11b02d9 100644 --- a/debian/control +++ b/debian/control @@ -12,28 +12,30 @@ Build-Depends: debhelper (>= 5.0), intltool, libindicate-dev (>= 0.2.0), libindicate-gtk-dev (>= 0.2.0), - libindicator-dev (>= 0.2.0~bzr301), + libindicator-dev (>= 0.3.0), libdbusmenu-gtk-dev (>= 0.1.1), libdbusmenu-glib-dev (>= 0.1.1) Standards-Version: 3.8.0 -Homepage: https://launchpad.net/cape-girardeau -Vcs-Bzr: http://bazaar.launchpa.net/~canonical-dx-team/cape-girardeau/karmic +Homepage: https://launchpad.net/indicator-application +Vcs-Bzr: http://bazaar.launchpa.net/~indicator-applet-developers/indicator-application/karmic Package: indicator-application Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} -Description: cape-girardeau project - . - This package is the cape-girardeau project +Description: Application Indicators + A library and indicator to take menus from applications and place them in + the panel. Package: libappindicator0 Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} -Description: cape-girardeau project +Description: Application Indicators + A library and indicator to take menus from applications and place them in + the panel. . - This package is the cape-girardeau project + This package contains shared libraries to be used by applications. Package: libappindicator-dev Section: libdevel @@ -41,7 +43,20 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libdbus-glib-1-dev (>= 0.76) -Description: cape-girardeau project +Description: Application Indicators + A library and indicator to take menus from applications and place them in + the panel. . - This package is the cape-girardeau project + This package contains files that are needed to build applications. +Package: libappindicator-doc +Section: doc +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libappindicator0 (= ${binary:Version}) +Description: Application Indicators + A library and indicator to take menus from applications and place them in + the panel. + . + This package contains development documentation. diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am index e2a02cd..67582f2 100644 --- a/docs/reference/Makefile.am +++ b/docs/reference/Makefile.am @@ -91,5 +91,12 @@ EXTRA_DIST += version.xml.in #DISTCLEANFILES += # Comment this out if you want your docs-status tested during 'make check' -#TESTS = $(GTKDOC_CHECK) +TESTS = gtkdoc-in-srcdir + +gtkdoc-in-srcdir: Makefile.am + @echo "#!/bin/sh" > $@ + @echo "cd \"$(srcdir)\"" >> $@ + @echo "$(GTKDOC_CHECK)" >> $@ + @chmod +x $@ +DISTCLEANFILES = gtkdoc-in-srcdir diff --git a/docs/reference/libappindicator-sections.txt b/docs/reference/libappindicator-sections.txt index d64f53a..b994297 100644 --- a/docs/reference/libappindicator-sections.txt +++ b/docs/reference/libappindicator-sections.txt @@ -15,6 +15,7 @@ AppIndicatorStatus AppIndicatorPrivate <TITLE>AppIndicator</TITLE> AppIndicator +AppIndicatorClass app_indicator_get_type app_indicator_new app_indicator_set_status diff --git a/src/Makefile.am b/src/Makefile.am index f1878a4..ee4b7a7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,7 @@ CLEANFILES = DISTCLEANFILES = BUILT_SOURCES = -EXTRA_DIST = appindicator-0.1.pc.in +EXTRA_DIST = libappindicator/appindicator-0.1.pc.in include $(top_srcdir)/Makefile.am.enum include $(top_srcdir)/Makefile.am.marshal diff --git a/src/libappindicator/app-indicator.c b/src/libappindicator/app-indicator.c index 6f4a6fd..791f9ff 100644 --- a/src/libappindicator/app-indicator.c +++ b/src/libappindicator/app-indicator.c @@ -33,6 +33,7 @@ License version 3 and version 2.1 along with this program. If not, see #include <dbus/dbus-glib.h> #include <libdbusmenu-glib/server.h> +#include <libdbusmenu-gtk/client.h> #include "libappindicator/app-indicator.h" #include "libappindicator/app-indicator-enum-types.h" @@ -549,7 +550,12 @@ category_from_enum (AppIndicatorCategory category) @icon_name: The icon name for this indicator @category: The category of indicator. - @returns: A pointer to a new #AppIndicator object. + Creates a new #AppIndicator setting the properties: + #AppIndicator::id with @id, #AppIndicator::category + with @category and #AppIndicator::icon-name with + @icon_name. + + Return value: A pointer to a new #AppIndicator object. */ AppIndicator * app_indicator_new (const gchar *id, @@ -566,8 +572,16 @@ app_indicator_new (const gchar *id, } /** + app_indicator_get_type: + + Generates or returns the unique #GType for #AppIndicator. + + Return value: A unique #GType for #AppIndicator objects. +*/ + +/** app_indicator_set_status: - @ci: The #AppIndicator object to use + @self: The #AppIndicator object to use @status: The status to set for this indicator Wrapper function for property #AppIndicator::status. @@ -588,7 +602,7 @@ app_indicator_set_status (AppIndicator *self, AppIndicatorStatus status) /** app_indicator_set_attention_icon: - @ci: The #AppIndicator object to use + @self: The #AppIndicator object to use @icon_name: The name of the attention icon to set for this indicator Wrapper function for property #AppIndicator::attention-icon. @@ -614,6 +628,10 @@ app_indicator_set_attention_icon (AppIndicator *self, const gchar *icon_name) app_indicator_set_icon: @self: The #AppIndicator object to use @icon_name: The icon name to set. + + Sets the default icon to use when the status is active but + not set to attention. In most cases, this should be the + application icon for the program. **/ void app_indicator_set_icon (AppIndicator *self, const gchar *icon_name) @@ -660,33 +678,42 @@ container_iterate (GtkWidget *widget, { DbusmenuMenuitem *root = (DbusmenuMenuitem *)data; DbusmenuMenuitem *child; - const gchar *label; + const gchar *label = NULL; gboolean label_set = FALSE; - label = gtk_menu_item_get_label (GTK_MENU_ITEM (widget)); - child = dbusmenu_menuitem_new (); - if (GTK_IS_IMAGE_MENU_ITEM (widget)) + if (GTK_IS_SEPARATOR_MENU_ITEM (widget)) { - GtkWidget *image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (widget)); + dbusmenu_menuitem_property_set (child, + "type", + DBUSMENU_CLIENT_TYPES_SEPARATOR); + } + else + { + label = gtk_menu_item_get_label (GTK_MENU_ITEM (widget)); - if (gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_STOCK) + if (GTK_IS_IMAGE_MENU_ITEM (widget)) { - GtkStockItem stock; + GtkWidget *image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (widget)); - gtk_stock_lookup (GTK_IMAGE (image)->data.stock.stock_id, &stock); + if (gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_STOCK) + { + GtkStockItem stock; - dbusmenu_menuitem_property_set (child, - DBUSMENU_MENUITEM_PROP_ICON, - GTK_IMAGE (image)->data.stock.stock_id); + gtk_stock_lookup (GTK_IMAGE (image)->data.stock.stock_id, &stock); - if (stock.label != NULL) - { dbusmenu_menuitem_property_set (child, - DBUSMENU_MENUITEM_PROP_LABEL, - stock.label); - label_set = TRUE; + DBUSMENU_MENUITEM_PROP_ICON, + GTK_IMAGE (image)->data.stock.stock_id); + + if (stock.label != NULL) + { + dbusmenu_menuitem_property_set (child, + DBUSMENU_MENUITEM_PROP_LABEL, + stock.label); + label_set = TRUE; + } } } } @@ -735,6 +762,10 @@ setup_dbusmenu (AppIndicator *self) app_indicator_set_menu: @self: The #AppIndicator @menu: A #GtkMenu to set + + Sets the menu that should be shown when the Application Indicator + is clicked on in the panel. An application indicator will not + be rendered unless it has a menu. **/ void app_indicator_set_menu (AppIndicator *self, GtkMenu *menu) @@ -761,7 +792,7 @@ app_indicator_set_menu (AppIndicator *self, GtkMenu *menu) /** app_indicator_get_id: - @ci: The #AppIndicator object to use + @self: The #AppIndicator object to use Wrapper function for property #AppIndicator::id. @@ -777,7 +808,7 @@ app_indicator_get_id (AppIndicator *self) /** app_indicator_get_category: - @ci: The #AppIndicator object to use + @self: The #AppIndicator object to use Wrapper function for property #AppIndicator::category. @@ -793,7 +824,7 @@ app_indicator_get_category (AppIndicator *self) /** app_indicator_get_status: - @ci: The #AppIndicator object to use + @self: The #AppIndicator object to use Wrapper function for property #AppIndicator::status. @@ -809,7 +840,7 @@ app_indicator_get_status (AppIndicator *self) /** app_indicator_get_icon: - @ci: The #AppIndicator object to use + @self: The #AppIndicator object to use Wrapper function for property #AppIndicator::icon-name. @@ -825,7 +856,7 @@ app_indicator_get_icon (AppIndicator *self) /** app_indicator_get_attention_icon: - @ci: The #AppIndicator object to use + @self: The #AppIndicator object to use Wrapper function for property #AppIndicator::attention-icon-name. diff --git a/src/libappindicator/app-indicator.h b/src/libappindicator/app-indicator.h index 6a961fe..e966a49 100644 --- a/src/libappindicator/app-indicator.h +++ b/src/libappindicator/app-indicator.h @@ -34,6 +34,41 @@ License version 3 and version 2.1 along with this program. If not, see G_BEGIN_DECLS +/** + APP_INDICATOR_TYPE: + + Get the #GType for a #AppIndicator. +*/ +/** + APP_INDICATOR: + @obj: The object to convert + + Safely convert a #GObject into an #AppIndicator. +*/ +/** + APP_INDICATOR_CLASS: + @klass: #GObjectClass based class to convert. + + Safely convert a #GObjectClass into a #AppIndicatorClass. +*/ +/** + IS_APP_INDICATOR: + @obj: An #GObject to check + + Checks to see if @obj is in the object hierarchy of #AppIndicator. +*/ +/** + IS_APP_INDICATOR_CLASS: + @klass: An #GObjectClass to check + + Checks to see if @klass is in the object class hierarchy of #AppIndicatorClass. +*/ +/** + APP_INDICATOR_GET_CLASS: + @obj: A #GObject in the class hierarchy of #AppIndicator. + + Gets a pointer to the #AppIndicatorClass for the object @obj. +*/ #define APP_INDICATOR_TYPE (app_indicator_get_type ()) #define APP_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), APP_INDICATOR_TYPE, AppIndicator)) #define APP_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), APP_INDICATOR_TYPE, AppIndicatorClass)) @@ -41,6 +76,26 @@ G_BEGIN_DECLS #define IS_APP_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), APP_INDICATOR_TYPE)) #define APP_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), APP_INDICATOR_TYPE, AppIndicatorClass)) +/** + APP_INDICATOR_SIGNAL_NEW_ICON: + + String identifier for the #AppIndicator::new-icon signal. +*/ +/** + APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON: + + String identifier for the #AppIndicator::new-attention-icon signal. +*/ +/** + APP_INDICATOR_SIGNAL_NEW_STATUS: + + String identifier for the #AppIndicator::new-status signal. +*/ +/** + APP_INDICATOR_SIGNAL_CONNECTION_CHANGED: + + String identifier for the #AppIndicator::connection-changed signal. +*/ #define APP_INDICATOR_SIGNAL_NEW_ICON "new-icon" #define APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON "new-attention-icon" #define APP_INDICATOR_SIGNAL_NEW_STATUS "new-status" @@ -167,4 +222,21 @@ const gchar * app_indicator_get_attention_icon (AppIndicator * G_END_DECLS +/** + SECTION:app-indicator + @short_description: An object to put application information + into the panel. + @stability: Unstable + @include: libappindicator/app-indicator.h + + An application indicator is a way for an application to put + a menu into the panel on the user's screen. This allows the + user to interact with the application even though it might + not be visible to the user at the time. In most cases this + is not a good solution as there are other ways to inform the + user. It should only be use if persistence is a desired + feature for the user (not for your marketing purpose of + having your logo in the panel). +*/ + #endif |