seahorse r2389 - in trunk: . gkr libseahorse pgp src ssh



Author: sadam
Date: Tue Aug 26 21:52:29 2008
New Revision: 2389
URL: http://svn.gnome.org/viewvc/seahorse?rev=2389&view=rev

Log:
2008-08-26  Adam Schreiber  <sadam clemson edu>
    * src/vala-build.stamp:
    * src/seahorse-keyserver-results.c:
    * src/seahorse-keyserver-results.vala:
    * src/seahorse-keyserver-results.h:
    * src/seahorse-key-manager.c:
    * src/seahorse-key-manager.vala:
    * src/seahorse-viewer.c:
    * src/seahorse-key-manager.h:
    * src/seahorse-viewer.h:
    * src/seahorse-generate-select.c:
    * gkr/vala-build.stamp:
    * gkr/seahorse-gkr-commands.c:
    * pgp/vala-build.stamp:
    * pgp/seahorse-pgp-generator.c:
    * pgp/seahorse-pgp-commands.c:
    * ssh/vala-build.stamp:
    * ssh/seahorse-ssh-commands.c:
    * ssh/seahorse-ssh-generator.c:
    * libseahorse/seahorse-generator.h:
    * libseahorse/seahorse-commands.c:
    * libseahorse/seahorse-object.c:
    * libseahorse/seahorse-commands.h:
    * libseahorse/seahorse-object.h:
    * libseahorse/seahorse-servers.c:
    * libseahorse/vala-build.stamp:
    * libseahorse/seahorse-view.c:
    * libseahorse/seahorse-view.h:
    * libseahorse/seahorse-generator.c: Add signal handler for help 
button on
    the first time options.  Fixes bug #549036


Modified:
   trunk/ChangeLog
   trunk/gkr/seahorse-gkr-commands.c
   trunk/gkr/vala-build.stamp
   trunk/libseahorse/seahorse-commands.c
   trunk/libseahorse/seahorse-commands.h
   trunk/libseahorse/seahorse-generator.c
   trunk/libseahorse/seahorse-generator.h
   trunk/libseahorse/seahorse-object.c
   trunk/libseahorse/seahorse-object.h
   trunk/libseahorse/seahorse-servers.c
   trunk/libseahorse/seahorse-view.c
   trunk/libseahorse/seahorse-view.h
   trunk/libseahorse/vala-build.stamp
   trunk/pgp/seahorse-pgp-commands.c
   trunk/pgp/seahorse-pgp-generator.c
   trunk/pgp/vala-build.stamp
   trunk/src/seahorse-generate-select.c
   trunk/src/seahorse-key-manager.c
   trunk/src/seahorse-key-manager.h
   trunk/src/seahorse-key-manager.vala
   trunk/src/seahorse-keyserver-results.c
   trunk/src/seahorse-keyserver-results.h
   trunk/src/seahorse-keyserver-results.vala
   trunk/src/seahorse-viewer.c
   trunk/src/seahorse-viewer.h
   trunk/src/vala-build.stamp
   trunk/ssh/seahorse-ssh-commands.c
   trunk/ssh/seahorse-ssh-generator.c
   trunk/ssh/vala-build.stamp

Modified: trunk/gkr/seahorse-gkr-commands.c
==============================================================================
--- trunk/gkr/seahorse-gkr-commands.c	(original)
+++ trunk/gkr/seahorse-gkr-commands.c	Tue Aug 26 21:52:29 2008
@@ -46,7 +46,7 @@
 static void seahorse_gkeyring_commands_real_show_properties (SeahorseCommands* base, SeahorseObject* key);
 static SeahorseOperation* seahorse_gkeyring_commands_real_delete_objects (SeahorseCommands* base, GList* keys);
 static gpointer seahorse_gkeyring_commands_parent_class = NULL;
-static void seahorse_gkeyring_commands_dispose (GObject * obj);
+static void seahorse_gkeyring_commands_finalize (GObject * obj);
 
 
 
@@ -97,20 +97,23 @@
 }
 
 
