← Back to team overview

ayatana-commits team mailing list archive

[Merge] lp:~qense/indicator-application/doc-intro-fixes into lp:indicator-application

 

Sense Hofstede has proposed merging lp:~qense/indicator-application/doc-intro-fixes into lp:indicator-application.

Requested reviews:
  Indicator Applet Developers (indicator-applet-developers)

-- 
https://code.launchpad.net/~qense/indicator-application/doc-intro-fixes/+merge/25835
Your team ayatana-commits is subscribed to branch lp:indicator-application.
=== modified file 'bindings/mono/Makefile.am'
--- bindings/mono/Makefile.am	2010-04-14 16:07:23 +0000
+++ bindings/mono/Makefile.am	2010-05-23 10:48:29 +0000
@@ -12,7 +12,7 @@
 ASSEMBLY_NAME = appindicator-sharp
 ASSEMBLY = appindicator-sharp.dll
 TARGET = $(ASSEMBLY) $(ASSEMBLY).config
-assemblydir = $(libdir)/appindicator-sharp-0.1
+assemblydir = $(libdir)/cli/appindicator-sharp-0.1
 assembly_DATA = $(TARGET)
 CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb generated-stamp generated/*.cs $(API) $(MIDDLE_API) $(RAW_API) $(TEST)
 DISTCLEANFILES = $(ASSEMBLY).config
@@ -45,21 +45,13 @@
 	fi
 
 $(API): $(MIDDLE_API) Makefile.am
-	sed -e "s|PROP_ID_S|ID|" \
-		-e "s|PROP_ID_S|id|" \
-		-e "s|PROP_STATUS_S|Status|" \
+	sed -e "s|PROP_ID_S|id|" \
 		-e "s|PROP_STATUS_S|status|" \
-		-e "s|PROP_CATEGORY_S|Category|" \
 		-e "s|PROP_CATEGORY_S|category|" \
-		-e "s|PROP_ICON_NAME_S|IconName|" \
 		-e "s|PROP_ICON_NAME_S|icon-name|" \
-		-e "s|PROP_ATTENTION_ICON_NAME_S|AttentionIconName|" \
 		-e "s|PROP_ATTENTION_ICON_NAME_S|attention-icon-name|" \
-		-e "s|PROP_ICON_THEME_PATH_S|IconThemePath|" \
 		-e "s|PROP_ICON_THEME_PATH_S|icon-theme-path|" \
-		-e "s|PROP_MENU_S|Menu|" \
 		-e "s|PROP_MENU_S|menu|" \
-		-e "s|PROP_CONNECTED_S|Connected|" \
 		-e "s|PROP_CONNECTED_S|connected|" \
 		$< > $@
 

=== modified file 'bindings/mono/appindicator-sharp-0.1.pc.in'
--- bindings/mono/appindicator-sharp-0.1.pc.in	2009-12-16 21:15:52 +0000
+++ bindings/mono/appindicator-sharp-0.1.pc.in	2010-05-23 10:48:29 +0000
@@ -1,7 +1,7 @@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
-assemblies_dir=${libdir}/appindicator-sharp-0.1
+assemblies_dir=${libdir}/cli/appindicator-sharp-0.1
 
 Name: appindicator-sharp
 Description: application indicators for .NET

=== modified file 'bindings/mono/libappindicator-api.metadata'
--- bindings/mono/libappindicator-api.metadata	2010-02-25 14:23:23 +0000
+++ bindings/mono/libappindicator-api.metadata	2010-05-23 10:48:29 +0000
@@ -9,27 +9,33 @@
 	<attr path="/api/namespace/object[@cname='AppIndicator']/signal[@field_name='connection_changed']" name="cname">connection-changed</attr>
 	<attr path="/api/namespace/object[@cname='AppIndicator']/signal[@field_name='new_icon']" name="name">NewIcon</attr>
 	<attr path="/api/namespace/object[@cname='AppIndicator']/signal[@field_name='new_icon']" name="cname">new-icon</attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='id']" name="name">ID</attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_CATEGORY_S']" name="hidden"></attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_CATEGORY_S']" name="hidden"></attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_STATUS_S']" name="hidden"></attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_STATUS_S']" name="hidden"></attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='icon-name']" name="name">IconName</attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='attention-icon-name']" name="name">AttentionIconName</attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='menu']" name="name">Menu</attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='menu']" name="type">GtkMenu*</attr>
-	<attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='connected']" name="name">Connected</attr>
-        <attr path="/api/namespace/object[@cname='AppIndicator']/method[@name='SetMenu']" name="name">SetMenu</attr>
-
-        <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_id']" />
-        <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_status']" />
-        <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_icon']" />
-        <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_category']" />
-        <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_attention_icon']" />
+    <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_ID_S']" name="name">ID</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_CATEGORY_S']" name="hidden">true</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_STATUS_S']" name="hidden">true</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_ICON_NAME_S']" name="name">IconName</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_ATTENTION_ICON_NAME_S']" name="name">AttentionIconName</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_ICON_THEME_PATH_S']" name="name">IconThemePath</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_MENU_S']" name="name">Menu</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_MENU_S']" name="type">GtkMenu*</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/property[@cname='PROP_CONNECTED_S']" name="name">Connected</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/method[@name='SetMenu']" name="name">SetMenu</attr>
+
+    <attr path="/api/namespace/object[@cname='AppIndicator']/constructor[@cname='app_indicator_new']/*/*[@name='id']" name="property_name">id</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/constructor[@cname='app_indicator_new']/*/*[@name='icon_name']" name="property_name">icon-name</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/constructor[@cname='app_indicator_new']/*/*[@name='category']" name="property_name">category</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/constructor[@cname='app_indicator_new_with_path']/*/*[@name='id']" name="property_name">id</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/constructor[@cname='app_indicator_new_with_path']/*/*[@name='icon_name']" name="property_name">icon-name</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/constructor[@cname='app_indicator_new_with_path']/*/*[@name='category']" name="property_name">category</attr>
+    <attr path="/api/namespace/object[@cname='AppIndicator']/constructor[@cname='app_indicator_new_with_path']/*/*[@name='icon_path']" name="property_name">icon-theme-path</attr>
+
+    <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_id']" />
+    <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_status']" />
+    <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_icon']" />
+    <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_category']" />
+    <remove-node path="/api/namespace/object/method[@cname='app_indicator_get_attention_icon']" />
 
 	<remove-node path="/api/namespace/object/method[@cname='app_indicator_set_id']" />
