aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xautogen.sh2
-rw-r--r--debian/changelog4
-rw-r--r--debian/control35
-rw-r--r--docs/reference/Makefile.am9
-rw-r--r--docs/reference/libappindicator-sections.txt1
-rw-r--r--src/Makefile.am2
-rw-r--r--src/libappindicator/app-indicator.c79
-rw-r--r--src/libappindicator/app-indicator.h72
8 files changed, 166 insertions, 38 deletions
diff --git a/autogen.sh b/autogen.sh
index 741ac76..e8fc803 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -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