-static GQuark seahorse_gkeyring_commands_real_get_ktype (SeahorseGKeyringCommands* self) {
-	g_return_val_if_fail (SEAHORSE_GKEYRING_IS_COMMANDS (self), 0U);
+static GQuark seahorse_gkeyring_commands_real_get_ktype (SeahorseCommands* base) {
+	SeahorseGKeyringCommands* self;
+	self = SEAHORSE_GKEYRING_COMMANDS (base);
 	return SEAHORSE_GKEYRING_TYPE;
 }
 
 
-static char* seahorse_gkeyring_commands_real_get_ui_definition (SeahorseGKeyringCommands* self) {
-	g_return_val_if_fail (SEAHORSE_GKEYRING_IS_COMMANDS (self), NULL);
+static char* seahorse_gkeyring_commands_real_get_ui_definition (SeahorseCommands* base) {
+	SeahorseGKeyringCommands* self;
+	self = SEAHORSE_GKEYRING_COMMANDS (base);
 	return g_strdup ("");
 }
 
 
-static GtkActionGroup* seahorse_gkeyring_commands_real_get_command_actions (SeahorseGKeyringCommands* self) {
-	g_return_val_if_fail (SEAHORSE_GKEYRING_IS_COMMANDS (self), NULL);
+static GtkActionGroup* seahorse_gkeyring_commands_real_get_command_actions (SeahorseCommands* base) {
+	SeahorseGKeyringCommands* self;
+	self = SEAHORSE_GKEYRING_COMMANDS (base);
 	if (self->priv->_actions == NULL) {
 		GtkActionGroup* _tmp0;
 		_tmp0 = NULL;
@@ -125,13 +128,13 @@
 	self = SEAHORSE_GKEYRING_COMMANDS (object);
 	switch (property_id) {
 		case SEAHORSE_GKEYRING_COMMANDS_KTYPE:
-		g_value_set_uint (value, seahorse_gkeyring_commands_real_get_ktype (self));
+		g_value_set_uint (value, seahorse_commands_get_ktype (SEAHORSE_COMMANDS (self)));
 		break;
 		case SEAHORSE_GKEYRING_COMMANDS_UI_DEFINITION:
-		g_value_set_string (value, seahorse_gkeyring_commands_real_get_ui_definition (self));
+		g_value_set_string (value, seahorse_commands_get_ui_definition (SEAHORSE_COMMANDS (self)));
 		break;
 		case SEAHORSE_GKEYRING_COMMANDS_COMMAND_ACTIONS:
-		g_value_set_object (value, seahorse_gkeyring_commands_real_get_command_actions (self));
+		g_value_set_object (value, seahorse_commands_get_command_actions (SEAHORSE_COMMANDS (self)));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -144,9 +147,12 @@
 	seahorse_gkeyring_commands_parent_class = g_type_class_peek_parent (klass);
 	g_type_class_add_private (klass, sizeof (SeahorseGKeyringCommandsPrivate));
 	G_OBJECT_CLASS (klass)->get_property = seahorse_gkeyring_commands_get_property;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_gkeyring_commands_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_gkeyring_commands_finalize;
 	SEAHORSE_COMMANDS_CLASS (klass)->show_properties = seahorse_gkeyring_commands_real_show_properties;
 	SEAHORSE_COMMANDS_CLASS (klass)->delete_objects = seahorse_gkeyring_commands_real_delete_objects;
+	SEAHORSE_COMMANDS_CLASS (klass)->get_ktype = seahorse_gkeyring_commands_real_get_ktype;
+	SEAHORSE_COMMANDS_CLASS (klass)->get_ui_definition = seahorse_gkeyring_commands_real_get_ui_definition;
+	SEAHORSE_COMMANDS_CLASS (klass)->get_command_actions = seahorse_gkeyring_commands_real_get_command_actions;
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_GKEYRING_COMMANDS_KTYPE, "ktype");
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_GKEYRING_COMMANDS_UI_DEFINITION, "ui-definition");
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_GKEYRING_COMMANDS_COMMAND_ACTIONS, "command-actions");
@@ -162,17 +168,17 @@
 }
 
 
-static void seahorse_gkeyring_commands_dispose (GObject * obj) {
+static void seahorse_gkeyring_commands_finalize (GObject * obj) {
 	SeahorseGKeyringCommands * self;
 	self = SEAHORSE_GKEYRING_COMMANDS (obj);
 	(self->priv->_actions == NULL ? NULL : (self->priv->_actions = (g_object_unref (self->priv->_actions), NULL)));
-	G_OBJECT_CLASS (seahorse_gkeyring_commands_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_gkeyring_commands_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_gkeyring_commands_get_type (void) {
 	static GType seahorse_gkeyring_commands_type_id = 0;
-	if (G_UNLIKELY (seahorse_gkeyring_commands_type_id == 0)) {
+	if (seahorse_gkeyring_commands_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseGKeyringCommandsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_gkeyring_commands_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseGKeyringCommands), 0, (GInstanceInitFunc) seahorse_gkeyring_commands_instance_init };
 		seahorse_gkeyring_commands_type_id = g_type_register_static (SEAHORSE_TYPE_COMMANDS, "SeahorseGKeyringCommands", &g_define_type_info, 0);
 	}

Modified: trunk/gkr/vala-build.stamp
==============================================================================
--- trunk/gkr/vala-build.stamp	(original)
+++ trunk/gkr/vala-build.stamp	Tue Aug 26 21:52:29 2008
@@ -1 +1 @@
-1217782016
+1219784806

Modified: trunk/libseahorse/seahorse-commands.c
==============================================================================
--- trunk/libseahorse/seahorse-commands.c	(original)
+++ trunk/libseahorse/seahorse-commands.c	Tue Aug 26 21:52:29 2008
@@ -40,7 +40,7 @@
 static SeahorseOperation* seahorse_commands_real_delete_objects (SeahorseCommands* self, GList* obj);
 static void seahorse_commands_set_view (SeahorseCommands* self, SeahorseView* value);
 static gpointer seahorse_commands_parent_class = NULL;
-static void seahorse_commands_dispose (GObject * obj);
+static void seahorse_commands_finalize (GObject * obj);
 
 
 
@@ -86,26 +86,17 @@
 
 
 GQuark seahorse_commands_get_ktype (SeahorseCommands* self) {
-	GQuark value;
-	g_object_get (G_OBJECT (self), "ktype", &value, NULL);
-	return value;
+	return SEAHORSE_COMMANDS_GET_CLASS (self)->get_ktype (self);
 }
 
 
 GtkActionGroup* seahorse_commands_get_command_actions (SeahorseCommands* self) {
-	GtkActionGroup* value;
-	g_object_get (G_OBJECT (self), "command-actions", &value, NULL);
-	if (value != NULL) {
-		g_object_unref (value);
-	}
-	return value;
+	return SEAHORSE_COMMANDS_GET_CLASS (self)->get_command_actions (self);
 }
 
 
 char* seahorse_commands_get_ui_definition (SeahorseCommands* self) {
-	char* value;
-	g_object_get (G_OBJECT (self), "ui-definition", &value, NULL);
-	return value;
+	return SEAHORSE_COMMANDS_GET_CLASS (self)->get_ui_definition (self);
 }
 
 
@@ -142,7 +133,7 @@
 	g_type_class_add_private (klass, sizeof (SeahorseCommandsPrivate));
 	G_OBJECT_CLASS (klass)->get_property = seahorse_commands_get_property;
 	G_OBJECT_CLASS (klass)->set_property = seahorse_commands_set_property;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_commands_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_commands_finalize;
 	SEAHORSE_COMMANDS_CLASS (klass)->show_properties = seahorse_commands_real_show_properties;
 	SEAHORSE_COMMANDS_CLASS (klass)->delete_objects = seahorse_commands_real_delete_objects;
 	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAHORSE_COMMANDS_VIEW, g_param_spec_object ("view", "view", "view", SEAHORSE_TYPE_VIEW, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
@@ -157,17 +148,17 @@
 }
 
 
-static void seahorse_commands_dispose (GObject * obj) {
+static void seahorse_commands_finalize (GObject * obj) {
 	SeahorseCommands * self;
 	self = SEAHORSE_COMMANDS (obj);
 	(self->priv->_view == NULL ? NULL : (self->priv->_view = (g_object_unref (self->priv->_view), NULL)));
-	G_OBJECT_CLASS (seahorse_commands_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_commands_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_commands_get_type (void) {
 	static GType seahorse_commands_type_id = 0;
-	if (G_UNLIKELY (seahorse_commands_type_id == 0)) {
+	if (seahorse_commands_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseCommandsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_commands_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseCommands), 0, (GInstanceInitFunc) seahorse_commands_instance_init };
 		seahorse_commands_type_id = g_type_register_static (G_TYPE_OBJECT, "SeahorseCommands", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
 	}

Modified: trunk/libseahorse/seahorse-commands.h
==============================================================================
--- trunk/libseahorse/seahorse-commands.h	(original)
+++ trunk/libseahorse/seahorse-commands.h	Tue Aug 26 21:52:29 2008
@@ -54,6 +54,9 @@
 	GObjectClass parent_class;
 	void (*show_properties) (SeahorseCommands* self, SeahorseObject* obj);
 	SeahorseOperation* (*delete_objects) (SeahorseCommands* self, GList* obj);
+	GQuark (*get_ktype) (SeahorseCommands* self);
+	GtkActionGroup* (*get_command_actions) (SeahorseCommands* self);
+	char* (*get_ui_definition) (SeahorseCommands* self);
 };
 
 

Modified: trunk/libseahorse/seahorse-generator.c
==============================================================================
--- trunk/libseahorse/seahorse-generator.c	(original)
+++ trunk/libseahorse/seahorse-generator.c	Tue Aug 26 21:52:29 2008
@@ -33,12 +33,7 @@
 
 
 GtkActionGroup* seahorse_generator_get_actions (SeahorseGenerator* self) {
-	GtkActionGroup* value;
-	g_object_get (G_OBJECT (self), "actions", &value, NULL);
-	if (value != NULL) {
-		g_object_unref (value);
-	}
-	return value;
+	return SEAHORSE_GENERATOR_GET_CLASS (self)->get_actions (self);
 }
 
 
@@ -66,7 +61,7 @@
 
 GType seahorse_generator_get_type (void) {
 	static GType seahorse_generator_type_id = 0;
-	if (G_UNLIKELY (seahorse_generator_type_id == 0)) {
+	if (seahorse_generator_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseGeneratorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_generator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseGenerator), 0, (GInstanceInitFunc) seahorse_generator_instance_init };
 		seahorse_generator_type_id = g_type_register_static (G_TYPE_OBJECT, "SeahorseGenerator", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
 	}

Modified: trunk/libseahorse/seahorse-generator.h
==============================================================================
--- trunk/libseahorse/seahorse-generator.h	(original)
+++ trunk/libseahorse/seahorse-generator.h	Tue Aug 26 21:52:29 2008
@@ -47,6 +47,7 @@
 
 struct _SeahorseGeneratorClass {
 	GObjectClass parent_class;
+	GtkActionGroup* (*get_actions) (SeahorseGenerator* self);
 };
 
 

Modified: trunk/libseahorse/seahorse-object.c
==============================================================================
--- trunk/libseahorse/seahorse-object.c	(original)
+++ trunk/libseahorse/seahorse-object.c	Tue Aug 26 21:52:29 2008
@@ -30,7 +30,7 @@
 static void seahorse_object_unregister_child (SeahorseObject* self, SeahorseObject* child);
 static GObject * seahorse_object_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
 static gpointer seahorse_object_parent_class = NULL;
-static void seahorse_object_dispose (GObject * obj);
+static void seahorse_object_finalize (GObject * obj);
 
 
 
@@ -159,23 +159,17 @@
 
 
 char* seahorse_object_get_display_name (SeahorseObject* self) {
-	char* value;
-	g_object_get (G_OBJECT (self), "display-name", &value, NULL);
-	return value;
+	return SEAHORSE_OBJECT_GET_CLASS (self)->get_display_name (self);
 }
 
 
 char* seahorse_object_get_markup (SeahorseObject* self) {
-	char* value;
-	g_object_get (G_OBJECT (self), "markup", &value, NULL);
-	return value;
+	return SEAHORSE_OBJECT_GET_CLASS (self)->get_markup (self);
 }
 
 
 char* seahorse_object_get_stock_id (SeahorseObject* self) {
-	char* value;
-	g_object_get (G_OBJECT (self), "stock-id", &value, NULL);
-	return value;
+	return SEAHORSE_OBJECT_GET_CLASS (self)->get_stock_id (self);
 }
 
 
@@ -318,7 +312,7 @@
 	G_OBJECT_CLASS (klass)->get_property = seahorse_object_get_property;
 	G_OBJECT_CLASS (klass)->set_property = seahorse_object_set_property;
 	G_OBJECT_CLASS (klass)->constructor = seahorse_object_constructor;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_object_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_object_finalize;
 	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAHORSE_OBJECT_TAG, g_param_spec_uint ("tag", "tag", "tag", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
 	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAHORSE_OBJECT_ID, g_param_spec_uint ("id", "id", "id", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
 	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAHORSE_OBJECT_LOCATION, g_param_spec_enum ("location", "location", "location", SEAHORSE_TYPE_LOCATION, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
@@ -341,7 +335,7 @@
 }
 
 
-static void seahorse_object_dispose (GObject * obj) {
+static void seahorse_object_finalize (GObject * obj) {
 	SeahorseObject * self;
 	self = SEAHORSE_OBJECT (obj);
 	{
@@ -384,13 +378,13 @@
 		}
 		(new_parent == NULL ? NULL : (new_parent = (g_object_unref (new_parent), NULL)));
 	}
-	G_OBJECT_CLASS (seahorse_object_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_object_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_object_get_type (void) {
 	static GType seahorse_object_type_id = 0;
-	if (G_UNLIKELY (seahorse_object_type_id == 0)) {
+	if (seahorse_object_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseObject), 0, (GInstanceInitFunc) seahorse_object_instance_init };
 		seahorse_object_type_id = g_type_register_static (G_TYPE_OBJECT, "SeahorseObject", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
 	}

Modified: trunk/libseahorse/seahorse-object.h
==============================================================================
--- trunk/libseahorse/seahorse-object.h	(original)
+++ trunk/libseahorse/seahorse-object.h	Tue Aug 26 21:52:29 2008
@@ -41,6 +41,9 @@
 
 struct _SeahorseObjectClass {
 	GObjectClass parent_class;
+	char* (*get_display_name) (SeahorseObject* self);
+	char* (*get_markup) (SeahorseObject* self);
+	char* (*get_stock_id) (SeahorseObject* self);
 };
 
 /* INTERFACE -------------------------------------------------- 

Modified: trunk/libseahorse/seahorse-servers.c
==============================================================================
--- trunk/libseahorse/seahorse-servers.c	(original)
+++ trunk/libseahorse/seahorse-servers.c	Tue Aug 26 21:52:29 2008
@@ -44,7 +44,7 @@
 static gpointer seahorse_servers_server_info_ref (gpointer instance);
 static void seahorse_servers_server_info_unref (gpointer instance);
 static gpointer seahorse_servers_parent_class = NULL;
-static void seahorse_servers_dispose (GObject * obj);
+static void seahorse_servers_finalize (GObject * obj);
 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
 
 
@@ -252,7 +252,7 @@
 
 static GType seahorse_servers_server_info_get_type (void) {
 	static GType seahorse_servers_server_info_type_id = 0;
-	if (G_UNLIKELY (seahorse_servers_server_info_type_id == 0)) {
+	if (seahorse_servers_server_info_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseServersServerInfoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_servers_server_info_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseServersServerInfo), 0, (GInstanceInitFunc) seahorse_servers_server_info_instance_init };
 		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
 		seahorse_servers_server_info_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SeahorseServersServerInfo", &g_define_type_info, &g_define_type_fundamental_info, 0);
@@ -280,7 +280,7 @@
 
 static void seahorse_servers_class_init (SeahorseServersClass * klass) {
 	seahorse_servers_parent_class = g_type_class_peek_parent (klass);
-	G_OBJECT_CLASS (klass)->dispose = seahorse_servers_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_servers_finalize;
 	{
 		GHashTable* _tmp0;
 		/* TODO: What do we specify to free ServerInfo? */
@@ -294,16 +294,16 @@
 }
 
 
-static void seahorse_servers_dispose (GObject * obj) {
+static void seahorse_servers_finalize (GObject * obj) {
 	SeahorseServers * self;
 	self = SEAHORSE_SERVERS (obj);
-	G_OBJECT_CLASS (seahorse_servers_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_servers_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_servers_get_type (void) {
 	static GType seahorse_servers_type_id = 0;
-	if (G_UNLIKELY (seahorse_servers_type_id == 0)) {
+	if (seahorse_servers_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseServersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_servers_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseServers), 0, (GInstanceInitFunc) seahorse_servers_instance_init };
 		seahorse_servers_type_id = g_type_register_static (G_TYPE_OBJECT, "SeahorseServers", &g_define_type_info, 0);
 	}

Modified: trunk/libseahorse/seahorse-view.c
==============================================================================
--- trunk/libseahorse/seahorse-view.c	(original)
+++ trunk/libseahorse/seahorse-view.c	Tue Aug 26 21:52:29 2008
@@ -38,37 +38,22 @@
 
 
 SeahorseObject* seahorse_view_get_selected (SeahorseView* self) {
-	SeahorseObject* value;
-	g_object_get (G_OBJECT (self), "selected", &value, NULL);
-	if (value != NULL) {
-		g_object_unref (value);
-	}
-	return value;
+	return SEAHORSE_VIEW_GET_INTERFACE (self)->get_selected (self);
 }
 
 
 void seahorse_view_set_selected (SeahorseView* self, SeahorseObject* value) {
-	g_object_set (G_OBJECT (self), "selected", value, NULL);
+	SEAHORSE_VIEW_GET_INTERFACE (self)->set_selected (self, value);
 }
 
 
 SeahorseSet* seahorse_view_get_current_set (SeahorseView* self) {
-	SeahorseSet* value;
-	g_object_get (G_OBJECT (self), "current-set", &value, NULL);
-	if (value != NULL) {
-		g_object_unref (value);
-	}
-	return value;
+	return SEAHORSE_VIEW_GET_INTERFACE (self)->get_current_set (self);
 }
 
 
 GtkWindow* seahorse_view_get_window (SeahorseView* self) {
-	GtkWindow* value;
-	g_object_get (G_OBJECT (self), "window", &value, NULL);
-	if (value != NULL) {
-		g_object_unref (value);
-	}
-	return value;
+	return SEAHORSE_VIEW_GET_INTERFACE (self)->get_window (self);
 }
 
 
@@ -86,7 +71,7 @@
 
 GType seahorse_view_get_type (void) {
 	static GType seahorse_view_type_id = 0;
-	if (G_UNLIKELY (seahorse_view_type_id == 0)) {
+	if (seahorse_view_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseViewIface), (GBaseInitFunc) seahorse_view_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL };
 		seahorse_view_type_id = g_type_register_static (G_TYPE_INTERFACE, "SeahorseView", &g_define_type_info, 0);
 		g_type_interface_add_prerequisite (seahorse_view_type_id, G_TYPE_OBJECT);

Modified: trunk/libseahorse/seahorse-view.h
==============================================================================
--- trunk/libseahorse/seahorse-view.h	(original)
+++ trunk/libseahorse/seahorse-view.h	Tue Aug 26 21:52:29 2008
@@ -43,6 +43,10 @@
 	GTypeInterface parent_iface;
 	GList* (*get_selected_objects) (SeahorseView* self);
 	void (*set_selected_objects) (SeahorseView* self, GList* objects);
+	SeahorseObject* (*get_selected) (SeahorseView* self);
+	void (*set_selected) (SeahorseView* self, SeahorseObject* value);
+	SeahorseSet* (*get_current_set) (SeahorseView* self);
+	GtkWindow* (*get_window) (SeahorseView* self);
 };
 
 

Modified: trunk/libseahorse/vala-build.stamp
==============================================================================
--- trunk/libseahorse/vala-build.stamp	(original)
+++ trunk/libseahorse/vala-build.stamp	Tue Aug 26 21:52:29 2008
@@ -1 +1 @@
-1217712531
+1219784761

Modified: trunk/pgp/seahorse-pgp-commands.c
==============================================================================
--- trunk/pgp/seahorse-pgp-commands.c	(original)
+++ trunk/pgp/seahorse-pgp-commands.c	Tue Aug 26 21:52:29 2008
@@ -53,7 +53,7 @@
 static void _seahorse_pgp_commands_on_view_selection_changed_seahorse_view_selection_changed (SeahorseView* _sender, gpointer self);
 static GObject * seahorse_pgp_commands_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
 static gpointer seahorse_pgp_commands_parent_class = NULL;
-static void seahorse_pgp_commands_dispose (GObject * obj);
+static void seahorse_pgp_commands_finalize (GObject * obj);
 
 static const GtkActionEntry SEAHORSE_PGP_COMMANDS_COMMAND_ENTRIES[] = {{"key-sign", GTK_STOCK_INDEX, N_ ("_Sign Key..."), "", N_ ("Sign public key"), ((GCallback) (NULL))}};
 static const char* SEAHORSE_PGP_COMMANDS_UI_DEF = "\n\t\t\t<ui>\n\t\t\t\n\t\t\t<menubar>\n\t\t\t\t<menu name='Key' action='key-menu'>\n\t\t\t\t\t<placeholder name=\"KeyCommands\">\n\t\t\t\t\t\t<menuitem action=\"key-sign\"/>\n\t\t\t\t\t</placeholder>\n\t\t\t\t</menu>\n\t\t\t</menubar>\n\t\t\t\n\t\t\t<toolbar name=\"MainToolbar\">\n\t\t\t\t<placeholder name=\"ToolItems\">\n\t\t\t\t\t<toolitem action=\"key-sign\"/>\n\t\t\t\t</placeholder>\n\t\t\t</toolbar>\n\n\t\t\t<popup name=\"KeyPopup\">\n\t\t\t\t<menuitem action=\"key-sign\"/>\n\t\t\t</popup>\n    \n\t\t\t</ui>\n\t\t";
@@ -232,15 +232,17 @@
 }
 
 
-static GQuark seahorse_pgp_commands_real_get_ktype (SeahorsePGPCommands* self) {
-	g_return_val_if_fail (SEAHORSE_PGP_IS_COMMANDS (self), 0U);
+static GQuark seahorse_pgp_commands_real_get_ktype (SeahorseCommands* base) {
+	SeahorsePGPCommands* self;
+	self = SEAHORSE_PGP_COMMANDS (base);
 	return SEAHORSE_PGP_TYPE;
 }
 
 
-static char* seahorse_pgp_commands_real_get_ui_definition (SeahorsePGPCommands* self) {
+static char* seahorse_pgp_commands_real_get_ui_definition (SeahorseCommands* base) {
+	SeahorsePGPCommands* self;
 	const char* _tmp0;
-	g_return_val_if_fail (SEAHORSE_PGP_IS_COMMANDS (self), NULL);
+	self = SEAHORSE_PGP_COMMANDS (base);
 	_tmp0 = NULL;
 	return (_tmp0 = SEAHORSE_PGP_COMMANDS_UI_DEF, (_tmp0 == NULL ? NULL : g_strdup (_tmp0)));
 }
@@ -251,8 +253,9 @@
 }
 
 
-static GtkActionGroup* seahorse_pgp_commands_real_get_command_actions (SeahorsePGPCommands* self) {
-	g_return_val_if_fail (SEAHORSE_PGP_IS_COMMANDS (self), NULL);
+static GtkActionGroup* seahorse_pgp_commands_real_get_command_actions (SeahorseCommands* base) {
+	SeahorsePGPCommands* self;
+	self = SEAHORSE_PGP_COMMANDS (base);
 	if (self->priv->_command_actions == NULL) {
 		GtkActionGroup* _tmp0;
 		_tmp0 = NULL;
@@ -292,13 +295,13 @@
 	self = SEAHORSE_PGP_COMMANDS (object);
 	switch (property_id) {
 		case SEAHORSE_PGP_COMMANDS_KTYPE:
-		g_value_set_uint (value, seahorse_pgp_commands_real_get_ktype (self));
+		g_value_set_uint (value, seahorse_commands_get_ktype (SEAHORSE_COMMANDS (self)));
 		break;
 		case SEAHORSE_PGP_COMMANDS_UI_DEFINITION:
-		g_value_set_string (value, seahorse_pgp_commands_real_get_ui_definition (self));
+		g_value_set_string (value, seahorse_commands_get_ui_definition (SEAHORSE_COMMANDS (self)));
 		break;
 		case SEAHORSE_PGP_COMMANDS_COMMAND_ACTIONS:
-		g_value_set_object (value, seahorse_pgp_commands_real_get_command_actions (self));
+		g_value_set_object (value, seahorse_commands_get_command_actions (SEAHORSE_COMMANDS (self)));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -312,9 +315,12 @@
 	g_type_class_add_private (klass, sizeof (SeahorsePGPCommandsPrivate));
 	G_OBJECT_CLASS (klass)->get_property = seahorse_pgp_commands_get_property;
 	G_OBJECT_CLASS (klass)->constructor = seahorse_pgp_commands_constructor;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_pgp_commands_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_pgp_commands_finalize;
 	SEAHORSE_COMMANDS_CLASS (klass)->show_properties = seahorse_pgp_commands_real_show_properties;
 	SEAHORSE_COMMANDS_CLASS (klass)->delete_objects = seahorse_pgp_commands_real_delete_objects;
+	SEAHORSE_COMMANDS_CLASS (klass)->get_ktype = seahorse_pgp_commands_real_get_ktype;
+	SEAHORSE_COMMANDS_CLASS (klass)->get_ui_definition = seahorse_pgp_commands_real_get_ui_definition;
+	SEAHORSE_COMMANDS_CLASS (klass)->get_command_actions = seahorse_pgp_commands_real_get_command_actions;
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_PGP_COMMANDS_KTYPE, "ktype");
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_PGP_COMMANDS_UI_DEFINITION, "ui-definition");
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_PGP_COMMANDS_COMMAND_ACTIONS, "command-actions");
@@ -331,17 +337,17 @@
 }
 
 
-static void seahorse_pgp_commands_dispose (GObject * obj) {
+static void seahorse_pgp_commands_finalize (GObject * obj) {
 	SeahorsePGPCommands * self;
 	self = SEAHORSE_PGP_COMMANDS (obj);
 	(self->priv->_command_actions == NULL ? NULL : (self->priv->_command_actions = (g_object_unref (self->priv->_command_actions), NULL)));
-	G_OBJECT_CLASS (seahorse_pgp_commands_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_pgp_commands_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_pgp_commands_get_type (void) {
 	static GType seahorse_pgp_commands_type_id = 0;
-	if (G_UNLIKELY (seahorse_pgp_commands_type_id == 0)) {
+	if (seahorse_pgp_commands_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorsePGPCommandsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_pgp_commands_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorsePGPCommands), 0, (GInstanceInitFunc) seahorse_pgp_commands_instance_init };
 		seahorse_pgp_commands_type_id = g_type_register_static (SEAHORSE_TYPE_COMMANDS, "SeahorsePGPCommands", &g_define_type_info, 0);
 	}

Modified: trunk/pgp/seahorse-pgp-generator.c
==============================================================================
--- trunk/pgp/seahorse-pgp-generator.c	(original)
+++ trunk/pgp/seahorse-pgp-generator.c	Tue Aug 26 21:52:29 2008
@@ -47,7 +47,7 @@
 static void seahorse_pgp_generator_on_pgp_generate (SeahorsePGPGenerator* self, GtkAction* action);
 static void _seahorse_pgp_generator_on_pgp_generate_gtk_action_activate (GtkAction* _sender, gpointer self);
 static gpointer seahorse_pgp_generator_parent_class = NULL;
-static void seahorse_pgp_generator_dispose (GObject * obj);
+static void seahorse_pgp_generator_finalize (GObject * obj);
 
 static const GtkActionEntry SEAHORSE_PGP_GENERATOR_GENERATE_ENTRIES[] = {{"pgp-generate-key", SEAHORSE_PGP_STOCK_ICON, N_ ("PGP Key"), "", N_ ("Used to encrypt email and files"), ((GCallback) (NULL))}};
 
@@ -77,8 +77,9 @@
 }
 
 
-static GtkActionGroup* seahorse_pgp_generator_real_get_actions (SeahorsePGPGenerator* self) {
-	g_return_val_if_fail (SEAHORSE_PGP_IS_GENERATOR (self), NULL);
+static GtkActionGroup* seahorse_pgp_generator_real_get_actions (SeahorseGenerator* base) {
+	SeahorsePGPGenerator* self;
+	self = SEAHORSE_PGP_GENERATOR (base);
 	if (self->priv->_generate_actions == NULL) {
 		GtkActionGroup* _tmp0;
 		_tmp0 = NULL;
@@ -96,7 +97,7 @@
 	self = SEAHORSE_PGP_GENERATOR (object);
 	switch (property_id) {
 		case SEAHORSE_PGP_GENERATOR_ACTIONS:
-		g_value_set_object (value, seahorse_pgp_generator_real_get_actions (self));
+		g_value_set_object (value, seahorse_generator_get_actions (SEAHORSE_GENERATOR (self)));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -109,7 +110,8 @@
 	seahorse_pgp_generator_parent_class = g_type_class_peek_parent (klass);
 	g_type_class_add_private (klass, sizeof (SeahorsePGPGeneratorPrivate));
 	G_OBJECT_CLASS (klass)->get_property = seahorse_pgp_generator_get_property;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_pgp_generator_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_pgp_generator_finalize;
+	SEAHORSE_GENERATOR_CLASS (klass)->get_actions = seahorse_pgp_generator_real_get_actions;
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_PGP_GENERATOR_ACTIONS, "actions");
 	{
 		/* Register this class as a commands */
@@ -124,17 +126,17 @@
 }
 
 
-static void seahorse_pgp_generator_dispose (GObject * obj) {
+static void seahorse_pgp_generator_finalize (GObject * obj) {
 	SeahorsePGPGenerator * self;
 	self = SEAHORSE_PGP_GENERATOR (obj);
 	(self->priv->_generate_actions == NULL ? NULL : (self->priv->_generate_actions = (g_object_unref (self->priv->_generate_actions), NULL)));
-	G_OBJECT_CLASS (seahorse_pgp_generator_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_pgp_generator_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_pgp_generator_get_type (void) {
 	static GType seahorse_pgp_generator_type_id = 0;
-	if (G_UNLIKELY (seahorse_pgp_generator_type_id == 0)) {
+	if (seahorse_pgp_generator_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorsePGPGeneratorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_pgp_generator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorsePGPGenerator), 0, (GInstanceInitFunc) seahorse_pgp_generator_instance_init };
 		seahorse_pgp_generator_type_id = g_type_register_static (SEAHORSE_TYPE_GENERATOR, "SeahorsePGPGenerator", &g_define_type_info, 0);
 	}

Modified: trunk/pgp/vala-build.stamp
==============================================================================
--- trunk/pgp/vala-build.stamp	(original)
+++ trunk/pgp/vala-build.stamp	Tue Aug 26 21:52:29 2008
@@ -1 +1 @@
-1217782666
+1219784820

Modified: trunk/src/seahorse-generate-select.c
==============================================================================
--- trunk/src/seahorse-generate-select.c	(original)
+++ trunk/src/seahorse-generate-select.c	Tue Aug 26 21:52:29 2008
@@ -20,10 +20,10 @@
  */
 
 #include "seahorse-generate-select.h"
+#include <seahorse-generator.h>
 #include <common/seahorse-registry.h>
 #include <stdlib.h>
 #include <string.h>
-#include <seahorse-generator.h>
 
 
 #define SEAHORSE_GENERATE_SELECT_TYPE_COLUMN (seahorse_generate_select_column_get_type ())
@@ -58,7 +58,7 @@
 static void _seahorse_generate_select_on_response_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self);
 static GObject * seahorse_generate_select_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
 static gpointer seahorse_generate_select_parent_class = NULL;
-static void seahorse_generate_select_dispose (GObject * obj);
+static void seahorse_generate_select_finalize (GObject * obj);
 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
 
 static const char* SEAHORSE_GENERATE_SELECT_TEMPLATE = "<span size=\"larger\" weight=\"bold\">%s</span>\n%s";
@@ -285,7 +285,7 @@
 	seahorse_generate_select_parent_class = g_type_class_peek_parent (klass);
 	g_type_class_add_private (klass, sizeof (SeahorseGenerateSelectPrivate));
 	G_OBJECT_CLASS (klass)->constructor = seahorse_generate_select_constructor;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_generate_select_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_generate_select_finalize;
 }
 
 
@@ -294,20 +294,20 @@
 }
 
 
-static void seahorse_generate_select_dispose (GObject * obj) {
+static void seahorse_generate_select_finalize (GObject * obj) {
 	SeahorseGenerateSelect * self;
 	self = SEAHORSE_GENERATE_SELECT (obj);
 	(self->priv->_store == NULL ? NULL : (self->priv->_store = (g_object_unref (self->priv->_store), NULL)));
 	(self->priv->_view == NULL ? NULL : (self->priv->_view = (g_object_unref (self->priv->_view), NULL)));
 	(self->priv->_dialog == NULL ? NULL : (self->priv->_dialog = (g_object_unref (self->priv->_dialog), NULL)));
 	self->priv->_generators = (_vala_array_free (self->priv->_generators, self->priv->_generators_length1, ((GDestroyNotify) (g_object_unref))), NULL);
-	G_OBJECT_CLASS (seahorse_generate_select_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_generate_select_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_generate_select_get_type (void) {
 	static GType seahorse_generate_select_type_id = 0;
-	if (G_UNLIKELY (seahorse_generate_select_type_id == 0)) {
+	if (seahorse_generate_select_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseGenerateSelectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_generate_select_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseGenerateSelect), 0, (GInstanceInitFunc) seahorse_generate_select_instance_init };
 		seahorse_generate_select_type_id = g_type_register_static (SEAHORSE_TYPE_WIDGET, "SeahorseGenerateSelect", &g_define_type_info, 0);
 	}

Modified: trunk/src/seahorse-key-manager.c
==============================================================================
--- trunk/src/seahorse-key-manager.c	(original)
+++ trunk/src/seahorse-key-manager.c	Tue Aug 26 21:52:29 2008
@@ -92,8 +92,8 @@
 GType seahorse_key_manager_targets_get_type (void);
 GType seahorse_key_manager_tabs_get_type (void);
 static SeahorseKeyManager* seahorse_key_manager_new (const char* ident);
-static GList* seahorse_key_manager_real_get_selected_objects (SeahorseView* base);
-static void seahorse_key_manager_real_set_selected_objects (SeahorseView* base, GList* objects);
+static GList* seahorse_key_manager_real_get_selected_objects (SeahorseViewer* base);
+static void seahorse_key_manager_real_set_selected_objects (SeahorseViewer* base, GList* objects);
 static SeahorseKeyManagerTabInfo* seahorse_key_manager_get_tab_for_object (SeahorseKeyManager* self, SeahorseObject* obj);
 static GtkTreeView* seahorse_key_manager_get_current_view (SeahorseKeyManager* self);
 static guint seahorse_key_manager_get_tab_id (SeahorseKeyManager* self, SeahorseKeyManagerTabInfo* tab);
@@ -136,6 +136,7 @@
 static gboolean seahorse_key_manager_fire_selection_changed (SeahorseKeyManager* self);
 static void seahorse_key_manager_on_tab_changed (SeahorseKeyManager* self, GtkNotebook* notebook, void* unused, guint page_num);
 static void seahorse_key_manager_load_gnome_keyring_items (SeahorseKeyManager* self);
+static void seahorse_key_manager_on_help_show (SeahorseKeyManager* self, GtkButton* button);
 static void _seahorse_key_manager_on_app_quit_gtk_action_activate (GtkAction* _sender, gpointer self);
 static void _seahorse_key_manager_on_key_generate_gtk_action_activate (GtkAction* _sender, gpointer self);
 static void _seahorse_key_manager_on_key_import_file_gtk_action_activate (GtkAction* _sender, gpointer self);
@@ -148,6 +149,7 @@
 static void _seahorse_key_manager_on_view_validity_activate_gtk_action_activate (GtkToggleAction* _sender, gpointer self);
 static void _seahorse_key_manager_on_gconf_notify_gconf_client_notify_func (GConfClient* client, guint cnxn_id, GConfEntry* entry, gpointer self);
 static gboolean _seahorse_key_manager_on_delete_event_gtk_widget_delete_event (GtkWidget* _sender, GdkEvent* event, gpointer self);
+static void _seahorse_key_manager_on_help_show_gtk_button_clicked (GtkButton* _sender, gpointer self);
 static void _seahorse_key_manager_on_import_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self);
 static void _seahorse_key_manager_on_new_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self);
 static void _seahorse_key_manager_on_tab_changed_gtk_notebook_switch_page (GtkNotebook* _sender, void* page, guint page_num, gpointer self);
@@ -156,8 +158,7 @@
 static gboolean _seahorse_key_manager_on_first_timer_gsource_func (gpointer self);
 static GObject * seahorse_key_manager_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
 static gpointer seahorse_key_manager_parent_class = NULL;
-static SeahorseViewIface* seahorse_key_manager_seahorse_view_parent_iface = NULL;
-static void seahorse_key_manager_dispose (GObject * obj);
+static void seahorse_key_manager_finalize (GObject * obj);
 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
 static int _vala_strcmp0 (const char * str1, const char * str2);
 
@@ -226,7 +227,7 @@
 }
 
 
-static GList* seahorse_key_manager_real_get_selected_objects (SeahorseView* base) {
+static GList* seahorse_key_manager_real_get_selected_objects (SeahorseViewer* base) {
 	SeahorseKeyManager * self;
 	SeahorseKeyManagerTabInfo* tab;
 	self = SEAHORSE_KEY_MANAGER (base);
@@ -238,7 +239,7 @@
 }
 
 
-static void seahorse_key_manager_real_set_selected_objects (SeahorseView* base, GList* objects) {
+static void seahorse_key_manager_real_set_selected_objects (SeahorseViewer* base, GList* objects) {
 	SeahorseKeyManager * self;
 	GList** _tmp1;
 	gint tab_lists_length1;
@@ -993,9 +994,17 @@
 }
 
 
-static SeahorseObject* seahorse_key_manager_real_get_selected (SeahorseKeyManager* self) {
+static void seahorse_key_manager_on_help_show (SeahorseKeyManager* self, GtkButton* button) {
+	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
+	g_return_if_fail (GTK_IS_BUTTON (button));
+	seahorse_widget_show_help (SEAHORSE_WIDGET (self));
+}
+
+
+static SeahorseObject* seahorse_key_manager_real_get_selected (SeahorseViewer* base) {
+	SeahorseKeyManager* self;
 	SeahorseKeyManagerTabInfo* tab;
-	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), NULL);
+	self = SEAHORSE_KEY_MANAGER (base);
 	tab = seahorse_key_manager_get_tab_info (self, -1);
 	if (tab == NULL) {
 		return NULL;
@@ -1004,9 +1013,10 @@
 }
 
 
-static void seahorse_key_manager_real_set_selected (SeahorseKeyManager* self, SeahorseObject* value) {
+static void seahorse_key_manager_real_set_selected (SeahorseViewer* base, SeahorseObject* value) {
+	SeahorseKeyManager* self;
 	GList* objects;
-	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
+	self = SEAHORSE_KEY_MANAGER (base);
 	objects = NULL;
 	objects = g_list_prepend (objects, value);
 	seahorse_viewer_set_selected_objects (SEAHORSE_VIEWER (self), objects);
@@ -1075,6 +1085,11 @@
 }
 
 
+static void _seahorse_key_manager_on_help_show_gtk_button_clicked (GtkButton* _sender, gpointer self) {
+	seahorse_key_manager_on_help_show (self, _sender);
+}
+
+
 static void _seahorse_key_manager_on_import_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
 	seahorse_key_manager_on_import_button_clicked (self, _sender);
 }
@@ -1194,6 +1209,7 @@
 		/* close event */
 		g_signal_connect_object (seahorse_widget_get_toplevel (SEAHORSE_WIDGET (self)), "delete-event", ((GCallback) (_seahorse_key_manager_on_delete_event_gtk_widget_delete_event)), self, 0);
 		/* first time signals */
+		g_signal_connect_object ((GTK_BUTTON (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "help-button"))), "clicked", ((GCallback) (_seahorse_key_manager_on_help_show_gtk_button_clicked)), self, 0);
 		g_signal_connect_object ((GTK_BUTTON (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "import-button"))), "clicked", ((GCallback) (_seahorse_key_manager_on_import_button_clicked_gtk_button_clicked)), self, 0);
 		g_signal_connect_object ((GTK_BUTTON (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "new-button"))), "clicked", ((GCallback) (_seahorse_key_manager_on_new_button_clicked_gtk_button_clicked)), self, 0);
 		/* The notebook */
@@ -1290,7 +1306,7 @@
 	self = SEAHORSE_KEY_MANAGER (object);
 	switch (property_id) {
 		case SEAHORSE_KEY_MANAGER_SELECTED:
-		g_value_set_object (value, seahorse_key_manager_real_get_selected (self));
+		g_value_set_object (value, seahorse_viewer_get_selected (SEAHORSE_VIEWER (self)));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -1304,7 +1320,7 @@
 	self = SEAHORSE_KEY_MANAGER (object);
 	switch (property_id) {
 		case SEAHORSE_KEY_MANAGER_SELECTED:
-		seahorse_key_manager_real_set_selected (self, g_value_get_object (value));
+		seahorse_viewer_set_selected (SEAHORSE_VIEWER (self), g_value_get_object (value));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -1319,43 +1335,36 @@
 	G_OBJECT_CLASS (klass)->get_property = seahorse_key_manager_get_property;
 	G_OBJECT_CLASS (klass)->set_property = seahorse_key_manager_set_property;
 	G_OBJECT_CLASS (klass)->constructor = seahorse_key_manager_constructor;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_key_manager_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_key_manager_finalize;
 	SEAHORSE_VIEWER_CLASS (klass)->get_selected_objects = seahorse_key_manager_real_get_selected_objects;
 	SEAHORSE_VIEWER_CLASS (klass)->set_selected_objects = seahorse_key_manager_real_set_selected_objects;
+	SEAHORSE_VIEWER_CLASS (klass)->get_selected = seahorse_key_manager_real_get_selected;
+	SEAHORSE_VIEWER_CLASS (klass)->set_selected = seahorse_key_manager_real_set_selected;
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_KEY_MANAGER_SELECTED, "selected");
 }
 
 
-static void seahorse_key_manager_seahorse_view_interface_init (SeahorseViewIface * iface) {
-	seahorse_key_manager_seahorse_view_parent_iface = g_type_interface_peek_parent (iface);
-	iface->get_selected_objects = seahorse_key_manager_real_get_selected_objects;
-	iface->set_selected_objects = seahorse_key_manager_real_set_selected_objects;
-}
-
-
 static void seahorse_key_manager_instance_init (SeahorseKeyManager * self) {
 	self->priv = SEAHORSE_KEY_MANAGER_GET_PRIVATE (self);
 }
 
 
-static void seahorse_key_manager_dispose (GObject * obj) {
+static void seahorse_key_manager_finalize (GObject * obj) {
 	SeahorseKeyManager * self;
 	self = SEAHORSE_KEY_MANAGER (obj);
 	(self->priv->_notebook == NULL ? NULL : (self->priv->_notebook = (g_object_unref (self->priv->_notebook), NULL)));
 	(self->priv->_view_actions == NULL ? NULL : (self->priv->_view_actions = (g_object_unref (self->priv->_view_actions), NULL)));
 	(self->priv->_filter_entry == NULL ? NULL : (self->priv->_filter_entry = (g_object_unref (self->priv->_filter_entry), NULL)));
 	self->priv->_tabs = (g_free (self->priv->_tabs), NULL);
-	G_OBJECT_CLASS (seahorse_key_manager_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_key_manager_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_key_manager_get_type (void) {
 	static GType seahorse_key_manager_type_id = 0;
-	if (G_UNLIKELY (seahorse_key_manager_type_id == 0)) {
+	if (seahorse_key_manager_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseKeyManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_key_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseKeyManager), 0, (GInstanceInitFunc) seahorse_key_manager_instance_init };
-		static const GInterfaceInfo seahorse_view_info = { (GInterfaceInitFunc) seahorse_key_manager_seahorse_view_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
 		seahorse_key_manager_type_id = g_type_register_static (SEAHORSE_TYPE_VIEWER, "SeahorseKeyManager", &g_define_type_info, 0);
-		g_type_add_interface_static (seahorse_key_manager_type_id, SEAHORSE_TYPE_VIEW, &seahorse_view_info);
 	}
 	return seahorse_key_manager_type_id;
 }

Modified: trunk/src/seahorse-key-manager.h
==============================================================================
--- trunk/src/seahorse-key-manager.h	(original)
+++ trunk/src/seahorse-key-manager.h	Tue Aug 26 21:52:29 2008
@@ -24,7 +24,6 @@
 
 #include <glib.h>
 #include <glib-object.h>
-#include <seahorse-view.h>
 #include <gtk/gtk.h>
 #include <seahorse-operation.h>
 #include <seahorse-object.h>

Modified: trunk/src/seahorse-key-manager.vala
==============================================================================
--- trunk/src/seahorse-key-manager.vala	(original)
+++ trunk/src/seahorse-key-manager.vala	Tue Aug 26 21:52:29 2008
@@ -24,7 +24,7 @@
 using GLib;
 
 namespace Seahorse {
-	public class KeyManager : Viewer, View {
+	public class KeyManager : Viewer {
 	
 		private Gtk.Notebook _notebook;
 		private Gtk.ActionGroup _view_actions;
@@ -193,6 +193,7 @@
 			get_toplevel().delete_event += on_delete_event;
 			
 			/* first time signals */
+			((Gtk.Button)get_widget("help-button")).clicked += on_help_show;
 			((Gtk.Button)get_widget("import-button")).clicked += on_import_button_clicked;
 			((Gtk.Button)get_widget("new-button")).clicked += on_new_button_clicked;
 			
@@ -732,5 +733,9 @@
 			/* Monitor loading progress */
 			Progress.status_set_operation (this, op);
 		}
+		
+		private void on_help_show (Gtk.Button button) {
+			show_help ();
+		}
 	}
 }

Modified: trunk/src/seahorse-keyserver-results.c
==============================================================================
--- trunk/src/seahorse-keyserver-results.c	(original)
+++ trunk/src/seahorse-keyserver-results.c	Tue Aug 26 21:52:29 2008
@@ -52,8 +52,8 @@
 	SEAHORSE_KEYSERVER_RESULTS_SELECTED
 };
 static SeahorseKeyserverResults* seahorse_keyserver_results_new (const char* search_text);
-static GList* seahorse_keyserver_results_real_get_selected_objects (SeahorseView* base);
-static void seahorse_keyserver_results_real_set_selected_objects (SeahorseView* base, GList* keys);
+static GList* seahorse_keyserver_results_real_get_selected_objects (SeahorseViewer* base);
+static void seahorse_keyserver_results_real_set_selected_objects (SeahorseViewer* base, GList* keys);
 static gboolean seahorse_keyserver_results_on_filter_objects (SeahorseKeyserverResults* self, SeahorseObject* obj);
 static gboolean _seahorse_keyserver_results_fire_selection_changed_gsource_func (gpointer self);
 static void seahorse_keyserver_results_on_view_selection_changed (SeahorseKeyserverResults* self, GtkTreeSelection* selection);
@@ -82,8 +82,7 @@
 static gboolean _seahorse_keyserver_results_on_filter_objects_seahorse_object_predicate_func (SeahorseObject* obj, gpointer self);
 static GObject * seahorse_keyserver_results_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
 static gpointer seahorse_keyserver_results_parent_class = NULL;
-static SeahorseViewIface* seahorse_keyserver_results_seahorse_view_parent_iface = NULL;
-static void seahorse_keyserver_results_dispose (GObject * obj);
+static void seahorse_keyserver_results_finalize (GObject * obj);
 
 static const GtkActionEntry SEAHORSE_KEYSERVER_RESULTS_GENERAL_ENTRIES[] = {{"remote-menu", NULL, N_ ("_Remote")}, {"app-close", GTK_STOCK_CLOSE, N_ ("_Close"), "<control>W", N_ ("Close this window"), ((GCallback) (NULL))}, {"view-expand-all", GTK_STOCK_ADD, N_ ("_Expand All"), NULL, N_ ("Expand all listings"), ((GCallback) (NULL))}, {"view-collapse-all", GTK_STOCK_REMOVE, N_ ("_Collapse All"), NULL, N_ ("Collapse all listings"), ((GCallback) (NULL))}};
 static const GtkActionEntry SEAHORSE_KEYSERVER_RESULTS_SERVER_ENTRIES[] = {{"remote-find", GTK_STOCK_FIND, N_ ("_Find Remote Keys..."), "", N_ ("Search for keys on a key server"), ((GCallback) (NULL))}};
@@ -136,14 +135,14 @@
 }
 
 
-static GList* seahorse_keyserver_results_real_get_selected_objects (SeahorseView* base) {
+static GList* seahorse_keyserver_results_real_get_selected_objects (SeahorseViewer* base) {
 	SeahorseKeyserverResults * self;
 	self = SEAHORSE_KEYSERVER_RESULTS (base);
 	return seahorse_key_manager_store_get_selected_objects (self->priv->_view);
 }
 
 
-static void seahorse_keyserver_results_real_set_selected_objects (SeahorseView* base, GList* keys) {
+static void seahorse_keyserver_results_real_set_selected_objects (SeahorseViewer* base, GList* keys) {
 	SeahorseKeyserverResults * self;
 	self = SEAHORSE_KEYSERVER_RESULTS (base);
 	g_return_if_fail (keys != NULL);
@@ -334,15 +333,17 @@
 }
 
 
-static SeahorseObject* seahorse_keyserver_results_real_get_selected (SeahorseKeyserverResults* self) {
-	g_return_val_if_fail (SEAHORSE_IS_KEYSERVER_RESULTS (self), NULL);
+static SeahorseObject* seahorse_keyserver_results_real_get_selected (SeahorseViewer* base) {
+	SeahorseKeyserverResults* self;
+	self = SEAHORSE_KEYSERVER_RESULTS (base);
 	return seahorse_key_manager_store_get_selected_object (self->priv->_view);
 }
 
 
-static void seahorse_keyserver_results_real_set_selected (SeahorseKeyserverResults* self, SeahorseObject* value) {
+static void seahorse_keyserver_results_real_set_selected (SeahorseViewer* base, SeahorseObject* value) {
+	SeahorseKeyserverResults* self;
 	GList* keys;
-	g_return_if_fail (SEAHORSE_IS_KEYSERVER_RESULTS (self));
+	self = SEAHORSE_KEYSERVER_RESULTS (base);
 	keys = NULL;
 	if (value != NULL) {
 		keys = g_list_prepend (keys, value);
@@ -501,7 +502,7 @@
 		g_value_set_string (value, seahorse_keyserver_results_get_search (self));
 		break;
 		case SEAHORSE_KEYSERVER_RESULTS_SELECTED:
-		g_value_set_object (value, seahorse_keyserver_results_real_get_selected (self));
+		g_value_set_object (value, seahorse_viewer_get_selected (SEAHORSE_VIEWER (self)));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -518,7 +519,7 @@
 		seahorse_keyserver_results_set_search (self, g_value_get_string (value));
 		break;
 		case SEAHORSE_KEYSERVER_RESULTS_SELECTED:
-		seahorse_keyserver_results_real_set_selected (self, g_value_get_object (value));
+		seahorse_viewer_set_selected (SEAHORSE_VIEWER (self), g_value_get_object (value));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -533,27 +534,22 @@
 	G_OBJECT_CLASS (klass)->get_property = seahorse_keyserver_results_get_property;
 	G_OBJECT_CLASS (klass)->set_property = seahorse_keyserver_results_set_property;
 	G_OBJECT_CLASS (klass)->constructor = seahorse_keyserver_results_constructor;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_keyserver_results_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_keyserver_results_finalize;
 	SEAHORSE_VIEWER_CLASS (klass)->get_selected_objects = seahorse_keyserver_results_real_get_selected_objects;
 	SEAHORSE_VIEWER_CLASS (klass)->set_selected_objects = seahorse_keyserver_results_real_set_selected_objects;
+	SEAHORSE_VIEWER_CLASS (klass)->get_selected = seahorse_keyserver_results_real_get_selected;
+	SEAHORSE_VIEWER_CLASS (klass)->set_selected = seahorse_keyserver_results_real_set_selected;
 	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAHORSE_KEYSERVER_RESULTS_SEARCH, g_param_spec_string ("search", "search", "search", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_KEYSERVER_RESULTS_SELECTED, "selected");
 }
 
 
-static void seahorse_keyserver_results_seahorse_view_interface_init (SeahorseViewIface * iface) {
-	seahorse_keyserver_results_seahorse_view_parent_iface = g_type_interface_peek_parent (iface);
-	iface->get_selected_objects = seahorse_keyserver_results_real_get_selected_objects;
-	iface->set_selected_objects = seahorse_keyserver_results_real_set_selected_objects;
-}
-
-
 static void seahorse_keyserver_results_instance_init (SeahorseKeyserverResults * self) {
 	self->priv = SEAHORSE_KEYSERVER_RESULTS_GET_PRIVATE (self);
 }
 
 
-static void seahorse_keyserver_results_dispose (GObject * obj) {
+static void seahorse_keyserver_results_finalize (GObject * obj) {
 	SeahorseKeyserverResults * self;
 	self = SEAHORSE_KEYSERVER_RESULTS (obj);
 	self->priv->_search_string = (g_free (self->priv->_search_string), NULL);
@@ -561,17 +557,15 @@
 	(self->priv->_object_actions == NULL ? NULL : (self->priv->_object_actions = (g_object_unref (self->priv->_object_actions), NULL)));
 	(self->priv->_store == NULL ? NULL : (self->priv->_store = (g_object_unref (self->priv->_store), NULL)));
 	(self->priv->_objects == NULL ? NULL : (self->priv->_objects = (g_object_unref (self->priv->_objects), NULL)));
-	G_OBJECT_CLASS (seahorse_keyserver_results_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_keyserver_results_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_keyserver_results_get_type (void) {
 	static GType seahorse_keyserver_results_type_id = 0;
-	if (G_UNLIKELY (seahorse_keyserver_results_type_id == 0)) {
+	if (seahorse_keyserver_results_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseKeyserverResultsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_keyserver_results_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseKeyserverResults), 0, (GInstanceInitFunc) seahorse_keyserver_results_instance_init };
-		static const GInterfaceInfo seahorse_view_info = { (GInterfaceInitFunc) seahorse_keyserver_results_seahorse_view_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
 		seahorse_keyserver_results_type_id = g_type_register_static (SEAHORSE_TYPE_VIEWER, "SeahorseKeyserverResults", &g_define_type_info, 0);
-		g_type_add_interface_static (seahorse_keyserver_results_type_id, SEAHORSE_TYPE_VIEW, &seahorse_view_info);
 	}
 	return seahorse_keyserver_results_type_id;
 }

Modified: trunk/src/seahorse-keyserver-results.h
==============================================================================
--- trunk/src/seahorse-keyserver-results.h	(original)
+++ trunk/src/seahorse-keyserver-results.h	Tue Aug 26 21:52:29 2008
@@ -24,7 +24,6 @@
 
 #include <glib.h>
 #include <glib-object.h>
-#include <seahorse-view.h>
 #include <seahorse-operation.h>
 #include <gtk/gtk.h>
 #include <stdlib.h>

Modified: trunk/src/seahorse-keyserver-results.vala
==============================================================================
--- trunk/src/seahorse-keyserver-results.vala	(original)
+++ trunk/src/seahorse-keyserver-results.vala	Tue Aug 26 21:52:29 2008
@@ -24,7 +24,7 @@
 using GLib;
 
 namespace Seahorse {
-	public class KeyserverResults : Viewer, View {
+	public class KeyserverResults : Viewer {
 	
 		private string _search_string;
 		private Gtk.TreeView _view;

Modified: trunk/src/seahorse-viewer.c
==============================================================================
--- trunk/src/seahorse-viewer.c	(original)
+++ trunk/src/seahorse-viewer.c	Tue Aug 26 21:52:29 2008
@@ -89,10 +89,10 @@
 static GObject * seahorse_viewer_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
 static gpointer seahorse_viewer_parent_class = NULL;
 static SeahorseViewIface* seahorse_viewer_seahorse_view_parent_iface = NULL;
-static void seahorse_viewer_dispose (GObject * obj);
+static void seahorse_viewer_finalize (GObject * obj);
 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
 
-static const GtkActionEntry SEAHORSE_VIEWER_UI_ENTRIES[] = {{"key-menu", NULL, N_ ("_Key")}, {"edit-menu", NULL, N_ ("_Edit")}, {"view-menu", NULL, N_ ("_View")}, {"help-menu", NULL, N_ ("_Help")}, {"app-preferences", GTK_STOCK_PREFERENCES, N_ ("Prefere_nces"), NULL, N_ ("Change preferences for this program"), ((GCallback) (NULL))}, {"app-about", "gnome-stock-about", N_ ("_About"), NULL, N_ ("About this program"), ((GCallback) (NULL))}, {"help-show", GTK_STOCK_HELP, N_ ("_Contents"), "F1", N_ ("Show Seahorse help"), ((GCallback) (NULL))}};
+static const GtkActionEntry SEAHORSE_VIEWER_UI_ENTRIES[] = {{"key-menu", NULL, N_ ("_Key")}, {"edit-menu", NULL, N_ ("_Edit")}, {"view-menu", NULL, N_ ("_View")}, {"help-menu", NULL, N_ ("_Help")}, {"app-preferences", GTK_STOCK_PREFERENCES, N_ ("Prefere_nces"), NULL, N_ ("Change preferences for this program"), ((GCallback) (NULL))}, {"app-about", "gtk-about", N_ ("_About"), NULL, N_ ("About this program"), ((GCallback) (NULL))}, {"help-show", GTK_STOCK_HELP, N_ ("_Contents"), "F1", N_ ("Show Seahorse help"), ((GCallback) (NULL))}};
 static const GtkActionEntry SEAHORSE_VIEWER_KEY_ENTRIES[] = {{"key-properties", GTK_STOCK_PROPERTIES, N_ ("P_roperties"), NULL, N_ ("Show key properties"), ((GCallback) (NULL))}, {"key-export-file", GTK_STOCK_SAVE_AS, N_ ("E_xport Public Key..."), NULL, N_ ("Export public part of key to a file"), ((GCallback) (NULL))}, {"key-export-clipboard", GTK_STOCK_COPY, N_ ("_Copy Public Key"), "<control>C", N_ ("Copy public part of selected keys to the clipboard"), ((GCallback) (NULL))}, {"key-delete", GTK_STOCK_DELETE, N_ ("_Delete Key"), NULL, N_ ("Delete selected keys"), ((GCallback) (NULL))}};
 
 
@@ -310,6 +310,7 @@
 	gtk_about_dialog_set_website_label (about, _ ("Seahorse Project Homepage"));
 	g_signal_connect_object (GTK_DIALOG (about), "response", ((GCallback) (___lambda0_gtk_dialog_response)), self, 0);
 	gtk_dialog_run (GTK_DIALOG (about));
+	gtk_object_destroy (GTK_OBJECT (about));
 	authors = (_vala_array_free (authors, authors_length1, ((GDestroyNotify) (g_free))), NULL);
 	documenters = (_vala_array_free (documenters, documenters_length1, ((GDestroyNotify) (g_free))), NULL);
 	artists = (_vala_array_free (artists, artists_length1, ((GDestroyNotify) (g_free))), NULL);
@@ -338,7 +339,7 @@
 		ex = inner_error;
 		inner_error = NULL;
 		{
-			g_warning ("seahorse-viewer.vala:244: couldn't launch url: %s: %s", url, ex->message);
+			g_warning ("seahorse-viewer.vala:245: couldn't launch url: %s: %s", url, ex->message);
 			(ex == NULL ? NULL : (ex = (g_error_free (ex), NULL)));
 		}
 	}
@@ -720,30 +721,27 @@
 
 
 SeahorseObject* seahorse_viewer_get_selected (SeahorseViewer* self) {
-	SeahorseObject* value;
-	g_object_get (G_OBJECT (self), "selected", &value, NULL);
-	if (value != NULL) {
-		g_object_unref (value);
-	}
-	return value;
+	return SEAHORSE_VIEWER_GET_CLASS (self)->get_selected (self);
 }
 
 
-static SeahorseObject* seahorse_viewer_real_get_selected (SeahorseViewer* self) {
-	g_return_val_if_fail (SEAHORSE_IS_VIEWER (self), NULL);
+static SeahorseObject* seahorse_viewer_real_get_selected (SeahorseViewer* base) {
+	SeahorseViewer* self;
+	self = base;
 	/* Must be overridden */
 	return NULL;
 }
 
 
 void seahorse_viewer_set_selected (SeahorseViewer* self, SeahorseObject* value) {
-	g_object_set (G_OBJECT (self), "selected", value, NULL);
+	SEAHORSE_VIEWER_GET_CLASS (self)->set_selected (self, value);
 }
 
 
-static void seahorse_viewer_real_set_selected (SeahorseViewer* self, SeahorseObject* value) {
+static void seahorse_viewer_real_set_selected (SeahorseViewer* base, SeahorseObject* value) {
+	SeahorseViewer* self;
 	GList* objects;
-	g_return_if_fail (SEAHORSE_IS_VIEWER (self));
+	self = base;
 	objects = NULL;
 	objects = g_list_prepend (objects, value);
 	seahorse_viewer_set_selected_objects (self, objects);
@@ -753,24 +751,21 @@
 
 
 SeahorseSet* seahorse_viewer_get_current_set (SeahorseViewer* self) {
-	SeahorseSet* value;
-	g_object_get (G_OBJECT (self), "current-set", &value, NULL);
-	if (value != NULL) {
-		g_object_unref (value);
-	}
-	return value;
+	return SEAHORSE_VIEWER_GET_CLASS (self)->get_current_set (self);
 }
 
 
-static SeahorseSet* seahorse_viewer_real_get_current_set (SeahorseViewer* self) {
-	g_return_val_if_fail (SEAHORSE_IS_VIEWER (self), NULL);
+static SeahorseSet* seahorse_viewer_real_get_current_set (SeahorseViewer* base) {
+	SeahorseViewer* self;
+	self = base;
 	/* Must be overridden */
 	return NULL;
 }
 
 
-static GtkWindow* seahorse_viewer_real_get_window (SeahorseViewer* self) {
-	g_return_val_if_fail (SEAHORSE_IS_VIEWER (self), NULL);
+static GtkWindow* seahorse_viewer_real_get_window (SeahorseView* base) {
+	SeahorseViewer* self;
+	self = SEAHORSE_VIEWER (base);
 	return GTK_WINDOW (seahorse_widget_get_toplevel (SEAHORSE_WIDGET (self)));
 }
 
@@ -890,13 +885,13 @@
 	self = SEAHORSE_VIEWER (object);
 	switch (property_id) {
 		case SEAHORSE_VIEWER_SELECTED:
-		g_value_set_object (value, seahorse_viewer_real_get_selected (self));
+		g_value_set_object (value, seahorse_viewer_get_selected (self));
 		break;
 		case SEAHORSE_VIEWER_CURRENT_SET:
-		g_value_set_object (value, seahorse_viewer_real_get_current_set (self));
+		g_value_set_object (value, seahorse_viewer_get_current_set (self));
 		break;
 		case SEAHORSE_VIEWER_WINDOW:
-		g_value_set_object (value, seahorse_viewer_real_get_window (self));
+		g_value_set_object (value, seahorse_view_get_window (SEAHORSE_VIEW (self)));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -910,7 +905,7 @@
 	self = SEAHORSE_VIEWER (object);
 	switch (property_id) {
 		case SEAHORSE_VIEWER_SELECTED:
-		seahorse_viewer_real_set_selected (self, g_value_get_object (value));
+		seahorse_viewer_set_selected (self, g_value_get_object (value));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -925,10 +920,13 @@
 	G_OBJECT_CLASS (klass)->get_property = seahorse_viewer_get_property;
 	G_OBJECT_CLASS (klass)->set_property = seahorse_viewer_set_property;
 	G_OBJECT_CLASS (klass)->constructor = seahorse_viewer_constructor;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_viewer_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_viewer_finalize;
 	SEAHORSE_VIEWER_CLASS (klass)->get_selected_objects = seahorse_viewer_real_get_selected_objects;
 	SEAHORSE_VIEWER_CLASS (klass)->set_selected_objects = seahorse_viewer_real_set_selected_objects;
 	SEAHORSE_VIEWER_CLASS (klass)->get_selected_object_and_uid = seahorse_viewer_real_get_selected_object_and_uid;
+	SEAHORSE_VIEWER_CLASS (klass)->get_selected = seahorse_viewer_real_get_selected;
+	SEAHORSE_VIEWER_CLASS (klass)->set_selected = seahorse_viewer_real_set_selected;
+	SEAHORSE_VIEWER_CLASS (klass)->get_current_set = seahorse_viewer_real_get_current_set;
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_VIEWER_SELECTED, "selected");
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_VIEWER_CURRENT_SET, "current-set");
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_VIEWER_WINDOW, "window");
@@ -939,6 +937,10 @@
 	seahorse_viewer_seahorse_view_parent_iface = g_type_interface_peek_parent (iface);
 	iface->get_selected_objects = seahorse_viewer_get_selected_objects;
 	iface->set_selected_objects = seahorse_viewer_set_selected_objects;
+	iface->get_selected = seahorse_viewer_get_selected;
+	iface->set_selected = seahorse_viewer_set_selected;
+	iface->get_current_set = seahorse_viewer_get_current_set;
+	iface->get_window = seahorse_viewer_real_get_window;
 }
 
 
@@ -947,19 +949,19 @@
 }
 
 
-static void seahorse_viewer_dispose (GObject * obj) {
+static void seahorse_viewer_finalize (GObject * obj) {
 	SeahorseViewer * self;
 	self = SEAHORSE_VIEWER (obj);
 	(self->priv->_ui_manager == NULL ? NULL : (self->priv->_ui_manager = (g_object_unref (self->priv->_ui_manager), NULL)));
 	(self->priv->_object_actions == NULL ? NULL : (self->priv->_object_actions = (g_object_unref (self->priv->_object_actions), NULL)));
 	(self->priv->_commands == NULL ? NULL : (self->priv->_commands = (g_hash_table_unref (self->priv->_commands), NULL)));
-	G_OBJECT_CLASS (seahorse_viewer_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_viewer_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_viewer_get_type (void) {
 	static GType seahorse_viewer_type_id = 0;
-	if (G_UNLIKELY (seahorse_viewer_type_id == 0)) {
+	if (seahorse_viewer_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseViewerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_viewer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseViewer), 0, (GInstanceInitFunc) seahorse_viewer_instance_init };
 		static const GInterfaceInfo seahorse_view_info = { (GInterfaceInitFunc) seahorse_viewer_seahorse_view_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
 		seahorse_viewer_type_id = g_type_register_static (SEAHORSE_TYPE_WIDGET, "SeahorseViewer", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);

Modified: trunk/src/seahorse-viewer.h
==============================================================================
--- trunk/src/seahorse-viewer.h	(original)
+++ trunk/src/seahorse-viewer.h	Tue Aug 26 21:52:29 2008
@@ -56,6 +56,9 @@
 	GList* (*get_selected_objects) (SeahorseViewer* self);
 	void (*set_selected_objects) (SeahorseViewer* self, GList* objects);
 	SeahorseObject* (*get_selected_object_and_uid) (SeahorseViewer* self, guint* uid);
+	SeahorseObject* (*get_selected) (SeahorseViewer* self);
+	void (*set_selected) (SeahorseViewer* self, SeahorseObject* value);
+	SeahorseSet* (*get_current_set) (SeahorseViewer* self);
 };
 
 

Modified: trunk/src/vala-build.stamp
==============================================================================
--- trunk/src/vala-build.stamp	(original)
+++ trunk/src/vala-build.stamp	Tue Aug 26 21:52:29 2008
@@ -1 +1 @@
-1217782718
+1219785782

Modified: trunk/ssh/seahorse-ssh-commands.c
==============================================================================
--- trunk/ssh/seahorse-ssh-commands.c	(original)
+++ trunk/ssh/seahorse-ssh-commands.c	Tue Aug 26 21:52:29 2008
@@ -53,7 +53,7 @@
 static void _seahorse_ssh_commands_on_view_selection_changed_seahorse_view_selection_changed (SeahorseView* _sender, gpointer self);
 static GObject * seahorse_ssh_commands_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
 static gpointer seahorse_ssh_commands_parent_class = NULL;
-static void seahorse_ssh_commands_dispose (GObject * obj);
+static void seahorse_ssh_commands_finalize (GObject * obj);
 
 static const GtkActionEntry SEAHORSE_SSH_COMMANDS_COMMAND_ENTRIES[] = {{"remote-ssh-upload", NULL, N_ ("Configure Key for _Secure Shell..."), "", N_ ("Send public Secure Shell key to another machine, and enable logins using that key."), ((GCallback) (NULL))}};
 static const char* SEAHORSE_SSH_COMMANDS_UI_DEF = "\n\t\t\t<ui>\n\t\t\t\n\t\t\t<menubar>\n\t\t\t\t<menu name='Remote' action='remote-menu'>\n\t\t\t\t\t<menuitem action='remote-ssh-upload'/>\n\t\t\t\t</menu>\n\t\t\t</menubar>\n\t\t\t\n\t\t\t<popup name=\"KeyPopup\">\n\t\t\t\t<menuitem action=\"remote-ssh-upload\"/>\n\t\t\t</popup>\n\t\t\t\n\t\t\t</ui>\n\t\t";
@@ -160,15 +160,17 @@
 }
 
 
-static GQuark seahorse_ssh_commands_real_get_ktype (SeahorseSSHCommands* self) {
-	g_return_val_if_fail (SEAHORSE_SSH_IS_COMMANDS (self), 0U);
+static GQuark seahorse_ssh_commands_real_get_ktype (SeahorseCommands* base) {
+	SeahorseSSHCommands* self;
+	self = SEAHORSE_SSH_COMMANDS (base);
 	return SEAHORSE_SSH_TYPE;
 }
 
 
-static char* seahorse_ssh_commands_real_get_ui_definition (SeahorseSSHCommands* self) {
+static char* seahorse_ssh_commands_real_get_ui_definition (SeahorseCommands* base) {
+	SeahorseSSHCommands* self;
 	const char* _tmp0;
-	g_return_val_if_fail (SEAHORSE_SSH_IS_COMMANDS (self), NULL);
+	self = SEAHORSE_SSH_COMMANDS (base);
 	_tmp0 = NULL;
 	return (_tmp0 = SEAHORSE_SSH_COMMANDS_UI_DEF, (_tmp0 == NULL ? NULL : g_strdup (_tmp0)));
 }
@@ -179,8 +181,9 @@
 }
 
 
-static GtkActionGroup* seahorse_ssh_commands_real_get_command_actions (SeahorseSSHCommands* self) {
-	g_return_val_if_fail (SEAHORSE_SSH_IS_COMMANDS (self), NULL);
+static GtkActionGroup* seahorse_ssh_commands_real_get_command_actions (SeahorseCommands* base) {
+	SeahorseSSHCommands* self;
+	self = SEAHORSE_SSH_COMMANDS (base);
 	if (self->priv->_command_actions == NULL) {
 		GtkActionGroup* _tmp0;
 		_tmp0 = NULL;
@@ -220,13 +223,13 @@
 	self = SEAHORSE_SSH_COMMANDS (object);
 	switch (property_id) {
 		case SEAHORSE_SSH_COMMANDS_KTYPE:
-		g_value_set_uint (value, seahorse_ssh_commands_real_get_ktype (self));
+		g_value_set_uint (value, seahorse_commands_get_ktype (SEAHORSE_COMMANDS (self)));
 		break;
 		case SEAHORSE_SSH_COMMANDS_UI_DEFINITION:
-		g_value_set_string (value, seahorse_ssh_commands_real_get_ui_definition (self));
+		g_value_set_string (value, seahorse_commands_get_ui_definition (SEAHORSE_COMMANDS (self)));
 		break;
 		case SEAHORSE_SSH_COMMANDS_COMMAND_ACTIONS:
-		g_value_set_object (value, seahorse_ssh_commands_real_get_command_actions (self));
+		g_value_set_object (value, seahorse_commands_get_command_actions (SEAHORSE_COMMANDS (self)));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -240,9 +243,12 @@
 	g_type_class_add_private (klass, sizeof (SeahorseSSHCommandsPrivate));
 	G_OBJECT_CLASS (klass)->get_property = seahorse_ssh_commands_get_property;
 	G_OBJECT_CLASS (klass)->constructor = seahorse_ssh_commands_constructor;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_ssh_commands_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_ssh_commands_finalize;
 	SEAHORSE_COMMANDS_CLASS (klass)->show_properties = seahorse_ssh_commands_real_show_properties;
 	SEAHORSE_COMMANDS_CLASS (klass)->delete_objects = seahorse_ssh_commands_real_delete_objects;
+	SEAHORSE_COMMANDS_CLASS (klass)->get_ktype = seahorse_ssh_commands_real_get_ktype;
+	SEAHORSE_COMMANDS_CLASS (klass)->get_ui_definition = seahorse_ssh_commands_real_get_ui_definition;
+	SEAHORSE_COMMANDS_CLASS (klass)->get_command_actions = seahorse_ssh_commands_real_get_command_actions;
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_SSH_COMMANDS_KTYPE, "ktype");
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_SSH_COMMANDS_UI_DEFINITION, "ui-definition");
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_SSH_COMMANDS_COMMAND_ACTIONS, "command-actions");
@@ -259,17 +265,17 @@
 }
 
 
-static void seahorse_ssh_commands_dispose (GObject * obj) {
+static void seahorse_ssh_commands_finalize (GObject * obj) {
 	SeahorseSSHCommands * self;
 	self = SEAHORSE_SSH_COMMANDS (obj);
 	(self->priv->_command_actions == NULL ? NULL : (self->priv->_command_actions = (g_object_unref (self->priv->_command_actions), NULL)));
-	G_OBJECT_CLASS (seahorse_ssh_commands_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_ssh_commands_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_ssh_commands_get_type (void) {
 	static GType seahorse_ssh_commands_type_id = 0;
-	if (G_UNLIKELY (seahorse_ssh_commands_type_id == 0)) {
+	if (seahorse_ssh_commands_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseSSHCommandsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_ssh_commands_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseSSHCommands), 0, (GInstanceInitFunc) seahorse_ssh_commands_instance_init };
 		seahorse_ssh_commands_type_id = g_type_register_static (SEAHORSE_TYPE_COMMANDS, "SeahorseSSHCommands", &g_define_type_info, 0);
 	}

Modified: trunk/ssh/seahorse-ssh-generator.c
==============================================================================
--- trunk/ssh/seahorse-ssh-generator.c	(original)
+++ trunk/ssh/seahorse-ssh-generator.c	Tue Aug 26 21:52:29 2008
@@ -47,7 +47,7 @@
 static void seahorse_ssh_generator_on_ssh_generate (SeahorseSSHGenerator* self, GtkAction* action);
 static void _seahorse_ssh_generator_on_ssh_generate_gtk_action_activate (GtkAction* _sender, gpointer self);
 static gpointer seahorse_ssh_generator_parent_class = NULL;
-static void seahorse_ssh_generator_dispose (GObject * obj);
+static void seahorse_ssh_generator_finalize (GObject * obj);
 
 static const GtkActionEntry SEAHORSE_SSH_GENERATOR_GENERATE_ENTRIES[] = {{"ssh-generate-key", SEAHORSE_SSH_STOCK_ICON, N_ ("Secure Shell Key"), NULL, N_ ("Used to access other computers (eg: via a terminal)"), ((GCallback) (NULL))}};
 
@@ -77,8 +77,9 @@
 }
 
 
-static GtkActionGroup* seahorse_ssh_generator_real_get_actions (SeahorseSSHGenerator* self) {
-	g_return_val_if_fail (SEAHORSE_SSH_IS_GENERATOR (self), NULL);
+static GtkActionGroup* seahorse_ssh_generator_real_get_actions (SeahorseGenerator* base) {
+	SeahorseSSHGenerator* self;
+	self = SEAHORSE_SSH_GENERATOR (base);
 	if (self->priv->_generate_actions == NULL) {
 		GtkActionGroup* _tmp0;
 		_tmp0 = NULL;
@@ -96,7 +97,7 @@
 	self = SEAHORSE_SSH_GENERATOR (object);
 	switch (property_id) {
 		case SEAHORSE_SSH_GENERATOR_ACTIONS:
-		g_value_set_object (value, seahorse_ssh_generator_real_get_actions (self));
+		g_value_set_object (value, seahorse_generator_get_actions (SEAHORSE_GENERATOR (self)));
 		break;
 		default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -109,7 +110,8 @@
 	seahorse_ssh_generator_parent_class = g_type_class_peek_parent (klass);
 	g_type_class_add_private (klass, sizeof (SeahorseSSHGeneratorPrivate));
 	G_OBJECT_CLASS (klass)->get_property = seahorse_ssh_generator_get_property;
-	G_OBJECT_CLASS (klass)->dispose = seahorse_ssh_generator_dispose;
+	G_OBJECT_CLASS (klass)->finalize = seahorse_ssh_generator_finalize;
+	SEAHORSE_GENERATOR_CLASS (klass)->get_actions = seahorse_ssh_generator_real_get_actions;
 	g_object_class_override_property (G_OBJECT_CLASS (klass), SEAHORSE_SSH_GENERATOR_ACTIONS, "actions");
 	{
 		/* Register this class as a generator */
@@ -124,17 +126,17 @@
 }
 
 
-static void seahorse_ssh_generator_dispose (GObject * obj) {
+static void seahorse_ssh_generator_finalize (GObject * obj) {
 	SeahorseSSHGenerator * self;
 	self = SEAHORSE_SSH_GENERATOR (obj);
 	(self->priv->_generate_actions == NULL ? NULL : (self->priv->_generate_actions = (g_object_unref (self->priv->_generate_actions), NULL)));
-	G_OBJECT_CLASS (seahorse_ssh_generator_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (seahorse_ssh_generator_parent_class)->finalize (obj);
 }
 
 
 GType seahorse_ssh_generator_get_type (void) {
 	static GType seahorse_ssh_generator_type_id = 0;
-	if (G_UNLIKELY (seahorse_ssh_generator_type_id == 0)) {
+	if (seahorse_ssh_generator_type_id == 0) {
 		static const GTypeInfo g_define_type_info = { sizeof (SeahorseSSHGeneratorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seahorse_ssh_generator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeahorseSSHGenerator), 0, (GInstanceInitFunc) seahorse_ssh_generator_instance_init };
 		seahorse_ssh_generator_type_id = g_type_register_static (SEAHORSE_TYPE_GENERATOR, "SeahorseSSHGenerator", &g_define_type_info, 0);
 	}

Modified: trunk/ssh/vala-build.stamp
==============================================================================
--- trunk/ssh/vala-build.stamp	(original)
+++ trunk/ssh/vala-build.stamp	Tue Aug 26 21:52:29 2008
@@ -1 +1 @@
-1217782699
+1219784861



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]