-        <remove-node path="/api/namespace/object/method[@cname='app_indicator_set_status']" />
-        <remove-node path="/api/namespace/object/method[@cname='app_indicator_set_icon']" />
-        <remove-node path="/api/namespace/object/method[@cname='app_indicator_set_category']" />
-        <remove-node path="/api/namespace/object/method[@cname='app_indicator_set_attention_icon']" />
+    <remove-node path="/api/namespace/object/method[@cname='app_indicator_set_status']" />
+    <remove-node path="/api/namespace/object/method[@cname='app_indicator_set_icon']" />
+    <remove-node path="/api/namespace/object/method[@cname='app_indicator_set_attention_icon']" />
 </metadata>

=== modified file 'src/Makefile.am'
--- src/Makefile.am	2010-04-29 17:07:21 +0000
+++ src/Makefile.am	2010-05-23 10:48:29 +0000
@@ -52,7 +52,8 @@
 	-Wall -Werror \
 	-DG_LOG_DOMAIN=\"indicator-application-service\"
 indicator_application_service_LDADD = \
-	$(INDICATOR_LIBS)
+	$(INDICATOR_LIBS) \
+	libappindicator.la
 
 glib_marshal_list = application-service-marshal.list
 glib_marshal_prefix = _application_service_marshal
@@ -65,19 +66,9 @@
 pkgconfigdir = $(libdir)/pkgconfig
 
 glib_enum_h = app-indicator-enum-types.h
-glib_enum_c = app-indicator-enum-types.gen.c
+glib_enum_c = app-indicator-enum-types.c
 glib_enum_headers = $(libappindicator_headers)
 
-app-indicator-enum-types.c: app-indicator-enum-types.gen.c
-	sed -e "s|\"passive\"|\"Passive\"|" \
-	    -e "s|\"active\"|\"Active\"|" \
-	    -e "s|\"attention\"|\"NeedsAttention\"|" \
-	    -e "s|\"application-status\"|\"ApplicationStatus\"|" \
-	    -e "s|\"communications\"|\"Communications\"|" \
-	    -e "s|\"system-services\"|\"SystemServices\"|" \
-	    -e "s|\"hardware\"|\"Hardware\"|" \
-	    -e "s|\"other\"|\"Other\"|" \
-	       $< > $@
 DISTCLEANFILES += app-indicator-enum-types.c
 
 lib_LTLIBRARIES = \

=== renamed file 'src/app-indicator-enum-types.gen.c.in' => 'src/app-indicator-enum-types.c.in'
--- src/app-indicator-enum-types.gen.c.in	2010-04-29 16:31:36 +0000
+++ src/app-indicator-enum-types.c.in	2010-05-23 10:48:29 +0000
@@ -36,6 +36,13 @@
 /*** END file-production ***/
 
 /*** BEGIN value-header ***/
+/**
+	@enum_name@_get_type:
+
+	Builds a GLib type for the #@EnumName@ enumeration.
+
+	Return value: A unique #GType for the #@EnumName@ enum.
+*/
 GType
 @enum_name@_get_type (void)
 {

=== modified file 'src/app-indicator-enum-types.h.in'
--- src/app-indicator-enum-types.h.in	2010-04-29 16:31:36 +0000
+++ src/app-indicator-enum-types.h.in	2010-05-23 10:48:29 +0000
@@ -48,13 +48,6 @@
 /*** END file-production ***/
 
 /*** BEGIN value-header ***/
-/**
-	@enum_name@_get_type:
-
-	Builds a glib type for the @EnumName@ enumeration.
-
-	Return value: A registered type for the enum
-*/
 GType @enum_name@_get_type (void) G_GNUC_CONST;
 #define APP_INDICATOR_TYPE_@ENUMSHORT@ (@enum_name@_get_type())
 

=== modified file 'src/app-indicator.c'
--- src/app-indicator.c	2010-05-20 19:39:17 +0000
+++ src/app-indicator.c	2010-05-23 10:48:29 +0000
@@ -52,13 +52,13 @@
 	application indicator.
 */
 /*  Private Fields
-	@id: The ID of the indicator.  Maps to AppIndicator::id.
-	@category: Which category the indicator is.  Maps to AppIndicator::category.
-	@status: The status of the indicator.  Maps to AppIndicator::status.
-	@icon_name: The name of the icon to use.  Maps to AppIndicator::icon-name.
-	@attention_icon_name: The name of the attention icon to use.  Maps to AppIndicator::attention-icon-name.
-	@menu: The menu for this indicator.  Maps to AppIndicator::menu
-	@watcher_proxy: The proxy connection to the watcher we're connected to.  If we're not connected to one this will be #NULL.
+	@id: The ID of the indicator.  Maps to AppIndicator:id.
+	@category: Which category the indicator is.  Maps to AppIndicator:category.
+	@status: The status of the indicator.  Maps to AppIndicator:status.
+	@icon_name: The name of the icon to use.  Maps to AppIndicator:icon-name.
+	@attention_icon_name: The name of the attention icon to use.  Maps to AppIndicator:attention-icon-name.
+	@menu: The menu for this indicator.  Maps to AppIndicator:menu
+	@watcher_proxy: The proxy connection to the watcher we're connected to.  If we're not connected to one this will be %NULL.
 */
 struct _AppIndicatorPrivate {
 	/*< Private >*/
@@ -175,38 +175,68 @@
 	klass->unfallback = unfallback;
 
 	/* Properties */
+
+	/**
+		AppIndicator:id:
+		
+		The ID for this indicator, which should be unique, but used consistently
+		by this program and its indicator.
+	*/
 	g_object_class_install_property (object_class,
                                          PROP_ID,
                                          g_param_spec_string(PROP_ID_S,
                                                              "The ID for this indicator",
-                                                             "An ID that should be unique, but used consistently by this program and it's indicator.",
+                                                             "An ID that should be unique, but used consistently by this program and its indicator.",
                                                              NULL,
                                                              G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY));
 
+	/**
+		AppIndicator:category:
+		
+		The type of indicator that this represents.  Please don't use 'Other'. 
+		Defaults to 'ApplicationStatus'.
+	*/
 	g_object_class_install_property (object_class,
                                          PROP_CATEGORY,
                                          g_param_spec_string (PROP_CATEGORY_S,
                                                               "Indicator Category",
-                                                              "The type of indicator that this represents.  Please don't use 'other'.  Defaults to 'Application Status'.",
+                                                              "The type of indicator that this represents.  Please don't use 'other'. Defaults to 'ApplicationStatus'.",
                                                               NULL,
                                                               G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY));
 
+	/**
+		AppIndicator:status:
+		
+		Whether the indicator is shown or requests attention. Defaults to
+		'Passive'.
+	*/
 	g_object_class_install_property (object_class,
                                          PROP_STATUS,
                                          g_param_spec_string (PROP_STATUS_S,
                                                               "Indicator Status",
-                                                              "Whether the indicator is shown or requests attention.  Defaults to 'off'.",
+                                                              "Whether the indicator is shown or requests attention. Defaults to 'Passive'.",
                                                               NULL,
                                                               G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+	/**
+		AppIndicator:icon-name:
+		
+		The name of the regular icon that is shown for the indicator.
+	*/
 	g_object_class_install_property(object_class,
-                                        PROP_ICON_NAME,
+                                    PROP_ICON_NAME,
 	                                g_param_spec_string (PROP_ICON_NAME_S,
                                                              "An icon for the indicator",
                                                              "The default icon that is shown for the indicator.",
                                                              NULL,
-                                                             G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+                                                             G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT));
 
+	/**
+		AppIndicator:attention-icon-name:
+		
+		If the indicator sets it's status to %APP_INDICATOR_STATUS_ATTENTION
+		then this icon is shown.
+	*/
 	g_object_class_install_property (object_class,
                                          PROP_ATTENTION_ICON_NAME,
                                          g_param_spec_string (PROP_ATTENTION_ICON_NAME_S,
@@ -214,7 +244,12 @@
                                                               "If the indicator sets it's status to 'attention' then this icon is shown.",
                                                               NULL,
                                                               G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
+	/**
+		AppIndicator:icon-theme-path:
+		
+		An additional place to look for icon names that may be installed by the
+		application.
+	*/
 	g_object_class_install_property(object_class,
 	                                PROP_ICON_THEME_PATH,
 	                                g_param_spec_string (PROP_ICON_THEME_PATH_S,
@@ -222,8 +257,13 @@
                                                              "An additional place to look for icon names that may be installed by the application.",
                                                              NULL,
                                                              G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY));
-
-        g_object_class_install_property(object_class,
+	
+	/**
+		AppIndicator:menu:
+		
+		A method for getting the menu path as a string for DBus.
+	*/
+    g_object_class_install_property(object_class,
                                         PROP_MENU,
                                         g_param_spec_boxed (PROP_MENU_S,
                                                              "The object path of the menu on DBus.",
@@ -231,6 +271,12 @@
                                                              DBUS_TYPE_G_OBJECT_PATH,
                                                              G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
+	/**
+		AppIndicator:connected:
+		
+		Pretty simple, %TRUE if we have a reasonable expectation of being 
+		displayed through this object. You should hide your TrayIcon if so.
+	*/
 	g_object_class_install_property (object_class,
                                          PROP_CONNECTED,
                                          g_param_spec_boolean (PROP_CONNECTED_S,
@@ -246,8 +292,7 @@
 		AppIndicator::new-icon:
 		@arg0: The #AppIndicator object
 
-		Signaled when there is a new icon set for the
-		object.
+		Emitted when #AppIndicator:icon-name is changed
 	*/
 	signals[NEW_ICON] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_ICON,
 	                                  G_TYPE_FROM_CLASS(klass),
@@ -261,8 +306,7 @@
 		AppIndicator::new-attention-icon:
 		@arg0: The #AppIndicator object
 
-		Signaled when there is a new attention icon set for the
-		object.
+		Emitted when #AppIndicator:attention-icon-name is changed
 	*/
 	signals[NEW_ATTENTION_ICON] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON,
 	                                            G_TYPE_FROM_CLASS(klass),
@@ -277,7 +321,7 @@
 		@arg0: The #AppIndicator object
 		@arg1: The string value of the #AppIndicatorStatus enum.
 
-		Signaled when the status of the indicator changes.
+		Emitted when #AppIndicator:status is changed
 	*/
 	signals[NEW_STATUS] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_STATUS,
 	                                    G_TYPE_FROM_CLASS(klass),
@@ -293,8 +337,7 @@
 		@arg0: The #AppIndicator object
 		@arg1: Whether we're connected or not
 
-		Signaled when we connect to a watcher, or when it drops
-		away.
+		Signaled when we connect to a watcher, or when it drops away.
 	*/
 	signals[CONNECTION_CHANGED] = g_signal_new (APP_INDICATOR_SIGNAL_CONNECTION_CHANGED,
 	                                            G_TYPE_FROM_CLASS(klass),
@@ -957,8 +1000,8 @@
         @category: The category of indicator.
 
 		Creates a new #AppIndicator setting the properties:
-		#AppIndicator::id with @id, #AppIndicator::category
-		with @category and #AppIndicator::icon-name with
+		#AppIndicator:id with @id, #AppIndicator:category
+		with @category and #AppIndicator:icon-name with
 		@icon_name.
 
         Return value: A pointer to a new #AppIndicator object.
@@ -985,9 +1028,9 @@
         @icon_path: A custom path for finding icons.
 
 		Creates a new #AppIndicator setting the properties:
-		#AppIndicator::id with @id, #AppIndicator::category
-		with @category, #AppIndicator::icon-name with
-		@icon_name and #AppIndicator::icon-theme-path with @icon_path.
+		#AppIndicator:id with @id, #AppIndicator:category
+		with @category, #AppIndicator:icon-name with
+		@icon_name and #AppIndicator:icon-theme-path with @icon_path.
 
         Return value: A pointer to a new #AppIndicator object.
  */
@@ -1020,7 +1063,7 @@
 	@self: The #AppIndicator object to use
 	@status: The status to set for this indicator
 
-	Wrapper function for property #AppIndicator::status.
+	Wrapper function for property #AppIndicator:status.
 */
 void
 app_indicator_set_status (AppIndicator *self, AppIndicatorStatus status)
@@ -1041,7 +1084,7 @@
 	@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.
+	Wrapper function for property #AppIndicator:attention-icon-name.
 */
 void
 app_indicator_set_attention_icon (AppIndicator *self, const gchar *icon_name)
@@ -1070,6 +1113,7 @@
 		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.
+		Wrapper function for property #AppIndicator:icon-name.
 **/
 void
 app_indicator_set_icon (AppIndicator *self, const gchar *icon_name)
@@ -1481,6 +1525,8 @@
         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.
+        
+        Wrapper function for property #AppIndicator:menu.
 **/
 void
 app_indicator_set_menu (AppIndicator *self, GtkMenu *menu)
@@ -1519,7 +1565,7 @@
 	app_indicator_get_id:
 	@self: The #AppIndicator object to use
 
-	Wrapper function for property #AppIndicator::id.
+	Wrapper function for property #AppIndicator:id.
 
 	Return value: The current ID
 */
@@ -1535,7 +1581,7 @@
 	app_indicator_get_category:
 	@self: The #AppIndicator object to use
 
-	Wrapper function for property #AppIndicator::category.
+	Wrapper function for property #AppIndicator:category.
 
 	Return value: The current category.
 */
@@ -1551,7 +1597,7 @@
 	app_indicator_get_status:
 	@self: The #AppIndicator object to use
 
-	Wrapper function for property #AppIndicator::status.
+	Wrapper function for property #AppIndicator:status.
 
 	Return value: The current status.
 */
@@ -1567,7 +1613,7 @@
 	app_indicator_get_icon:
 	@self: The #AppIndicator object to use
 
-	Wrapper function for property #AppIndicator::icon-name.
+	Wrapper function for property #AppIndicator:icon-name.
 
 	Return value: The current icon name.
 */
@@ -1583,7 +1629,7 @@
 	app_indicator_get_attention_icon:
 	@self: The #AppIndicator object to use
 
-	Wrapper function for property #AppIndicator::attention-icon-name.
+	Wrapper function for property #AppIndicator:attention-icon-name.
 
 	Return value: The current attention icon name.
 */
@@ -1600,8 +1646,9 @@
 	@self: The #AppIndicator object to use
 
 	Gets the menu being used for this application indicator.
+	Wrapper function for property #AppIndicator:menu.
 
-	Return value: A menu object or #NULL if one hasn't been set.
+	Return value: A #GtkMenu object or %NULL if one hasn't been set.
 */
 GtkMenu *
 app_indicator_get_menu (AppIndicator *self)

=== modified file 'src/app-indicator.h'
--- src/app-indicator.h	2010-04-29 16:31:36 +0000
+++ src/app-indicator.h	2010-05-23 10:48:29 +0000
@@ -113,11 +113,11 @@
 	users can find indicators that are similar together.
 */
 typedef enum { /*< prefix=APP_INDICATOR_CATEGORY >*/
-	APP_INDICATOR_CATEGORY_APPLICATION_STATUS,
-	APP_INDICATOR_CATEGORY_COMMUNICATIONS,
-	APP_INDICATOR_CATEGORY_SYSTEM_SERVICES,
-	APP_INDICATOR_CATEGORY_HARDWARE,
-	APP_INDICATOR_CATEGORY_OTHER
+	APP_INDICATOR_CATEGORY_APPLICATION_STATUS, /*< nick=ApplicationStatus >*/
+	APP_INDICATOR_CATEGORY_COMMUNICATIONS, /*< nick=Communications >*/
+	APP_INDICATOR_CATEGORY_SYSTEM_SERVICES, /*< nick=SystemServices >*/
+	APP_INDICATOR_CATEGORY_HARDWARE, /*< nick=Hardware >*/
+	APP_INDICATOR_CATEGORY_OTHER /*< nick=Other >*/
 } AppIndicatorCategory;
 
 /**
@@ -132,9 +132,9 @@
 	shown by setting it to @APP_INDICATOR_STATUS_ACTIVE.
 */
 typedef enum { /*< prefix=APP_INDICATOR_STATUS >*/
-	APP_INDICATOR_STATUS_PASSIVE,
-	APP_INDICATOR_STATUS_ACTIVE,
-	APP_INDICATOR_STATUS_ATTENTION
+	APP_INDICATOR_STATUS_PASSIVE, /*< nick=Passive >*/
+	APP_INDICATOR_STATUS_ACTIVE, /*< nick=Active >*/
+	APP_INDICATOR_STATUS_ATTENTION /*< nick=NeedsAttention >*/
 } AppIndicatorStatus;
 
 typedef struct _AppIndicator        AppIndicator;

=== modified file 'src/application-service-appstore.c'
--- src/application-service-appstore.c	2010-02-19 17:02:18 +0000
+++ src/application-service-appstore.c	2010-05-23 10:48:29 +0000
@@ -25,6 +25,8 @@
 #endif
 
 #include <dbus/dbus-glib.h>
+#include "app-indicator.h"
+#include "app-indicator-enum-types.h"
 #include "application-service-appstore.h"
 #include "application-service-marshal.h"
 #include "dbus-properties-client.h"
@@ -55,17 +57,6 @@
 	AppLruFile * lrufile;
 };
 
-#define APP_STATUS_PASSIVE_STR    "Passive"
-#define APP_STATUS_ACTIVE_STR     "Active"
-#define APP_STATUS_ATTENTION_STR  "NeedsAttention"
-
-typedef enum _ApplicationStatus ApplicationStatus;
-enum _ApplicationStatus {
-	APP_STATUS_PASSIVE,
-	APP_STATUS_ACTIVE,
-	APP_STATUS_ATTENTION
-};
-
 typedef struct _Application Application;
 struct _Application {
 	gchar * id;
@@ -76,7 +67,7 @@
 	DBusGProxy * dbus_proxy;
 	DBusGProxy * prop_proxy;
 	gboolean validated; /* Whether we've gotten all the parameters and they look good. */
-	ApplicationStatus status;
+	AppIndicatorStatus status;
 	gchar * icon;
 	gchar * aicon;
 	gchar * menu;
@@ -102,8 +93,8 @@
 static void application_service_appstore_init       (ApplicationServiceAppstore *self);
 static void application_service_appstore_dispose    (GObject *object);
 static void application_service_appstore_finalize   (GObject *object);
-static ApplicationStatus string_to_status(const gchar * status_string);
-static void apply_status (Application * app, ApplicationStatus status);
+static AppIndicatorStatus string_to_status(const gchar * status_string);
+static void apply_status (Application * app, AppIndicatorStatus status);
 
 G_DEFINE_TYPE (ApplicationServiceAppstore, application_service_appstore, G_TYPE_OBJECT);
 
@@ -249,14 +240,10 @@
 }
 
 /* Simple translation function -- could be optimized */
-static ApplicationStatus
+static AppIndicatorStatus
 string_to_status(const gchar * status_string)
 {
-	if (!g_strcmp0(status_string, APP_STATUS_ACTIVE_STR))
-		return APP_STATUS_ACTIVE;
-	if (!g_strcmp0(status_string, APP_STATUS_ATTENTION_STR))
-		return APP_STATUS_ATTENTION;
-	return APP_STATUS_PASSIVE;
+	return (AppIndicatorStatus) g_enum_get_value_by_nick((GEnumClass *)g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_STATUS), status_string);
 }
 
 /* A small helper function to get the position of an application
@@ -330,7 +317,7 @@
 	Application * app = (Application *)userdata;
 
 	/* Remove from the panel */
-	apply_status(app, APP_STATUS_PASSIVE);
+	apply_status(app, APP_INDICATOR_STATUS_PASSIVE);
 
 	/* Destroy the data */
 	application_free(app);
@@ -375,7 +362,7 @@
    it removes it from the panel.  If we're coming online, then
    it add it to the panel.  Otherwise it changes the icon. */
 static void
-apply_status (Application * app, ApplicationStatus status)
+apply_status (Application * app, AppIndicatorStatus status)
 {
 	if (app->status == status) {
 		return;
@@ -386,7 +373,7 @@
 	ApplicationServiceAppstorePrivate * priv = APPLICATION_SERVICE_APPSTORE_GET_PRIVATE(appstore);
 
 	/* This means we're going off line */
-	if (status == APP_STATUS_PASSIVE) {
+	if (status == APP_INDICATOR_STATUS_PASSIVE) {
 		gint position = get_position(app);
 		if (position == -1) return;
 
@@ -397,12 +384,12 @@
 	} else {
 		/* Figure out which icon we should be using */
 		gchar * newicon = app->icon;
-		if (status == APP_STATUS_ATTENTION && app->aicon != NULL && app->aicon[0] != '\0') {
+		if (status == APP_INDICATOR_STATUS_ATTENTION && app->aicon != NULL && app->aicon[0] != '\0') {
 			newicon = app->aicon;
 		}
 
 		/* Determine whether we're already shown or not */
-		if (app->status == APP_STATUS_PASSIVE) {
+		if (app->status == APP_INDICATOR_STATUS_PASSIVE) {
                         if (can_add_application (priv->applications, app)) {
                                 /* Put on panel */
                                 priv->applications = g_list_insert_sorted_with_data (priv->applications, app, app_sort_func, priv->lrufile);
@@ -457,7 +444,7 @@
 		if (app->icon != NULL) g_free(app->icon);
 		app->icon = g_strdup(newicon);
 
-		if (app->status == APP_STATUS_ACTIVE) {
+		if (app->status == APP_INDICATOR_STATUS_ACTIVE) {
 			gint position = get_position(app);
 			if (position == -1) return;
 
@@ -495,7 +482,7 @@
 		if (app->aicon != NULL) g_free(app->aicon);
 		app->aicon = g_strdup(newicon);
 
-		if (app->status == APP_STATUS_ATTENTION) {
+		if (app->status == APP_INDICATOR_STATUS_ATTENTION) {
 			gint position = get_position(app);
 			if (position == -1) return;
 
@@ -576,7 +563,7 @@
 	app->dbus_name = g_strdup(dbus_name);
 	app->dbus_object = g_strdup(dbus_object);
 	app->appstore = appstore;
-	app->status = APP_STATUS_PASSIVE;
+	app->status = APP_INDICATOR_STATUS_PASSIVE;
 	app->icon = NULL;
 	app->aicon = NULL;
 	app->menu = NULL;


Follow ups