seahorse r2662 - in trunk: . src



Author: nnielsen
Date: Sun Dec 14 21:09:22 2008
New Revision: 2662
URL: http://svn.gnome.org/viewvc/seahorse?rev=2662&view=rev

Log:
	* src/Makefile.am:
	* src/seahorse-key-manager.c:
	* src/seahorse-key-manager.h:
	* src/seahorse-key-manager.vala: (removed)
	Change Key manager window to C code from vala.

Removed:
   trunk/src/seahorse-key-manager.vala
Modified:
   trunk/ChangeLog
   trunk/src/Makefile.am
   trunk/src/seahorse-key-manager.c
   trunk/src/seahorse-key-manager.h

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Sun Dec 14 21:09:22 2008
@@ -17,7 +17,6 @@
 	-DGETTEXT_PACKAGE=\""seahorse\""
 
 VALA_SRCS = \
-	seahorse-key-manager.vala \
 	seahorse-keyserver-results.vala
 	
 VALA_VAPIS = \
@@ -68,6 +67,7 @@
 	seahorse-preferences.c seahorse-preferences.h \
 	eggtreemultidnd.c eggtreemultidnd.h \
 	seahorse-generate-select.c seahorse-generate-select.h \
+	seahorse-key-manager.c seahorse-key-manager.h \
 	seahorse-key-manager-store.c seahorse-key-manager-store.h \
 	seahorse-viewer.c seahorse-viewer.h \
 	seahorse-windows.h \

Modified: trunk/src/seahorse-key-manager.c
==============================================================================
--- trunk/src/seahorse-key-manager.c	(original)
+++ trunk/src/seahorse-key-manager.c	Sun Dec 14 21:09:22 2008
@@ -19,1350 +19,1066 @@
  * 02111-1307, USA.  
  */
 
-#include "seahorse-key-manager.h"
-#include <seahorse-types.h>
-#include <glib/gi18n-lib.h>
-#include <stdlib.h>
-#include <string.h>
-#include <seahorse-widget.h>
-#include <seahorse-progress.h>
-#include <seahorse-key-manager-store.h>
-#include <seahorse-set.h>
-#include <seahorse-context.h>
-#include <gdk/gdk.h>
-#include <seahorse-util.h>
-#include <seahorse-source.h>
-#include <gio/gio.h>
-#include <seahorse-windows.h>
-#include <seahorse-gconf.h>
-#include <seahorse-preferences.h>
-#include <gconf/gconf-client.h>
-#include <gconf/gconf.h>
-#include <config.h>
-#include "seahorse-generate-select.h"
-
-
-#define SEAHORSE_KEY_MANAGER_TYPE_TARGETS (seahorse_key_manager_targets_get_type ())
-
-#define SEAHORSE_KEY_MANAGER_TYPE_TABS (seahorse_key_manager_tabs_get_type ())
-typedef struct _SeahorseKeyManagerTabInfo SeahorseKeyManagerTabInfo;
-
-typedef enum  {
-	SEAHORSE_KEY_MANAGER_TARGETS_PLAIN,
-	SEAHORSE_KEY_MANAGER_TARGETS_URIS
-} SeahorseKeyManagerTargets;
-
-typedef enum  {
-	SEAHORSE_KEY_MANAGER_TABS_PUBLIC = 0,
-	SEAHORSE_KEY_MANAGER_TABS_TRUSTED,
-	SEAHORSE_KEY_MANAGER_TABS_PRIVATE,
-	SEAHORSE_KEY_MANAGER_TABS_PASSWORD,
-	SEAHORSE_KEY_MANAGER_TABS_NUM_TABS
-} SeahorseKeyManagerTabs;
+#include "config.h"
 
-struct _SeahorseKeyManagerTabInfo {
+#include "seahorse-generate-select.h"
+#include "seahorse-key-manager.h"
+#include "seahorse-key-manager-store.h"
+#include "seahorse-preferences.h"
+#include "seahorse-windows.h"
+#include "seahorse-keyserver-results.h"
+
+#include "seahorse-gconf.h"
+#include "seahorse-operation.h"
+#include "seahorse-progress.h"
+#include "seahorse-util.h"
+
+#include <glib/gi18n.h>
+
+enum {
+	PROP_0,
+	PROP_SELECTED
+};
+typedef struct _TabInfo {
 	guint id;
 	gint page;
 	GtkTreeView* view;
 	SeahorseSet* objects;
 	GtkWidget* widget;
 	SeahorseKeyManagerStore* store;
-};
-
-
+} TabInfo;
 
 struct _SeahorseKeyManagerPrivate {
-	GtkNotebook* _notebook;
-	GtkActionGroup* _view_actions;
-	GtkEntry* _filter_entry;
-	GQuark _track_selected_id;
-	guint _track_selected_tab;
-	SeahorseKeyManagerTabInfo* _tabs;
-	gint _tabs_length1;
+	GtkNotebook* notebook;
+	GtkActionGroup* view_actions;
+	GtkEntry* filter_entry;
+	GQuark track_selected_id;
+	guint track_selected_tab;
+	TabInfo* tabs;
 };
 
-#define SEAHORSE_KEY_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEAHORSE_TYPE_KEY_MANAGER, SeahorseKeyManagerPrivate))
 enum  {
-	SEAHORSE_KEY_MANAGER_DUMMY_PROPERTY,
-	SEAHORSE_KEY_MANAGER_SELECTED
+	TARGETS_PLAIN,
+	TARGETS_URIS
 };
-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 (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);
-static SeahorseKeyManagerTabInfo* seahorse_key_manager_get_tab_info (SeahorseKeyManager* self, gint page);
-static void seahorse_key_manager_set_tab_current (SeahorseKeyManager* self, SeahorseKeyManagerTabInfo* tab);
-static void _seahorse_key_manager_on_view_selection_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self);
-static void _seahorse_key_manager_on_row_activated_gtk_tree_view_row_activated (GtkTreeView* _sender, GtkTreePath* path, GtkTreeViewColumn* column, gpointer self);
-static gboolean _seahorse_key_manager_on_key_list_button_pressed_gtk_widget_button_press_event (GtkTreeView* _sender, GdkEventButton* event, gpointer self);
-static gboolean _seahorse_key_manager_on_key_list_popup_menu_gtk_widget_popup_menu (GtkTreeView* _sender, gpointer self);
-static void seahorse_key_manager_initialize_tab (SeahorseKeyManager* self, const char* tabwidget, guint tabid, const char* viewwidget, SeahorseObjectPredicate* pred);
-static gboolean seahorse_key_manager_on_first_timer (SeahorseKeyManager* self);
-static void seahorse_key_manager_on_filter_changed (SeahorseKeyManager* self, GtkEntry* entry);
-static gboolean _seahorse_key_manager_fire_selection_changed_gsource_func (gpointer self);
-static void seahorse_key_manager_on_view_selection_changed (SeahorseKeyManager* self, GtkTreeSelection* selection);
-static void seahorse_key_manager_on_row_activated (SeahorseKeyManager* self, GtkTreeView* view, GtkTreePath* path, GtkTreeViewColumn* column);
-static gboolean seahorse_key_manager_on_key_list_button_pressed (SeahorseKeyManager* self, GtkTreeView* view, GdkEventButton* event);
-static gboolean seahorse_key_manager_on_key_list_popup_menu (SeahorseKeyManager* self, GtkTreeView* view);
-static void seahorse_key_manager_on_key_generate (SeahorseKeyManager* self, GtkAction* action);
-static void seahorse_key_manager_on_new_button_clicked (SeahorseKeyManager* self, GtkButton* button);
-static void seahorse_key_manager_imported_keys (SeahorseKeyManager* self, SeahorseOperation* op);
-static void _seahorse_key_manager_imported_keys_seahorse_done_func (SeahorseOperation* op, gpointer self);
-static void seahorse_key_manager_import_files (SeahorseKeyManager* self, char** uris, int uris_length1);
-static void seahorse_key_manager_import_prompt (SeahorseKeyManager* self);
-static void seahorse_key_manager_on_key_import_file (SeahorseKeyManager* self, GtkAction* action);
-static void seahorse_key_manager_on_import_button_clicked (SeahorseKeyManager* self, GtkButton* button);
-static void seahorse_key_manager_import_text (SeahorseKeyManager* self, const char* text);
-static void seahorse_key_manager_on_target_drag_data_received (SeahorseKeyManager* self, GtkWindow* window, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time_);
-static void seahorse_key_manager_clipboard_received (SeahorseKeyManager* self, GtkClipboard* board, const char* text);
-static void _seahorse_key_manager_clipboard_received_gtk_clipboard_text_received_func (GtkClipboard* clipboard, const char* text, gpointer self);
-static void seahorse_key_manager_on_key_import_clipboard (SeahorseKeyManager* self, GtkAction* action);
-static void seahorse_key_manager_on_remote_find (SeahorseKeyManager* self, GtkAction* action);
-static void seahorse_key_manager_on_remote_sync (SeahorseKeyManager* self, GtkAction* action);
-static void seahorse_key_manager_on_app_quit (SeahorseKeyManager* self, GtkAction* action);
-static gboolean seahorse_key_manager_on_delete_event (SeahorseKeyManager* self, GtkWidget* widget, GdkEvent* event);
-static void seahorse_key_manager_on_view_type_activate (SeahorseKeyManager* self, GtkToggleAction* action);
-static void seahorse_key_manager_on_view_expires_activate (SeahorseKeyManager* self, GtkToggleAction* action);
-static void seahorse_key_manager_on_view_validity_activate (SeahorseKeyManager* self, GtkToggleAction* action);
-static void seahorse_key_manager_on_view_trust_activate (SeahorseKeyManager* self, GtkToggleAction* action);
-static void seahorse_key_manager_on_gconf_notify (SeahorseKeyManager* self, GConfClient* client, guint cnxn_id, GConfEntry* entry);
-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_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);
-static void _seahorse_key_manager_on_key_import_clipboard_gtk_action_activate (GtkAction* _sender, gpointer self);
-static void _seahorse_key_manager_on_remote_find_gtk_action_activate (GtkAction* _sender, gpointer self);
-static void _seahorse_key_manager_on_remote_sync_gtk_action_activate (GtkAction* _sender, gpointer self);
-static void _seahorse_key_manager_on_view_type_activate_gtk_action_activate (GtkToggleAction* _sender, gpointer self);
-static void _seahorse_key_manager_on_view_expires_activate_gtk_action_activate (GtkToggleAction* _sender, gpointer self);
-static void _seahorse_key_manager_on_view_trust_activate_gtk_action_activate (GtkToggleAction* _sender, gpointer self);
-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);
-static void _seahorse_key_manager_on_filter_changed_gtk_editable_changed (GtkEntry* _sender, gpointer self);
-static void _seahorse_key_manager_on_target_drag_data_received_gtk_widget_drag_data_received (GtkWindow* _sender, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time_, gpointer self);
-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 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);
-
-static const SeahorseObjectPredicate SEAHORSE_KEY_MANAGER_PRED_PUBLIC = {((GQuark) (0)), ((GQuark) (0)), ((GType) (0)), SEAHORSE_LOCATION_LOCAL, SEAHORSE_USAGE_PUBLIC_KEY, ((guint) (0)), ((guint) (SEAHORSE_FLAG_TRUSTED | SEAHORSE_FLAG_IS_VALID)), NULL};
-static const SeahorseObjectPredicate SEAHORSE_KEY_MANAGER_PRED_TRUSTED = {((GQuark) (0)), ((GQuark) (0)), ((GType) (0)), SEAHORSE_LOCATION_LOCAL, SEAHORSE_USAGE_PUBLIC_KEY, ((guint) (SEAHORSE_FLAG_TRUSTED | SEAHORSE_FLAG_IS_VALID)), ((guint) (0)), NULL};
-static const SeahorseObjectPredicate SEAHORSE_KEY_MANAGER_PRED_PRIVATE = {((GQuark) (0)), ((GQuark) (0)), ((GType) (0)), SEAHORSE_LOCATION_LOCAL, SEAHORSE_USAGE_PRIVATE_KEY, ((guint) (0)), ((guint) (0)), NULL};
-static const SeahorseObjectPredicate SEAHORSE_KEY_MANAGER_PRED_PASSWORD = {((GQuark) (0)), ((GQuark) (0)), ((GType) (0)), SEAHORSE_LOCATION_LOCAL, SEAHORSE_USAGE_CREDENTIALS, ((guint) (0)), ((guint) (0)), NULL};
-static const GtkActionEntry SEAHORSE_KEY_MANAGER_GENERAL_ENTRIES[] = {{"remote-menu", NULL, N_ ("_Remote")}, {"app-quit", GTK_STOCK_QUIT, N_ ("_Quit"), "<control>Q", N_ ("Close this program"), ((GCallback) (NULL))}, {"key-generate", GTK_STOCK_NEW, N_ ("_Create New Key..."), "<control>N", N_ ("Create a new personal key"), ((GCallback) (NULL))}, {"key-import-file", GTK_STOCK_OPEN, N_ ("_Import..."), "<control>I", N_ ("Import keys into your key ring from a file"), ((GCallback) (NULL))}, {"key-import-clipboard", GTK_STOCK_PASTE, N_ ("Paste _Keys"), "<control>V", N_ ("Import keys from the clipboard"), ((GCallback) (NULL))}};
-static const GtkActionEntry SEAHORSE_KEY_MANAGER_SERVER_ENTRIES[] = {{"remote-find", GTK_STOCK_FIND, N_ ("_Find Remote Keys..."), "", N_ ("Search for keys on a key server"), ((GCallback) (NULL))}, {"remote-sync", GTK_STOCK_REFRESH, N_ ("_Sync and Publish Keys..."), "", N_ ("Publish and/or synchronize your keys with those online."), ((GCallback) (NULL))}};
-static const GtkToggleActionEntry SEAHORSE_KEY_MANAGER_VIEW_ENTRIES[] = {{"view-type", NULL, N_ ("T_ypes"), NULL, N_ ("Show type column"), NULL, FALSE}, {"view-expires", NULL, N_ ("_Expiry"), NULL, N_ ("Show expiry column"), NULL, FALSE}, {"view-trust", NULL, N_ ("_Trust"), NULL, N_ ("Show owner trust column"), NULL, FALSE}, {"view-validity", NULL, N_ ("_Validity"), NULL, N_ ("Show validity column"), NULL, FALSE}};
-
-
-
-GType seahorse_key_manager_targets_get_type (void) {
-	static GType seahorse_key_manager_targets_type_id = 0;
-	if (G_UNLIKELY (seahorse_key_manager_targets_type_id == 0)) {
-		static const GEnumValue values[] = {{SEAHORSE_KEY_MANAGER_TARGETS_PLAIN, "SEAHORSE_KEY_MANAGER_TARGETS_PLAIN", "plain"}, {SEAHORSE_KEY_MANAGER_TARGETS_URIS, "SEAHORSE_KEY_MANAGER_TARGETS_URIS", "uris"}, {0, NULL, NULL}};
-		seahorse_key_manager_targets_type_id = g_enum_register_static ("SeahorseKeyManagerTargets", values);
-	}
-	return seahorse_key_manager_targets_type_id;
-}
-
-
-
-GType seahorse_key_manager_tabs_get_type (void) {
-	static GType seahorse_key_manager_tabs_type_id = 0;
-	if (G_UNLIKELY (seahorse_key_manager_tabs_type_id == 0)) {
-		static const GEnumValue values[] = {{SEAHORSE_KEY_MANAGER_TABS_PUBLIC, "SEAHORSE_KEY_MANAGER_TABS_PUBLIC", "public"}, {SEAHORSE_KEY_MANAGER_TABS_TRUSTED, "SEAHORSE_KEY_MANAGER_TABS_TRUSTED", "trusted"}, {SEAHORSE_KEY_MANAGER_TABS_PRIVATE, "SEAHORSE_KEY_MANAGER_TABS_PRIVATE", "private"}, {SEAHORSE_KEY_MANAGER_TABS_PASSWORD, "SEAHORSE_KEY_MANAGER_TABS_PASSWORD", "password"}, {SEAHORSE_KEY_MANAGER_TABS_NUM_TABS, "SEAHORSE_KEY_MANAGER_TABS_NUM_TABS", "num-tabs"}, {0, NULL, NULL}};
-		seahorse_key_manager_tabs_type_id = g_enum_register_static ("SeahorseKeyManagerTabs", values);
-	}
-	return seahorse_key_manager_tabs_type_id;
-}
-
-
-static SeahorseKeyManager* seahorse_key_manager_new (const char* ident) {
-	GParameter * __params;
-	GParameter * __params_it;
-	SeahorseKeyManager * self;
-	g_return_val_if_fail (ident != NULL, NULL);
-	__params = g_new0 (GParameter, 1);
-	__params_it = __params;
-	__params_it->name = "name";
-	g_value_init (&__params_it->value, G_TYPE_STRING);
-	g_value_set_string (&__params_it->value, ident);
-	__params_it++;
-	self = g_object_newv (SEAHORSE_TYPE_KEY_MANAGER, __params_it - __params, __params);
-	while (__params_it > __params) {
-		--__params_it;
-		g_value_unset (&__params_it->value);
-	}
-	g_free (__params);
-	return self;
-}
 
+enum  {
+	TAB_PUBLIC = 0,
+	TAB_TRUSTED,
+	TAB_PRIVATE,
+	TAB_PASSWORD,
+	TAB_NUM_TABS
+} SeahorseKeyManagerTabs;
 
-GtkWindow* seahorse_key_manager_show (SeahorseOperation* op) {
-	SeahorseKeyManager* man;
-	GtkWindow* _tmp0;
-	g_return_val_if_fail (SEAHORSE_IS_OPERATION (op), NULL);
-	man = g_object_ref_sink (seahorse_key_manager_new ("key-manager"));
-	g_object_ref (G_OBJECT (man));
-	/* Destorys itself with destroy */
-	seahorse_progress_status_set_operation (SEAHORSE_WIDGET (man), op);
-	_tmp0 = NULL;
-	return (_tmp0 = GTK_WINDOW (seahorse_widget_get_toplevel (SEAHORSE_WIDGET (man))), (man == NULL ? NULL : (man = (g_object_unref (man), NULL))), _tmp0);
-}
+static const SeahorseObjectPredicate PRED_PUBLIC = {
+	0, 
+	0, 
+	0, 
+	SEAHORSE_LOCATION_LOCAL, 
+	SEAHORSE_USAGE_PUBLIC_KEY, 
+	0, 
+	SEAHORSE_FLAG_TRUSTED | SEAHORSE_FLAG_IS_VALID, 
+	NULL 
+};
 
+static const SeahorseObjectPredicate PRED_TRUSTED = {
+	0, 
+	0, 
+	0, 
+	SEAHORSE_LOCATION_LOCAL, 
+	SEAHORSE_USAGE_PUBLIC_KEY, 
+	SEAHORSE_FLAG_TRUSTED | SEAHORSE_FLAG_IS_VALID, 
+	0, 
+	NULL
+};
 
-static GList* seahorse_key_manager_real_get_selected_objects (SeahorseViewer* base) {
-	SeahorseKeyManager * self;
-	SeahorseKeyManagerTabInfo* tab;
-	self = SEAHORSE_KEY_MANAGER (base);
-	tab = seahorse_key_manager_get_tab_info (self, -1);
-	if (tab == NULL) {
-		return NULL;
-	}
-	return seahorse_key_manager_store_get_selected_objects ((*tab).view);
-}
+static const SeahorseObjectPredicate PRED_PRIVATE = {
+	0, 
+	0, 
+	0, 
+	SEAHORSE_LOCATION_LOCAL, 
+	SEAHORSE_USAGE_PRIVATE_KEY, 
+	0, 
+	0, 
+	NULL
+};
 
+static const SeahorseObjectPredicate PRED_PASSWORD = {
+	0, 
+	0, 
+	0, 
+	SEAHORSE_LOCATION_LOCAL, 
+	SEAHORSE_USAGE_CREDENTIALS, 
+	0, 
+	0, 
+	NULL
+};
 
-static void seahorse_key_manager_real_set_selected_objects (SeahorseViewer* base, GList* objects) {
-	SeahorseKeyManager * self;
-	GList** _tmp1;
-	gint tab_lists_length1;
-	gint _tmp0;
-	GList** tab_lists;
-	guint highest_matched;
-	SeahorseKeyManagerTabInfo* highest_tab;
-	self = SEAHORSE_KEY_MANAGER (base);
-	g_return_if_fail (objects != NULL);
-	_tmp1 = NULL;
-	tab_lists = (_tmp1 = g_new0 (GList*, (_tmp0 = ((gint) (SEAHORSE_KEY_MANAGER_TABS_NUM_TABS))) + 1), tab_lists_length1 = _tmp0, _tmp1);
-	/* Break objects into what's on each tab */
-	{
-		GList* obj_collection;
-		GList* obj_it;
-		obj_collection = objects;
-		for (obj_it = obj_collection; obj_it != NULL; obj_it = obj_it->next) {
-			SeahorseObject* _tmp2;
-			SeahorseObject* obj;
-			_tmp2 = NULL;
-			obj = (_tmp2 = ((SeahorseObject*) (obj_it->data)), (_tmp2 == NULL ? NULL : g_object_ref (_tmp2)));
-			{
-				SeahorseKeyManagerTabInfo* tab;
-				tab = seahorse_key_manager_get_tab_for_object (self, obj);
-				if (tab == NULL) {
-					(obj == NULL ? NULL : (obj = (g_object_unref (obj), NULL)));
-					continue;
-				}
-				g_assert ((*tab).id < ((gint) (SEAHORSE_KEY_MANAGER_TABS_NUM_TABS)));
-				tab_lists[(*tab).id] = g_list_prepend (tab_lists[(*tab).id], obj);
-				(obj == NULL ? NULL : (obj = (g_object_unref (obj), NULL)));
-			}
-		}
-	}
-	highest_matched = ((guint) (0));
-	highest_tab = NULL;
-	{
-		gint i;
-		i = 0;
-		for (; i < ((gint) (SEAHORSE_KEY_MANAGER_TABS_NUM_TABS)); (i = i + 1)) {
-			GList* list;
-			SeahorseKeyManagerTabInfo* tab;
-			guint num;
-			list = tab_lists[i];
-			tab = &self->priv->_tabs[i];
-			/* Save away the tab that had the most objects */
-			num = g_list_length (list);
-			if (num > highest_matched) {
-				highest_matched = num;
-				highest_tab = tab;
-			}
-			/* Select the objects on that tab */
-			seahorse_key_manager_store_set_selected_objects ((*tab).view, list);
-		}
-	}
-	/* Change to the tab with the most objects */
-	if (highest_tab != NULL) {
-		seahorse_key_manager_set_tab_current (self, highest_tab);
-	}
-	tab_lists = (_vala_array_free (tab_lists, tab_lists_length1, ((GDestroyNotify) (g_list_free))), NULL);
-}
+G_DEFINE_TYPE (SeahorseKeyManager, seahorse_key_manager, SEAHORSE_TYPE_VIEWER);
 
+/* -----------------------------------------------------------------------------
+ * INTERNAL 
+ */
 
-static SeahorseKeyManagerTabInfo* seahorse_key_manager_get_tab_for_object (SeahorseKeyManager* self, SeahorseObject* obj) {
+static TabInfo* 
+get_tab_for_object (SeahorseKeyManager* self, SeahorseObject* obj) 
+{
+	gint i;
+	
 	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), NULL);
 	g_return_val_if_fail (SEAHORSE_IS_OBJECT (obj), NULL);
-	{
-		gint i;
-		i = 0;
-		for (; i < ((gint) (SEAHORSE_KEY_MANAGER_TABS_NUM_TABS)); (i = i + 1)) {
-			SeahorseKeyManagerTabInfo* tab;
-			tab = &self->priv->_tabs[i];
-			if (seahorse_set_has_object ((*tab).objects, obj)) {
-				return tab;
-			}
-		}
+	
+	for (i = 0; i < TAB_NUM_TABS; ++i) {
+		TabInfo* tab = &self->pv->tabs[i];
+		if (seahorse_set_has_object (tab->objects, obj))
+			return tab;
 	}
+	
 	return NULL;
 }
 
-
-static GtkTreeView* seahorse_key_manager_get_current_view (SeahorseKeyManager* self) {
-	SeahorseKeyManagerTabInfo* tab;
+static TabInfo* 
+get_tab_info (SeahorseKeyManager* self, gint page) 
+{
+	gint i;
+	
 	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), NULL);
-	tab = seahorse_key_manager_get_tab_info (self, -1);
-	if (tab == NULL) {
-		return NULL;
-	}
-	return (*tab).view;
-}
 
+	if (page < 0) 
+		page = gtk_notebook_get_current_page (self->pv->notebook);
+	if (page < 0)
+		return NULL;
 
-static guint seahorse_key_manager_get_tab_id (SeahorseKeyManager* self, SeahorseKeyManagerTabInfo* tab) {
-	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), 0U);
-	if (tab == NULL) {
-		return ((guint) (0));
+	for (i = 0; i < TAB_NUM_TABS; ++i)
+	{
+		TabInfo* tab = &self->pv->tabs[i];
+		if (tab->page == page)
+			return tab;
 	}
-	return (*tab).id;
-}
 
+	return NULL;
+}
 
-static SeahorseKeyManagerTabInfo* seahorse_key_manager_get_tab_info (SeahorseKeyManager* self, gint page) {
+static GtkTreeView* 
+get_current_view (SeahorseKeyManager* self) 
+{
+	TabInfo* tab;
 	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), NULL);
-	if (page < 0) {
-		page = gtk_notebook_get_current_page (self->priv->_notebook);
-	}
-	if (page < 0) {
+	tab = get_tab_info (self, -1);
+	if (tab == NULL)
 		return NULL;
-	}
-	{
-		gint i;
-		i = 0;
-		for (; i < ((gint) (SEAHORSE_KEY_MANAGER_TABS_NUM_TABS)); (i = i + 1)) {
-			SeahorseKeyManagerTabInfo* tab;
-			tab = &self->priv->_tabs[i];
-			if ((*tab).page == page) {
-				return tab;
-			}
-		}
-	}
-	return NULL;
+	return tab->view;
 }
 
+static guint 
+get_tab_id (SeahorseKeyManager* self, TabInfo* tab) 
+{
+	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), 0U);
+	if (tab == NULL) 
+		return 0;
+	return tab->id;
+}
 
-static void seahorse_key_manager_set_tab_current (SeahorseKeyManager* self, SeahorseKeyManagerTabInfo* tab) {
+static void 
+set_tab_current (SeahorseKeyManager* self, TabInfo* tab) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
-	gtk_notebook_set_current_page (self->priv->_notebook, (*tab).page);
+	gtk_notebook_set_current_page (self->pv->notebook, tab->page);
 	g_signal_emit_by_name (G_OBJECT (SEAHORSE_VIEW (self)), "selection-changed");
 }
 
+static gboolean 
+fire_selection_changed (SeahorseKeyManager* self) 
+{
+	gboolean selected;
+	gint rows;
+	GtkTreeView* view;
+	gboolean dotracking;
+	guint tabid;
+	GQuark keyid;
+	GList* objects;
 
-static void _seahorse_key_manager_on_view_selection_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self) {
-	seahorse_key_manager_on_view_selection_changed (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_row_activated_gtk_tree_view_row_activated (GtkTreeView* _sender, GtkTreePath* path, GtkTreeViewColumn* column, gpointer self) {
-	seahorse_key_manager_on_row_activated (self, _sender, path, column);
-}
+	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), FALSE);
 
+	selected = FALSE;
+	rows = 0;
 
-static gboolean _seahorse_key_manager_on_key_list_button_pressed_gtk_widget_button_press_event (GtkTreeView* _sender, GdkEventButton* event, gpointer self) {
-	return seahorse_key_manager_on_key_list_button_pressed (self, _sender, event);
-}
+	view = get_current_view (self);
+	
+	if (view != NULL) {
+		GtkTreeSelection* selection = gtk_tree_view_get_selection (view);
+		rows = gtk_tree_selection_count_selected_rows (selection);
+		selected = rows > 0;
+	}
+	
+	dotracking = TRUE;
+	
+	/* See which tab we're on, if different from previous, no tracking */
+	tabid = get_tab_id (self, get_tab_info (self, -1));
+	if (tabid != self->pv->track_selected_tab) {
+		dotracking = FALSE;
+		self->pv->track_selected_tab = tabid;
+	}
+	
+	/* Retrieve currently tracked, and reset tracking */
+	keyid = self->pv->track_selected_id;
+	self->pv->track_selected_id = 0;
+	
+	/* no selection, see if selected key moved to another tab */
+	if (dotracking && rows == 0 && keyid != 0) {
+		/* Find it */
+		SeahorseObject* obj = seahorse_context_find_object (NULL, keyid, SEAHORSE_LOCATION_LOCAL);
+		if (obj != NULL) {
+			/* If it's still around, then select it */
+			TabInfo* tab = get_tab_for_object (self, obj);
+			if (tab != NULL && tab != get_tab_info (self, -1)) {
+				/* Make sure we don't end up in a loop  */
+				g_assert (self->pv->track_selected_id == 0);
+				seahorse_viewer_set_selected (SEAHORSE_VIEWER (self), obj);
+			}
+		}
+	}
 
+	if (selected) {
+		seahorse_viewer_set_numbered_status (SEAHORSE_VIEWER (self), ngettext ("Selected %d key", "Selected %d keys", rows), rows);
+		objects = seahorse_viewer_get_selected_objects (SEAHORSE_VIEWER (self));
+		
+		/* If one key is selected then mark it down for following across tabs */
+		if (objects->data)
+			self->pv->track_selected_id = seahorse_object_get_id (objects->data);
+		
+		g_list_free (objects);
+	}
 
-static gboolean _seahorse_key_manager_on_key_list_popup_menu_gtk_widget_popup_menu (GtkTreeView* _sender, gpointer self) {
-	return seahorse_key_manager_on_key_list_popup_menu (self, _sender);
+	/* Fire the signal */
+	g_signal_emit_by_name (self, "selection-changed");
+	
+	/* This is called as a one-time idle handler, return FALSE so we don't get run again */
+	return FALSE;
 }
 
-
-static void seahorse_key_manager_initialize_tab (SeahorseKeyManager* self, const char* tabwidget, guint tabid, const char* viewwidget, SeahorseObjectPredicate* pred) {
-	SeahorseSet* objects;
-	GtkTreeView* _tmp0;
-	GtkTreeView* view;
-	SeahorseKeyManagerStore* _tmp1;
+static void 
+on_tab_changed (GtkNotebook* notebook, void* unused, guint page_num, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
-	g_return_if_fail (tabwidget != NULL);
-	g_return_if_fail (viewwidget != NULL);
-	g_assert (tabid < ((gint) (SEAHORSE_KEY_MANAGER_TABS_NUM_TABS)));
-	self->priv->_tabs[tabid].id = tabid;
-	self->priv->_tabs[tabid].widget = seahorse_widget_get_widget (SEAHORSE_WIDGET (self), tabwidget);
-	g_return_if_fail (self->priv->_tabs[tabid].widget != NULL);
-	self->priv->_tabs[tabid].page = gtk_notebook_page_num (self->priv->_notebook, self->priv->_tabs[tabid].widget);
-	g_return_if_fail (self->priv->_tabs[tabid].page >= 0);
-	objects = seahorse_set_new_full (&(*pred));
-	self->priv->_tabs[tabid].objects = objects;
-	/* init key list & selection settings */
-	_tmp0 = NULL;
-	view = (_tmp0 = GTK_TREE_VIEW (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), viewwidget)), (_tmp0 == NULL ? NULL : g_object_ref (_tmp0)));
-	self->priv->_tabs[tabid].view = view;
-	g_return_if_fail (view != NULL);
-	gtk_tree_selection_set_mode (gtk_tree_view_get_selection (view), GTK_SELECTION_MULTIPLE);
-	g_signal_connect_object (gtk_tree_view_get_selection (view), "changed", ((GCallback) (_seahorse_key_manager_on_view_selection_changed_gtk_tree_selection_changed)), self, 0);
-	g_signal_connect_object (view, "row-activated", ((GCallback) (_seahorse_key_manager_on_row_activated_gtk_tree_view_row_activated)), self, 0);
-	g_signal_connect_object (GTK_WIDGET (view), "button-press-event", ((GCallback) (_seahorse_key_manager_on_key_list_button_pressed_gtk_widget_button_press_event)), self, 0);
-	g_signal_connect_object (GTK_WIDGET (view), "popup-menu", ((GCallback) (_seahorse_key_manager_on_key_list_popup_menu_gtk_widget_popup_menu)), self, 0);
-	gtk_widget_realize (GTK_WIDGET (view));
-	/* Add new key store and associate it */
-	_tmp1 = NULL;
-	self->priv->_tabs[tabid].store = (_tmp1 = seahorse_key_manager_store_new (objects, view), (self->priv->_tabs[tabid].store == NULL ? NULL : (self->priv->_tabs[tabid].store = (g_object_unref (self->priv->_tabs[tabid].store), NULL))), _tmp1);
-	(objects == NULL ? NULL : (objects = (g_object_unref (objects), NULL)));
-	(view == NULL ? NULL : (view = (g_object_unref (view), NULL)));
-}
-
-
-static gboolean seahorse_key_manager_on_first_timer (SeahorseKeyManager* self) {
-	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), FALSE);
-	/* Although not all the keys have completed we'll know whether we have 
-	 * any or not at this point */
-	if (seahorse_context_get_count (seahorse_context_for_app ()) == 0) {
-		GtkWidget* _tmp0;
-		GtkWidget* widget;
-		_tmp0 = NULL;
-		widget = (_tmp0 = seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "first-time-box"), (_tmp0 == NULL ? NULL : g_object_ref (_tmp0)));
-		gtk_widget_show (widget);
-		(widget == NULL ? NULL : (widget = (g_object_unref (widget), NULL)));
-	}
-	return FALSE;
+	g_return_if_fail (GTK_IS_NOTEBOOK (notebook));
+	gtk_entry_set_text (self->pv->filter_entry, "");
+	
+	/* Don't track the selected key when tab is changed on purpose */
+	self->pv->track_selected_id = 0;
+	
+	fire_selection_changed (self);
 }
 
-
-static void seahorse_key_manager_on_filter_changed (SeahorseKeyManager* self, GtkEntry* entry) {
-	const char* _tmp0;
-	char* text;
+static void 
+on_help_show (GtkButton* button, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
-	g_return_if_fail (GTK_IS_ENTRY (entry));
-	_tmp0 = NULL;
-	text = (_tmp0 = gtk_entry_get_text (entry), (_tmp0 == NULL ? NULL : g_strdup (_tmp0)));
-	{
-		gint i;
-		i = 0;
-		for (; i < self->priv->_tabs_length1; (i = i + 1)) {
-			g_object_set (G_OBJECT (self->priv->_tabs[i].store), "filter", text, NULL, NULL);
-		}
-	}
-	text = (g_free (text), NULL);
+	g_return_if_fail (GTK_IS_BUTTON (button));
+	seahorse_widget_show_help (SEAHORSE_WIDGET (self));
 }
 
 
-static gboolean _seahorse_key_manager_fire_selection_changed_gsource_func (gpointer self) {
-	return seahorse_key_manager_fire_selection_changed (self);
-}
 
 
-static void seahorse_key_manager_on_view_selection_changed (SeahorseKeyManager* self, GtkTreeSelection* selection) {
+static void 
+on_view_selection_changed (GtkTreeSelection* selection, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_TREE_SELECTION (selection));
-	g_idle_add (_seahorse_key_manager_fire_selection_changed_gsource_func, self);
+	g_idle_add ((GSourceFunc)fire_selection_changed, self);
 }
 
-
-static void seahorse_key_manager_on_row_activated (SeahorseKeyManager* self, GtkTreeView* view, GtkTreePath* path, GtkTreeViewColumn* column) {
-	SeahorseObject* _tmp0;
+static void 
+on_row_activated (GtkTreeView* view, GtkTreePath* path, 
+                  GtkTreeViewColumn* column, SeahorseKeyManager* self) 
+{
 	SeahorseObject* obj;
+
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_TREE_VIEW (view));
 	g_return_if_fail (path != NULL);
 	g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (column));
-	_tmp0 = NULL;
-	obj = (_tmp0 = seahorse_key_manager_store_get_object_from_path (view, path), (_tmp0 == NULL ? NULL : g_object_ref (_tmp0)));
-	if (obj != NULL) {
+	
+	obj = seahorse_key_manager_store_get_object_from_path (view, path);
+	if (obj != NULL)
 		seahorse_viewer_show_properties (SEAHORSE_VIEWER (self), obj);
-	}
-	(obj == NULL ? NULL : (obj = (g_object_unref (obj), NULL)));
 }
 
-
-static gboolean seahorse_key_manager_on_key_list_button_pressed (SeahorseKeyManager* self, GtkTreeView* view, GdkEventButton* event) {
+static gboolean 
+on_key_list_button_pressed (GtkTreeView* view, GdkEventButton* event, SeahorseKeyManager* self) 
+{
 	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), FALSE);
 	g_return_val_if_fail (GTK_IS_TREE_VIEW (view), FALSE);
-	if ((*event).button == 3) {
-		seahorse_viewer_show_context_menu (SEAHORSE_VIEWER (self), (*event).button, (*event).time);
-	}
+	
+	if (event->button == 3)
+		seahorse_viewer_show_context_menu (SEAHORSE_VIEWER (self), event->button, event->time);
+
 	return FALSE;
 }
 
-
-static gboolean seahorse_key_manager_on_key_list_popup_menu (SeahorseKeyManager* self, GtkTreeView* view) {
-	SeahorseObject* _tmp0;
+static gboolean 
+on_key_list_popup_menu (GtkTreeView* view, SeahorseKeyManager* self) 
+{
 	SeahorseObject* obj;
-	gboolean _tmp2;
+
 	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), FALSE);
 	g_return_val_if_fail (GTK_IS_TREE_VIEW (view), FALSE);
-	_tmp0 = NULL;
-	obj = (_tmp0 = seahorse_viewer_get_selected (SEAHORSE_VIEWER (self)), (_tmp0 == NULL ? NULL : g_object_ref (_tmp0)));
-	if (obj != NULL) {
-		gboolean _tmp1;
-		seahorse_viewer_show_context_menu (SEAHORSE_VIEWER (self), ((guint) (0)), gtk_get_current_event_time ());
-		return (_tmp1 = TRUE, (obj == NULL ? NULL : (obj = (g_object_unref (obj), NULL))), _tmp1);
-	}
-	return (_tmp2 = FALSE, (obj == NULL ? NULL : (obj = (g_object_unref (obj), NULL))), _tmp2);
-}
 
+	obj = seahorse_viewer_get_selected (SEAHORSE_VIEWER (self));
+	if (obj != NULL) 
+		seahorse_viewer_show_context_menu (SEAHORSE_VIEWER (self), 0, gtk_get_current_event_time ());
+	return FALSE;
+}
 
-static void seahorse_key_manager_on_key_generate (SeahorseKeyManager* self, GtkAction* action) {
+static void 
+on_key_generate (GtkAction* action, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_ACTION (action));
 	seahorse_generate_select_show (seahorse_viewer_get_window (SEAHORSE_VIEWER (self)));
 }
 
-
-static void seahorse_key_manager_on_new_button_clicked (SeahorseKeyManager* self, GtkButton* button) {
+static void 
+on_new_button_clicked (GtkButton* button, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_BUTTON (button));
 	seahorse_generate_select_show (seahorse_viewer_get_window (SEAHORSE_VIEWER (self)));
 }
 
+static void 
+initialize_tab (SeahorseKeyManager* self, const char* tabwidget, guint tabid, const char* viewwidget, 
+                const SeahorseObjectPredicate* pred) 
+{
+	SeahorseSet *objects;
+	GtkTreeSelection *selection;
+	GtkTreeView *view;
+	
+	g_assert (tabid < (int)TAB_NUM_TABS);
+	
+	self->pv->tabs[tabid].id = tabid;
+	self->pv->tabs[tabid].widget = seahorse_widget_get_widget (SEAHORSE_WIDGET (self), tabwidget);
+	g_return_if_fail (self->pv->tabs[tabid].widget != NULL);
+	
+	self->pv->tabs[tabid].page = gtk_notebook_page_num (self->pv->notebook, self->pv->tabs[tabid].widget);
+	g_return_if_fail (self->pv->tabs[tabid].page >= 0);
+	
+	objects = seahorse_set_new_full ((SeahorseObjectPredicate*)pred);
+	self->pv->tabs[tabid].objects = objects;
+
+	/* Init key list & selection settings */
+	view = GTK_TREE_VIEW (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), viewwidget));
+	self->pv->tabs[tabid].view = view;
+	g_return_if_fail (view != NULL);
+	
+	selection = gtk_tree_view_get_selection (view);
+	gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE);
+	g_signal_connect (selection, "changed", G_CALLBACK (on_view_selection_changed), self);
+	g_signal_connect (view, "row-activated", G_CALLBACK (on_row_activated), self);
+	g_signal_connect (view, "button-press-event", G_CALLBACK (on_key_list_button_pressed), self);
+	g_signal_connect (view, "popup-menu", G_CALLBACK (on_key_list_popup_menu), self);
+	gtk_widget_realize (GTK_WIDGET (view));
 
-static void seahorse_key_manager_imported_keys (SeahorseKeyManager* self, SeahorseOperation* op) {
-	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
-	g_return_if_fail (SEAHORSE_IS_OPERATION (op));
-	if (!seahorse_operation_is_successful (op)) {
-		seahorse_operation_display_error (op, _ ("Couldn't import keys"), GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))));
-		return;
+	/* Add new key store and associate it */
+	self->pv->tabs[tabid].store = seahorse_key_manager_store_new (objects, view);
+}
+
+static gboolean 
+on_first_timer (SeahorseKeyManager* self) 
+{
+	GtkWidget* widget;
+
+	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), FALSE);
+	
+	/* 
+	 * Although not all the keys have completed we'll know whether we have 
+	 * any or not at this point 
+	 */
+	
+	if (seahorse_context_get_count (NULL) == 0) {
+		widget = seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "first-time-box");
+		gtk_widget_show (widget);
 	}
-	seahorse_viewer_set_status (SEAHORSE_VIEWER (self), _ ("Imported keys"));
+	
+	return FALSE;
 }
 
+static void 
+on_filter_changed (GtkEntry* entry, SeahorseKeyManager* self) 
+{
+	const gchar *text;
+	gint i;
 
-static void _seahorse_key_manager_imported_keys_seahorse_done_func (SeahorseOperation* op, gpointer self) {
-	seahorse_key_manager_imported_keys (self, op);
+	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
+	g_return_if_fail (GTK_IS_ENTRY (entry));
+
+	text = gtk_entry_get_text (entry);
+	for (i = 0; i < TAB_NUM_TABS; ++i)
+		g_object_set (self->pv->tabs[i].store, "filter", text, NULL);
 }
 
+static void 
+imported_keys (SeahorseOperation* op, SeahorseKeyManager* self) 
+{
+	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
+	g_return_if_fail (SEAHORSE_IS_OPERATION (op));
+	
+	if (!seahorse_operation_is_successful (op)) {
+		seahorse_operation_display_error (op, _("Couldn't import keys"), 
+		                                  GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))));
+		return;
+	}
+	
+	seahorse_viewer_set_status (SEAHORSE_VIEWER (self), _("Imported keys"));
+}
 
-static void seahorse_key_manager_import_files (SeahorseKeyManager* self, char** uris, int uris_length1) {
-	GError * inner_error;
+static void 
+import_files (SeahorseKeyManager* self, const gchar** uris) 
+{
+	GError *error = NULL;
 	SeahorseMultiOperation* mop;
-	GString* errmsg;
+	GFileInputStream* input;
+	SeahorseOperation* op;
+	const gchar *uri;
+	GString *errmsg;
+	GFile* file;
+	
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
-	inner_error = NULL;
 	mop = g_object_new (SEAHORSE_TYPE_MULTI_OPERATION, NULL);
 	errmsg = g_string_new ("");
-	{
-		char** uri_collection;
-		int uri_collection_length1;
-		int uri_it;
-		uri_collection = uris;
-		uri_collection_length1 = uris_length1;
-		for (uri_it = 0; (uris_length1 != -1 && uri_it < uris_length1) || (uris_length1 == -1 && uri_collection[uri_it] != NULL); uri_it = uri_it + 1) {
-			const char* _tmp2;
-			char* uri;
-			_tmp2 = NULL;
-			uri = (_tmp2 = uri_collection[uri_it], (_tmp2 == NULL ? NULL : g_strdup (_tmp2)));
-			{
-				GQuark ktype;
-				SeahorseSource* _tmp0;
-				SeahorseSource* sksrc;
-				if (g_utf8_strlen (uri, -1) == 0) {
-					uri = (g_free (uri), NULL);
-					continue;
-				}
-				/* Figure out where to import to */
-				ktype = seahorse_util_detect_file_type (uri);
-				if (ktype == 0) {
-					g_string_append_printf (errmsg, "%s: Invalid file format\n", uri);
-					uri = (g_free (uri), NULL);
-					continue;
-				}
-				/* All our supported key types have a local source */
-				_tmp0 = NULL;
-				sksrc = (_tmp0 = seahorse_context_find_source (seahorse_context_for_app (), ktype, SEAHORSE_LOCATION_LOCAL), (_tmp0 == NULL ? NULL : g_object_ref (_tmp0)));
-				g_return_if_fail (sksrc != NULL);
-				{
-					GFile* file;
-					GFileInputStream* input;
-					SeahorseOperation* op;
-					SeahorseOperation* _tmp1;
-					file = g_file_new_for_uri (uri);
-					input = g_file_read (file, NULL, &inner_error);
-					if (inner_error != NULL) {
-						goto __catch0_g_error;
-					}
-					op = seahorse_source_import (sksrc, G_INPUT_STREAM (input));
-					_tmp1 = NULL;
-					seahorse_multi_operation_take (mop, (_tmp1 = op, (_tmp1 == NULL ? NULL : g_object_ref (_tmp1))));
-					(file == NULL ? NULL : (file = (g_object_unref (file), NULL)));
-					(input == NULL ? NULL : (input = (g_object_unref (input), NULL)));
-					(op == NULL ? NULL : (op = (g_object_unref (op), NULL)));
-				}
-				goto __finally0;
-				__catch0_g_error:
-				{
-					GError * ex;
-					ex = inner_error;
-					inner_error = NULL;
-					{
-						g_string_append_printf (errmsg, "%s: %s\n", uri, ex->message);
-						(ex == NULL ? NULL : (ex = (g_error_free (ex), NULL)));
-						uri = (g_free (uri), NULL);
-						(sksrc == NULL ? NULL : (sksrc = (g_object_unref (sksrc), NULL)));
-						continue;
-					}
-				}
-				__finally0:
-				;
-				uri = (g_free (uri), NULL);
-				(sksrc == NULL ? NULL : (sksrc = (g_object_unref (sksrc), NULL)));
-			}
+	
+	for (uri = *uris; uri; uris++, uri = *uris) {
+		GQuark ktype;
+		SeahorseSource* sksrc;
+		
+		if(!uri[0])
+			continue;
+			
+		/* Figure out where to import to */
+		ktype = seahorse_util_detect_file_type (uri);
+		if (ktype == 0) {
+			g_string_append_printf (errmsg, "%s: Invalid file format\n", uri);
+			continue;
 		}
+		
+		/* All our supported key types have a local source */
+		sksrc = seahorse_context_find_source (NULL, ktype, SEAHORSE_LOCATION_LOCAL);
+		g_return_if_fail (sksrc != NULL);
+
+		file = g_file_new_for_uri (uri);
+		input = g_file_read (file, NULL, &error);
+		if (error) {
+			g_string_append_printf (errmsg, "%s: %s\n", uri, error->message);
+			g_clear_error (&error);
+			continue;
+		}			
+		
+		op = seahorse_source_import (sksrc, G_INPUT_STREAM (input));
+		seahorse_multi_operation_take (mop, op);
 	}
+	
 	if (seahorse_operation_is_running (SEAHORSE_OPERATION (mop))) {
-		seahorse_progress_show (SEAHORSE_OPERATION (mop), _ ("Importing keys"), TRUE);
-		seahorse_operation_watch (SEAHORSE_OPERATION (mop), _seahorse_key_manager_imported_keys_seahorse_done_func, self, NULL, NULL);
-	}
-	if (errmsg->len > 0) {
-		seahorse_util_show_error (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), _ ("Couldn't import keys"), errmsg->str);
+		seahorse_progress_show (SEAHORSE_OPERATION (mop), _("Importing keys"), TRUE);
+		seahorse_operation_watch (SEAHORSE_OPERATION (mop), (SeahorseDoneFunc)imported_keys, self, NULL, NULL);
 	}
-	(mop == NULL ? NULL : (mop = (g_object_unref (mop), NULL)));
-	(errmsg == NULL ? NULL : (errmsg = (g_string_free (errmsg, TRUE), NULL)));
+	
+	if (errmsg->len > 0)
+		seahorse_util_show_error (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), 
+		                          _("Couldn't import keys"), errmsg->str);
+
+	
+	g_object_unref (mop);
+	g_string_free (errmsg, TRUE);
 }
 
 
-static void seahorse_key_manager_import_prompt (SeahorseKeyManager* self) {
-	GtkDialog* _tmp0;
+static void 
+import_prompt (SeahorseKeyManager* self) 
+{
 	GtkDialog* dialog;
-	char* uri;
+	gchar *uris[2];
+	gchar* uri;
+
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
-	_tmp0 = NULL;
-	dialog = (_tmp0 = seahorse_util_chooser_open_new (_ ("Import Key"), seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), (_tmp0 == NULL ? NULL : g_object_ref (_tmp0)));
+
+	dialog = seahorse_util_chooser_open_new (_("Import Key"), 
+	                                         seahorse_viewer_get_window (SEAHORSE_VIEWER (self)));
 	seahorse_util_chooser_show_key_files (dialog);
+	
 	uri = seahorse_util_chooser_open_prompt (dialog);
 	if (uri != NULL) {
-		char** _tmp3;
-		gint uris_length1;
-		char** _tmp2;
-		const char* _tmp1;
-		char** uris;
-		_tmp3 = NULL;
-		_tmp2 = NULL;
-		_tmp1 = NULL;
-		uris = (_tmp3 = (_tmp2 = g_new0 (char*, 1 + 1), _tmp2[0] = (_tmp1 = uri, (_tmp1 == NULL ? NULL : g_strdup (_tmp1))), _tmp2), uris_length1 = 1, _tmp3);
-		seahorse_key_manager_import_files (self, uris, uris_length1);
-		uris = (_vala_array_free (uris, uris_length1, ((GDestroyNotify) (g_free))), NULL);
+		uris[0] = uri;
+		uris[1] = NULL;
+		import_files (self, (const gchar**)uris);
 	}
-	(dialog == NULL ? NULL : (dialog = (g_object_unref (dialog), NULL)));
-	uri = (g_free (uri), NULL);
+	
+	g_free (uri);
 }
 
-
-static void seahorse_key_manager_on_key_import_file (SeahorseKeyManager* self, GtkAction* action) {
+static void 
+on_key_import_file (GtkAction* action, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_ACTION (action));
-	seahorse_key_manager_import_prompt (self);
+	import_prompt (self);
 }
 
-
-static void seahorse_key_manager_on_import_button_clicked (SeahorseKeyManager* self, GtkButton* button) {
+static void 
+on_import_button_clicked (GtkButton* button, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_BUTTON (button));
-	seahorse_key_manager_import_prompt (self);
+	import_prompt (self);
 }
 
-
-static void seahorse_key_manager_import_text (SeahorseKeyManager* self, const char* text) {
+static void 
+import_text (SeahorseKeyManager* self, const char* text) 
+{
 	glong len;
 	GQuark ktype;
-	SeahorseSource* _tmp0;
 	SeahorseSource* sksrc;
 	GMemoryInputStream* input;
 	SeahorseOperation* op;
+	
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (text != NULL);
+	
 	len = g_utf8_strlen (text, -1);
 	ktype = seahorse_util_detect_data_type (text, len);
 	if (ktype == 0) {
-		seahorse_util_show_error (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), _ ("Couldn't import keys"), _ ("Unrecognized key type, or invalid data format"));
+		seahorse_util_show_error (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), 
+		                          _("Couldn't import keys"), _("Unrecognized key type, or invalid data format"));
 		return;
 	}
+	
 	/* All our supported key types have a local key source */
-	_tmp0 = NULL;
-	sksrc = (_tmp0 = seahorse_context_find_source (seahorse_context_for_app (), ktype, SEAHORSE_LOCATION_LOCAL), (_tmp0 == NULL ? NULL : g_object_ref (_tmp0)));
+	sksrc = seahorse_context_find_source (seahorse_context_for_app (), ktype, SEAHORSE_LOCATION_LOCAL);
 	g_return_if_fail (sksrc != NULL);
+
 	input = seahorse_util_memory_input_string (text, len);
 	op = seahorse_source_import (sksrc, G_INPUT_STREAM (input));
-	seahorse_progress_show (op, _ ("Importing Keys"), TRUE);
-	seahorse_operation_watch (op, _seahorse_key_manager_imported_keys_seahorse_done_func, self, NULL, NULL);
-	(sksrc == NULL ? NULL : (sksrc = (g_object_unref (sksrc), NULL)));
-	(input == NULL ? NULL : (input = (g_object_unref (input), NULL)));
-	(op == NULL ? NULL : (op = (g_object_unref (op), NULL)));
-}
-
-
-static void seahorse_key_manager_on_target_drag_data_received (SeahorseKeyManager* self, GtkWindow* window, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time_) {
+	
+	seahorse_progress_show (op, _("Importing Keys"), TRUE);
+	seahorse_operation_watch (op, (SeahorseDoneFunc)imported_keys, self, NULL, NULL);
+
+	g_object_unref (input);
+	g_object_unref (op);
+}
+
+static void 
+on_target_drag_data_received (GtkWindow* window, GdkDragContext* context, gint x, gint y, 
+                              GtkSelectionData* selection_data, guint info, guint time_,
+                              SeahorseKeyManager* self) 
+{
+	guchar *text;
+	gchar **uris;
+	gchar **uri;
+	
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_WINDOW (window));
 	g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
 	g_return_if_fail (selection_data != NULL);
-	if (info == SEAHORSE_KEY_MANAGER_TARGETS_PLAIN) {
-		char* _tmp0;
-		_tmp0 = NULL;
-		seahorse_key_manager_import_text (self, (_tmp0 = ((char*) (gtk_selection_data_get_text (selection_data)))));
-		_tmp0 = (g_free (_tmp0), NULL);
-	} else {
-		if (info == SEAHORSE_KEY_MANAGER_TARGETS_URIS) {
-			char** _tmp1;
-			gint uris_length1;
-			char** uris;
-			_tmp1 = NULL;
-			uris = (_tmp1 = gtk_selection_data_get_uris (selection_data), uris_length1 = -1, _tmp1);
-			{
-				gint i;
-				i = 0;
-				for (; i < uris_length1; (i = i + 1)) {
-					char* _tmp3;
-					const char* _tmp2;
-					_tmp3 = NULL;
-					_tmp2 = NULL;
-					uris[i] = (_tmp3 = (_tmp2 = g_strstrip (uris[i]), (_tmp2 == NULL ? NULL : g_strdup (_tmp2))), (uris[i] = (g_free (uris[i]), NULL)), _tmp3);
-				}
-			}
-			seahorse_key_manager_import_files (self, uris, uris_length1);
-			uris = (_vala_array_free (uris, uris_length1, ((GDestroyNotify) (g_free))), NULL);
-		}
+	
+	if (info == TARGETS_PLAIN) {
+		text = gtk_selection_data_get_text (selection_data);
+		import_text (self, (gchar*)text);
+		g_free (text);
+	} else if (info == TARGETS_URIS) {
+		uris = gtk_selection_data_get_uris (selection_data);
+		for (uri = uris; *uri; ++uri) 
+			g_strstrip (*uri);
+		import_files (self, (const gchar**)uris);
+		g_strfreev (uris);
 	}
 }
 
-
-static void seahorse_key_manager_clipboard_received (SeahorseKeyManager* self, GtkClipboard* board, const char* text) {
+static void 
+on_clipboard_received (GtkClipboard* board, const char* text, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_CLIPBOARD (board));
 	g_return_if_fail (text != NULL);
-	if (text != NULL && g_utf8_strlen (text, -1) > 0) {
-		seahorse_key_manager_import_text (self, text);
-	}
+	
+	if (text != NULL && g_utf8_strlen (text, -1) > 0)
+		import_text (self, text);
 }
 
-
-static void _seahorse_key_manager_clipboard_received_gtk_clipboard_text_received_func (GtkClipboard* clipboard, const char* text, gpointer self) {
-	seahorse_key_manager_clipboard_received (self, clipboard, text);
-}
-
-
-static void seahorse_key_manager_on_key_import_clipboard (SeahorseKeyManager* self, GtkAction* action) {
+static void 
+on_key_import_clipboard (GtkAction* action, SeahorseKeyManager* self) 
+{
 	GdkAtom atom;
-	GtkClipboard* _tmp0;
 	GtkClipboard* board;
+	
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_ACTION (action));
+	
 	atom = gdk_atom_intern ("CLIPBOARD", FALSE);
-	_tmp0 = NULL;
-	board = (_tmp0 = gtk_clipboard_get (atom), (_tmp0 == NULL ? NULL : g_object_ref (_tmp0)));
-	gtk_clipboard_request_text (board, _seahorse_key_manager_clipboard_received_gtk_clipboard_text_received_func, self);
-	(board == NULL ? NULL : (board = (g_object_unref (board), NULL)));
+	board = gtk_clipboard_get (atom);
+	gtk_clipboard_request_text (board, (GtkClipboardTextReceivedFunc)on_clipboard_received, self);
 }
 
-
-static void seahorse_key_manager_on_remote_find (SeahorseKeyManager* self, GtkAction* action) {
+static void 
+on_remote_find (GtkAction* action, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_ACTION (action));
 	seahorse_keyserver_search_show (seahorse_viewer_get_window (SEAHORSE_VIEWER (self)));
 }
 
-
-static void seahorse_key_manager_on_remote_sync (SeahorseKeyManager* self, GtkAction* action) {
+static void 
+on_remote_sync (GtkAction* action, SeahorseKeyManager* self) 
+{
 	GList* objects;
+
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_ACTION (action));
+	
 	objects = seahorse_viewer_get_selected_objects (SEAHORSE_VIEWER (self));
-	if (objects == NULL) {
-		GList* _tmp0;
-		_tmp0 = NULL;
-		objects = (_tmp0 = seahorse_context_find_objects (seahorse_context_for_app (), ((GQuark) (0)), 0, SEAHORSE_LOCATION_LOCAL), (objects == NULL ? NULL : (objects = (g_list_free (objects), NULL))), _tmp0);
-	}
+	if (objects == NULL)
+		objects = seahorse_context_find_objects (NULL, 0, 0, SEAHORSE_LOCATION_LOCAL);
 	seahorse_keyserver_sync_show (objects, seahorse_viewer_get_window (SEAHORSE_VIEWER (self)));
-	(objects == NULL ? NULL : (objects = (g_list_free (objects), NULL)));
+	g_list_free (objects);
 }
 
-
-static void seahorse_key_manager_on_app_quit (SeahorseKeyManager* self, GtkAction* action) {
+static void 
+on_app_quit (GtkAction* action, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (action == NULL || GTK_IS_ACTION (action));
+	
 	seahorse_context_destroy (seahorse_context_for_app ());
 }
 
-
 /* When this window closes we quit seahorse */
-static gboolean seahorse_key_manager_on_delete_event (SeahorseKeyManager* self, GtkWidget* widget, GdkEvent* event) {
+static gboolean 
+on_delete_event (GtkWidget* widget, GdkEvent* event, SeahorseKeyManager* self) 
+{
 	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), FALSE);
 	g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-	seahorse_key_manager_on_app_quit (self, NULL);
+	on_app_quit (NULL, self);
 	return TRUE;
 }
 
-
-static void seahorse_key_manager_on_view_type_activate (SeahorseKeyManager* self, GtkToggleAction* action) {
+static void 
+on_view_type_activate (GtkToggleAction* action, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_TOGGLE_ACTION (action));
 	seahorse_gconf_set_boolean (SHOW_TYPE_KEY, gtk_toggle_action_get_active (action));
 }
 
 
-static void seahorse_key_manager_on_view_expires_activate (SeahorseKeyManager* self, GtkToggleAction* action) {
+static void 
+on_view_expires_activate (GtkToggleAction* action, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_TOGGLE_ACTION (action));
 	seahorse_gconf_set_boolean (SHOW_EXPIRES_KEY, gtk_toggle_action_get_active (action));
 }
 
 
-static void seahorse_key_manager_on_view_validity_activate (SeahorseKeyManager* self, GtkToggleAction* action) {
+static void 
+on_view_validity_activate (GtkToggleAction* action, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_TOGGLE_ACTION (action));
 	seahorse_gconf_set_boolean (SHOW_VALIDITY_KEY, gtk_toggle_action_get_active (action));
 }
 
-
-static void seahorse_key_manager_on_view_trust_activate (SeahorseKeyManager* self, GtkToggleAction* action) {
+static void 
+on_view_trust_activate (GtkToggleAction* action, SeahorseKeyManager* self) 
+{
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GTK_IS_TOGGLE_ACTION (action));
 	seahorse_gconf_set_boolean (SHOW_TRUST_KEY, gtk_toggle_action_get_active (action));
 }
 
-
-static void seahorse_key_manager_on_gconf_notify (SeahorseKeyManager* self, GConfClient* client, guint cnxn_id, GConfEntry* entry) {
+static void 
+on_gconf_notify (GConfClient* client, guint cnxn_id, GConfEntry* entry, SeahorseKeyManager* self) 
+{
 	GtkToggleAction* action;
-	const char* _tmp0;
-	char* key;
-	char* name;
-	GtkToggleAction* _tmp6;
-	GtkToggleAction* _tmp5;
+	const gchar* key;
+	const char* name;
+
 	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
 	g_return_if_fail (GCONF_IS_CLIENT (client));
 	g_return_if_fail (entry != NULL);
-	action = NULL;
-	_tmp0 = NULL;
-	key = (_tmp0 = entry->key, (_tmp0 == NULL ? NULL : g_strdup (_tmp0)));
-	name = NULL;
-	if (_vala_strcmp0 (key, SHOW_TRUST_KEY) == 0) {
-		char* _tmp1;
-		_tmp1 = NULL;
-		name = (_tmp1 = g_strdup ("view-trust"), (name = (g_free (name), NULL)), _tmp1);
-	} else {
-		if (_vala_strcmp0 (key, SHOW_TYPE_KEY) == 0) {
-			char* _tmp2;
-			_tmp2 = NULL;
-			name = (_tmp2 = g_strdup ("view-type"), (name = (g_free (name), NULL)), _tmp2);
-		} else {
-			if (_vala_strcmp0 (key, SHOW_EXPIRES_KEY) == 0) {
-				char* _tmp3;
-				_tmp3 = NULL;
-				name = (_tmp3 = g_strdup ("view-expires"), (name = (g_free (name), NULL)), _tmp3);
-			} else {
-				if (_vala_strcmp0 (key, SHOW_VALIDITY_KEY) == 0) {
-					char* _tmp4;
-					_tmp4 = NULL;
-					name = (_tmp4 = g_strdup ("view-validity"), (name = (g_free (name), NULL)), _tmp4);
-				} else {
-					(action == NULL ? NULL : (action = (g_object_unref (action), NULL)));
-					key = (g_free (key), NULL);
-					name = (g_free (name), NULL);
-					return;
-				}
-			}
-		}
-	}
-	_tmp6 = NULL;
-	_tmp5 = NULL;
-	action = (_tmp6 = (_tmp5 = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->priv->_view_actions, name)), (_tmp5 == NULL ? NULL : g_object_ref (_tmp5))), (action == NULL ? NULL : (action = (g_object_unref (action), NULL))), _tmp6);
+	
+	key = entry->key;
+	g_return_if_fail (key);
+	
+	if (g_str_equal (key, SHOW_TRUST_KEY)) 
+		name = "view-trust";
+	else if (g_str_equal (key, SHOW_TYPE_KEY)) 
+		name = "view-type";
+	else if (g_str_equal (key, SHOW_EXPIRES_KEY)) 
+		name = "view-expires";
+	else if (g_str_equal (key, SHOW_VALIDITY_KEY)) 
+		name = "view-validity";
+	else
+		return;
+	
+	action = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->pv->view_actions, name));
 	g_return_if_fail (action != NULL);
+	
 	gtk_toggle_action_set_active (action, gconf_value_get_bool (entry->value));
-	(action == NULL ? NULL : (action = (g_object_unref (action), NULL)));
-	key = (g_free (key), NULL);
-	name = (g_free (name), NULL);
 }
 
 
-static gboolean seahorse_key_manager_fire_selection_changed (SeahorseKeyManager* self) {
-	gboolean selected;
-	gint rows;
-	GtkTreeView* _tmp0;
-	GtkTreeView* view;
-	gboolean dotracking;
-	guint tabid;
-	GQuark keyid;
-	gboolean _tmp3;
-	g_return_val_if_fail (SEAHORSE_IS_KEY_MANAGER (self), FALSE);
-	selected = FALSE;
-	rows = 0;
-	_tmp0 = NULL;
-	view = (_tmp0 = seahorse_key_manager_get_current_view (self), (_tmp0 == NULL ? NULL : g_object_ref (_tmp0)));
-	if (view != NULL) {
-		GtkTreeSelection* _tmp1;
-		GtkTreeSelection* selection;
-		_tmp1 = NULL;
-		selection = (_tmp1 = gtk_tree_view_get_selection (view), (_tmp1 == NULL ? NULL : g_object_ref (_tmp1)));
-		rows = gtk_tree_selection_count_selected_rows (selection);
-		selected = rows > 0;
-		(selection == NULL ? NULL : (selection = (g_object_unref (selection), NULL)));
-	}
-	dotracking = TRUE;
-	/* See which tab we're on, if different from previous, no tracking */
-	tabid = seahorse_key_manager_get_tab_id (self, seahorse_key_manager_get_tab_info (self, -1));
-	if (tabid != self->priv->_track_selected_tab) {
-		dotracking = FALSE;
-		self->priv->_track_selected_tab = tabid;
-	}
-	/* Retrieve currently tracked, and reset tracking */
-	keyid = self->priv->_track_selected_id;
-	self->priv->_track_selected_id = ((GQuark) (0));
-	/* no selection, see if selected key moved to another tab */
-	if (dotracking && rows == 0 && keyid != 0) {
-		SeahorseObject* _tmp2;
-		SeahorseObject* obj;
-		/* Find it */
-		_tmp2 = NULL;
-		obj = (_tmp2 = seahorse_context_find_object (seahorse_context_for_app (), keyid, SEAHORSE_LOCATION_LOCAL), (_tmp2 == NULL ? NULL : g_object_ref (_tmp2)));
-		if (obj != NULL) {
-			SeahorseKeyManagerTabInfo* tab;
-			/* If it's still around, then select it */
-			tab = seahorse_key_manager_get_tab_for_object (self, obj);
-			if (tab != NULL && tab != seahorse_key_manager_get_tab_info (self, -1)) {
-				/* Make sure we don't end up in a loop  */
-				g_assert (self->priv->_track_selected_id == 0);
-				seahorse_viewer_set_selected (SEAHORSE_VIEWER (self), obj);
-			}
-		}
-		(obj == NULL ? NULL : (obj = (g_object_unref (obj), NULL)));
-	}
-	if (selected) {
-		GList* objects;
-		seahorse_viewer_set_numbered_status (SEAHORSE_VIEWER (self), ngettext ("Selected %d key", "Selected %d keys", rows), rows);
-		objects = seahorse_viewer_get_selected_objects (SEAHORSE_VIEWER (self));
-		/* If one key is selected then mark it down for following across tabs */
-		if (((SeahorseObject*) (objects->data)) != NULL) {
-			self->priv->_track_selected_id = seahorse_object_get_id (((SeahorseObject*) (((SeahorseObject*) (objects->data)))));
-		}
-		(objects == NULL ? NULL : (objects = (g_list_free (objects), NULL)));
-	}
-	/* Fire the signal */
-	g_signal_emit_by_name (G_OBJECT (SEAHORSE_VIEW (self)), "selection-changed");
-	/* This is called as a one-time idle handler, return FALSE so we don't get run again */
-	return (_tmp3 = FALSE, (view == NULL ? NULL : (view = (g_object_unref (view), NULL))), _tmp3);
-}
-
 
-static void seahorse_key_manager_on_tab_changed (SeahorseKeyManager* self, GtkNotebook* notebook, void* unused, guint page_num) {
-	g_return_if_fail (SEAHORSE_IS_KEY_MANAGER (self));
-	g_return_if_fail (GTK_IS_NOTEBOOK (notebook));
-	gtk_entry_set_text (self->priv->_filter_entry, "");
-	/* Don't track the selected key when tab is changed on purpose */
-	self->priv->_track_selected_id = ((GQuark) (0));
-	seahorse_key_manager_fire_selection_changed (self);
-}
+static const GtkActionEntry GENERAL_ENTRIES[] = {
+	{ "remote-menu", NULL, N_("_Remote") }, 
+	{ "app-quit", GTK_STOCK_QUIT, N_("_Quit"), "<control>Q", 
+	  N_("Close this program"), G_CALLBACK (on_app_quit) }, 
+	{ "key-generate", GTK_STOCK_NEW, N_("_Create New Key..."), "<control>N", 
+	  N_("Create a new personal key"), G_CALLBACK (on_key_generate) }, 
+	{ "key-import-file", GTK_STOCK_OPEN, N_("_Import..."), "<control>I", 
+	  N_("Import keys into your key ring from a file"), G_CALLBACK (on_key_import_file) }, 
+	{ "key-import-clipboard", GTK_STOCK_PASTE, N_("Paste _Keys"), "<control>V", 
+	  N_("Import keys from the clipboard"), G_CALLBACK (on_key_import_clipboard) }
+};
 
+static const GtkActionEntry SERVER_ENTRIES[] = {
+	{ "remote-find", GTK_STOCK_FIND, N_("_Find Remote Keys..."), "", 
+	  N_("Search for keys on a key server"), G_CALLBACK (on_remote_find) }, 
+	{ "remote-sync", GTK_STOCK_REFRESH, N_("_Sync and Publish Keys..."), "", 
+	  N_("Publish and/or synchronize your keys with those online."), G_CALLBACK (on_remote_sync) }
+};
 
-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 const GtkToggleActionEntry VIEW_ENTRIES[] = {
+	{ "view-type", NULL, N_("T_ypes"), NULL, N_("Show type column"), 
+	  G_CALLBACK (on_view_type_activate), FALSE }, 
+	{ "view-expires", NULL, N_("_Expiry"), NULL, N_("Show expiry column"), 
+	  G_CALLBACK (on_view_expires_activate), FALSE }, 
+	{ "view-trust", NULL, N_("_Trust"), NULL, N_("Show owner trust column"), 
+	  G_CALLBACK (on_view_trust_activate), FALSE}, 
+	{ "view-validity", NULL, N_("_Validity"), NULL, N_("Show validity column"), 
+	  G_CALLBACK (on_view_validity_activate), FALSE }
+};
 
+/* -----------------------------------------------------------------------------
+ * OBJECT 
+ */
 
-static SeahorseObject* seahorse_key_manager_real_get_selected (SeahorseViewer* base) {
-	SeahorseKeyManager* self;
-	SeahorseKeyManagerTabInfo* tab;
-	self = SEAHORSE_KEY_MANAGER (base);
-	tab = seahorse_key_manager_get_tab_info (self, -1);
-	if (tab == NULL) {
+static GList* 
+seahorse_key_manager_get_selected_objects (SeahorseViewer* base) 
+{
+	SeahorseKeyManager *self = SEAHORSE_KEY_MANAGER (base); 
+	TabInfo* tab = get_tab_info (self, -1);
+	if (tab == NULL)
 		return NULL;
-	}
-	return seahorse_key_manager_store_get_selected_object ((*tab).view);
-}
-
-
-static void seahorse_key_manager_real_set_selected (SeahorseViewer* base, SeahorseObject* value) {
-	SeahorseKeyManager* self;
-	GList* objects;
-	self = SEAHORSE_KEY_MANAGER (base);
-	objects = NULL;
-	objects = g_list_prepend (objects, value);
-	seahorse_viewer_set_selected_objects (SEAHORSE_VIEWER (self), objects);
-	(objects == NULL ? NULL : (objects = (g_list_free (objects), NULL)));
-	g_object_notify (((GObject *) (self)), "selected");
-}
-
-
-static void _seahorse_key_manager_on_app_quit_gtk_action_activate (GtkAction* _sender, gpointer self) {
-	seahorse_key_manager_on_app_quit (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_key_generate_gtk_action_activate (GtkAction* _sender, gpointer self) {
-	seahorse_key_manager_on_key_generate (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_key_import_file_gtk_action_activate (GtkAction* _sender, gpointer self) {
-	seahorse_key_manager_on_key_import_file (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_key_import_clipboard_gtk_action_activate (GtkAction* _sender, gpointer self) {
-	seahorse_key_manager_on_key_import_clipboard (self, _sender);
+	return seahorse_key_manager_store_get_selected_objects (tab->view);
 }
 
+static void 
+seahorse_key_manager_set_selected_objects (SeahorseViewer* base, GList* objects) 
+{
+	SeahorseKeyManager *self = SEAHORSE_KEY_MANAGER (base);
+	GList** tab_lists;
+	GList *l;
+	gint i;
+	guint highest_matched;
+	TabInfo* highest_tab;
 
-static void _seahorse_key_manager_on_remote_find_gtk_action_activate (GtkAction* _sender, gpointer self) {
-	seahorse_key_manager_on_remote_find (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_remote_sync_gtk_action_activate (GtkAction* _sender, gpointer self) {
-	seahorse_key_manager_on_remote_sync (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_view_type_activate_gtk_action_activate (GtkToggleAction* _sender, gpointer self) {
-	seahorse_key_manager_on_view_type_activate (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_view_expires_activate_gtk_action_activate (GtkToggleAction* _sender, gpointer self) {
-	seahorse_key_manager_on_view_expires_activate (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_view_trust_activate_gtk_action_activate (GtkToggleAction* _sender, gpointer self) {
-	seahorse_key_manager_on_view_trust_activate (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_view_validity_activate_gtk_action_activate (GtkToggleAction* _sender, gpointer self) {
-	seahorse_key_manager_on_view_validity_activate (self, _sender);
-}
-
-
-static void _seahorse_key_manager_on_gconf_notify_gconf_client_notify_func (GConfClient* client, guint cnxn_id, GConfEntry* entry, gpointer self) {
-	seahorse_key_manager_on_gconf_notify (self, client, cnxn_id, entry);
-}
-
-
-static gboolean _seahorse_key_manager_on_delete_event_gtk_widget_delete_event (GtkWidget* _sender, GdkEvent* event, gpointer self) {
-	return seahorse_key_manager_on_delete_event (self, _sender, event);
-}
-
-
-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);
-}
-
+	tab_lists = g_new0 (GList*, TAB_NUM_TABS + 1);
+	
+	/* Break objects into what's on each tab */
+	for (l = objects; l; l = g_list_next (l)) {
+		SeahorseObject* obj = SEAHORSE_OBJECT (l->data);
+		TabInfo* tab = get_tab_for_object (self, obj);
+		if (tab == NULL) 
+			continue;
 
-static void _seahorse_key_manager_on_new_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
-	seahorse_key_manager_on_new_button_clicked (self, _sender);
+		g_assert (tab->id < TAB_NUM_TABS);
+		tab_lists[tab->id] = g_list_prepend (tab_lists[tab->id], obj);
+	}
+	
+	highest_matched = 0;
+	highest_tab = NULL;
+	
+	for (i = 0; i < TAB_NUM_TABS; ++i) {
+		GList* list = tab_lists[i];
+		TabInfo* tab = &self->pv->tabs[i];
+
+		/* Save away the tab that had the most objects */
+		guint num = g_list_length (list);
+		if (num > highest_matched) {
+			highest_matched = num;
+			highest_tab = tab;
+		}
+		
+		/* Select the objects on that tab */
+		seahorse_key_manager_store_set_selected_objects (tab->view, list);
+		
+		/* Free the broken down list */
+		g_list_free (list);
+	}
+	
+	g_free (tab_lists);
+	
+	/* Change to the tab with the most objects */
+	if (highest_tab != NULL)
+		set_tab_current (self, highest_tab);
 }
 
-
-static void _seahorse_key_manager_on_tab_changed_gtk_notebook_switch_page (GtkNotebook* _sender, void* page, guint page_num, gpointer self) {
-	seahorse_key_manager_on_tab_changed (self, _sender, page, page_num);
+static SeahorseObject* 
+seahorse_key_manager_get_selected (SeahorseViewer* base) 
+{
+	SeahorseKeyManager* self = SEAHORSE_KEY_MANAGER (base);
+	TabInfo* tab = get_tab_info (self, -1);
+	if (tab == NULL)
+		return NULL;
+	return seahorse_key_manager_store_get_selected_object (tab->view);
 }
 
-
-static void _seahorse_key_manager_on_filter_changed_gtk_editable_changed (GtkEntry* _sender, gpointer self) {
-	seahorse_key_manager_on_filter_changed (self, _sender);
+static void 
+seahorse_key_manager_set_selected (SeahorseViewer* base, SeahorseObject* value) 
+{
+	SeahorseKeyManager* self = SEAHORSE_KEY_MANAGER (base);
+	GList* objects = NULL; 
+	objects = g_list_prepend (objects, value);
+	seahorse_viewer_set_selected_objects (SEAHORSE_VIEWER (self), objects);
+	g_list_free (objects);
+	g_object_notify (G_OBJECT (self), "selected");
 }
 
 
-static void _seahorse_key_manager_on_target_drag_data_received_gtk_widget_drag_data_received (GtkWindow* _sender, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time_, gpointer self) {
-	seahorse_key_manager_on_target_drag_data_received (self, _sender, context, x, y, selection_data, info, time_);
-}
-
+static GObject* 
+seahorse_key_manager_constructor (GType type, guint n_props, GObjectConstructParam *props) 
+{
+	SeahorseKeyManager *self = SEAHORSE_KEY_MANAGER (G_OBJECT_CLASS (seahorse_key_manager_parent_class)->constructor(type, n_props, props));
+	GtkActionGroup* actions;
+	GtkToggleAction* action;
+	GtkTargetEntry* entries;
+	GtkTargetList* targets;
+	GtkWidget* widget;
 
-static gboolean _seahorse_key_manager_on_first_timer_gsource_func (gpointer self) {
-	return seahorse_key_manager_on_first_timer (self);
-}
+	g_return_val_if_fail (self, NULL);	
 
+	self->pv->tabs = g_new0 (TabInfo, TAB_NUM_TABS);
 
-static GObject * seahorse_key_manager_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
-	GObject * obj;
-	SeahorseKeyManagerClass * klass;
-	GObjectClass * parent_class;
-	SeahorseKeyManager * self;
-	klass = SEAHORSE_KEY_MANAGER_CLASS (g_type_class_peek (SEAHORSE_TYPE_KEY_MANAGER));
-	parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass));
-	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
-	self = SEAHORSE_KEY_MANAGER (obj);
-	{
-		SeahorseKeyManagerTabInfo* _tmp1;
-		gint _tmp0;
-		GtkNotebook* _tmp3;
-		GtkNotebook* _tmp2;
-		GtkActionGroup* actions;
-		GtkActionGroup* _tmp4;
-		GtkActionGroup* _tmp5;
-		GtkToggleAction* _tmp6;
-		GtkToggleAction* action;
-		GtkToggleAction* _tmp8;
-		GtkToggleAction* _tmp7;
-		GtkToggleAction* _tmp10;
-		GtkToggleAction* _tmp9;
-		GtkToggleAction* _tmp12;
-		GtkToggleAction* _tmp11;
-		GtkWidget* _tmp13;
-		GtkWidget* widget;
-		GtkWidget* _tmp19;
-		GtkWidget* _tmp18;
-		GtkTargetEntry* _tmp21;
-		gint entries_length1;
-		GtkTargetEntry* _tmp20;
-		GtkTargetEntry* entries;
-		GtkTargetList* targets;
-		_tmp1 = NULL;
-		self->priv->_tabs = (_tmp1 = g_new0 (SeahorseKeyManagerTabInfo, (_tmp0 = ((gint) (SEAHORSE_KEY_MANAGER_TABS_NUM_TABS)))), (self->priv->_tabs = (g_free (self->priv->_tabs), NULL)), self->priv->_tabs_length1 = _tmp0, _tmp1);
-		_tmp3 = NULL;
-		_tmp2 = NULL;
-		self->priv->_notebook = (_tmp3 = (_tmp2 = GTK_NOTEBOOK (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "notebook")), (_tmp2 == NULL ? NULL : g_object_ref (_tmp2))), (self->priv->_notebook == NULL ? NULL : (self->priv->_notebook = (g_object_unref (self->priv->_notebook), NULL))), _tmp3);
-		gtk_window_set_title (seahorse_viewer_get_window (SEAHORSE_VIEWER (self)), _ ("Passwords and Encryption Keys"));
-		/* 
-		 * We hook callbacks up here for now because of a compiler warning. See:
-		 * http://bugzilla.gnome.org/show_bug.cgi?id=539483
-		 */
-		actions = gtk_action_group_new ("general");
-		gtk_action_group_set_translation_domain (actions, GETTEXT_PACKAGE);
-		gtk_action_group_add_actions (actions, SEAHORSE_KEY_MANAGER_GENERAL_ENTRIES, G_N_ELEMENTS (SEAHORSE_KEY_MANAGER_GENERAL_ENTRIES), self);
-		g_signal_connect_object (gtk_action_group_get_action (actions, "app-quit"), "activate", ((GCallback) (_seahorse_key_manager_on_app_quit_gtk_action_activate)), self, 0);
-		g_signal_connect_object (gtk_action_group_get_action (actions, "key-generate"), "activate", ((GCallback) (_seahorse_key_manager_on_key_generate_gtk_action_activate)), self, 0);
-		g_signal_connect_object (gtk_action_group_get_action (actions, "key-import-file"), "activate", ((GCallback) (_seahorse_key_manager_on_key_import_file_gtk_action_activate)), self, 0);
-		g_signal_connect_object (gtk_action_group_get_action (actions, "key-import-clipboard"), "activate", ((GCallback) (_seahorse_key_manager_on_key_import_clipboard_gtk_action_activate)), self, 0);
-		seahorse_viewer_include_actions (SEAHORSE_VIEWER (self), actions);
-		_tmp4 = NULL;
-		actions = (_tmp4 = gtk_action_group_new ("keyserver"), (actions == NULL ? NULL : (actions = (g_object_unref (actions), NULL))), _tmp4);
-		gtk_action_group_set_translation_domain (actions, GETTEXT_PACKAGE);
-		gtk_action_group_add_actions (actions, SEAHORSE_KEY_MANAGER_SERVER_ENTRIES, G_N_ELEMENTS (SEAHORSE_KEY_MANAGER_SERVER_ENTRIES), self);
-		g_signal_connect_object (gtk_action_group_get_action (actions, "remote-find"), "activate", ((GCallback) (_seahorse_key_manager_on_remote_find_gtk_action_activate)), self, 0);
-		g_signal_connect_object (gtk_action_group_get_action (actions, "remote-sync"), "activate", ((GCallback) (_seahorse_key_manager_on_remote_sync_gtk_action_activate)), self, 0);
-		seahorse_viewer_include_actions (SEAHORSE_VIEWER (self), actions);
-		_tmp5 = NULL;
-		self->priv->_view_actions = (_tmp5 = gtk_action_group_new ("view"), (self->priv->_view_actions == NULL ? NULL : (self->priv->_view_actions = (g_object_unref (self->priv->_view_actions), NULL))), _tmp5);
-		gtk_action_group_set_translation_domain (self->priv->_view_actions, GETTEXT_PACKAGE);
-		gtk_action_group_add_toggle_actions (self->priv->_view_actions, SEAHORSE_KEY_MANAGER_VIEW_ENTRIES, G_N_ELEMENTS (SEAHORSE_KEY_MANAGER_VIEW_ENTRIES), self);
-		_tmp6 = NULL;
-		action = (_tmp6 = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->priv->_view_actions, "view-type")), (_tmp6 == NULL ? NULL : g_object_ref (_tmp6)));
-		gtk_toggle_action_set_active (action, seahorse_gconf_get_boolean (SHOW_TYPE_KEY));
-		g_signal_connect_object (GTK_ACTION (action), "activate", ((GCallback) (_seahorse_key_manager_on_view_type_activate_gtk_action_activate)), self, 0);
-		_tmp8 = NULL;
-		_tmp7 = NULL;
-		action = (_tmp8 = (_tmp7 = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->priv->_view_actions, "view-expires")), (_tmp7 == NULL ? NULL : g_object_ref (_tmp7))), (action == NULL ? NULL : (action = (g_object_unref (action), NULL))), _tmp8);
-		gtk_toggle_action_set_active (action, seahorse_gconf_get_boolean (SHOW_EXPIRES_KEY));
-		g_signal_connect_object (GTK_ACTION (action), "activate", ((GCallback) (_seahorse_key_manager_on_view_expires_activate_gtk_action_activate)), self, 0);
-		_tmp10 = NULL;
-		_tmp9 = NULL;
-		action = (_tmp10 = (_tmp9 = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->priv->_view_actions, "view-trust")), (_tmp9 == NULL ? NULL : g_object_ref (_tmp9))), (action == NULL ? NULL : (action = (g_object_unref (action), NULL))), _tmp10);
-		gtk_toggle_action_set_active (action, seahorse_gconf_get_boolean (SHOW_TRUST_KEY));
-		g_signal_connect_object (GTK_ACTION (action), "activate", ((GCallback) (_seahorse_key_manager_on_view_trust_activate_gtk_action_activate)), self, 0);
-		_tmp12 = NULL;
-		_tmp11 = NULL;
-		action = (_tmp12 = (_tmp11 = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->priv->_view_actions, "view-validity")), (_tmp11 == NULL ? NULL : g_object_ref (_tmp11))), (action == NULL ? NULL : (action = (g_object_unref (action), NULL))), _tmp12);
-		gtk_toggle_action_set_active (action, seahorse_gconf_get_boolean (SHOW_VALIDITY_KEY));
-		g_signal_connect_object (GTK_ACTION (action), "activate", ((GCallback) (_seahorse_key_manager_on_view_validity_activate_gtk_action_activate)), self, 0);
-		seahorse_viewer_include_actions (SEAHORSE_VIEWER (self), self->priv->_view_actions);
-		/* Notify us when gconf stuff changes under this key */
-		seahorse_gconf_notify_lazy (LISTING_SCHEMAS, _seahorse_key_manager_on_gconf_notify_gconf_client_notify_func, self, GTK_OBJECT (self));
-		/* 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 */
-		g_signal_connect_object (self->priv->_notebook, "switch-page", ((GCallback) (_seahorse_key_manager_on_tab_changed_gtk_notebook_switch_page)), self, 0);
-		/* Flush all updates */
-		seahorse_viewer_ensure_updated (SEAHORSE_VIEWER (self));
-		/* Find the toolbar */
-		_tmp13 = NULL;
-		widget = (_tmp13 = seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "toolbar-placeholder"), (_tmp13 == NULL ? NULL : g_object_ref (_tmp13)));
-		if (widget != NULL) {
-			GList* children;
-			children = gtk_container_get_children ((GTK_CONTAINER (widget)));
-			if (children != NULL && ((SeahorseWidget*) (children->data)) != NULL) {
-				GtkToolbar* _tmp14;
-				GtkToolbar* toolbar;
-				/* The toolbar is the first (and only) element */
-				_tmp14 = NULL;
-				toolbar = (_tmp14 = GTK_TOOLBAR (((SeahorseWidget*) (((SeahorseWidget*) (children->data))))), (_tmp14 == NULL ? NULL : g_object_ref (_tmp14)));
-				if (toolbar != NULL && G_TYPE_FROM_INSTANCE (G_OBJECT (toolbar)) == GTK_TYPE_TOOLBAR) {
-					GtkSeparatorToolItem* sep;
-					GtkBox* box;
-					GtkLabel* _tmp15;
-					GtkEntry* _tmp16;
-					GtkLabel* _tmp17;
-					GtkToolItem* item;
-					/* Insert a separator to right align the filter */
-					sep = g_object_ref_sink (((GtkSeparatorToolItem*) (gtk_separator_tool_item_new ())));
-					gtk_separator_tool_item_set_draw (sep, FALSE);
-					gtk_tool_item_set_expand (GTK_TOOL_ITEM (sep), TRUE);
-					gtk_widget_show_all (GTK_WIDGET (sep));
-					gtk_toolbar_insert (toolbar, GTK_TOOL_ITEM (sep), -1);
-					/* Insert a filter bar */
-					box = GTK_BOX (g_object_ref_sink (((GtkHBox*) (gtk_hbox_new (FALSE, 0)))));
-					_tmp15 = NULL;
-					gtk_box_pack_start (box, GTK_WIDGET ((_tmp15 = g_object_ref_sink (((GtkLabel*) (gtk_label_new (_ ("Filter:"))))))), FALSE, TRUE, ((guint) (3)));
-					(_tmp15 == NULL ? NULL : (_tmp15 = (g_object_unref (_tmp15), NULL)));
-					_tmp16 = NULL;
-					self->priv->_filter_entry = (_tmp16 = g_object_ref_sink (((GtkEntry*) (gtk_entry_new ()))), (self->priv->_filter_entry == NULL ? NULL : (self->priv->_filter_entry = (g_object_unref (self->priv->_filter_entry), NULL))), _tmp16);
-					gtk_box_pack_start (box, GTK_WIDGET (self->priv->_filter_entry), FALSE, TRUE, ((guint) (0)));
-					_tmp17 = NULL;
-					gtk_box_pack_start (box, GTK_WIDGET ((_tmp17 = g_object_ref_sink (((GtkLabel*) (gtk_label_new (NULL)))))), FALSE, FALSE, ((guint) (0)));
-					(_tmp17 == NULL ? NULL : (_tmp17 = (g_object_unref (_tmp17), NULL)));
-					gtk_widget_show_all (GTK_WIDGET (box));
-					item = g_object_ref_sink (gtk_tool_item_new ());
-					gtk_container_add (GTK_CONTAINER (item), GTK_WIDGET (box));
-					gtk_widget_show_all (GTK_WIDGET (item));
-					gtk_toolbar_insert (toolbar, item, -1);
-					(sep == NULL ? NULL : (sep = (g_object_unref (sep), NULL)));
-					(box == NULL ? NULL : (box = (g_object_unref (box), NULL)));
-					(item == NULL ? NULL : (item = (g_object_unref (item), NULL)));
-				}
-				(toolbar == NULL ? NULL : (toolbar = (g_object_unref (toolbar), NULL)));
+	self->pv->notebook = GTK_NOTEBOOK (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "notebook"));
+	gtk_window_set_title (seahorse_viewer_get_window (SEAHORSE_VIEWER (self)), _("Passwords and Encryption Keys"));
+	
+	actions = gtk_action_group_new ("general");
+	gtk_action_group_set_translation_domain (actions, GETTEXT_PACKAGE);
+	gtk_action_group_add_actions (actions, GENERAL_ENTRIES, G_N_ELEMENTS (GENERAL_ENTRIES), self);
+	seahorse_viewer_include_actions (SEAHORSE_VIEWER (self), actions);
+	
+	actions = gtk_action_group_new ("keyserver");
+	gtk_action_group_set_translation_domain (actions, GETTEXT_PACKAGE);
+	gtk_action_group_add_actions (actions, SERVER_ENTRIES, G_N_ELEMENTS (SERVER_ENTRIES), self);
+	seahorse_viewer_include_actions (SEAHORSE_VIEWER (self), actions);
+	
+	self->pv->view_actions = gtk_action_group_new ("view");
+	gtk_action_group_set_translation_domain (self->pv->view_actions, GETTEXT_PACKAGE);
+	gtk_action_group_add_toggle_actions (self->pv->view_actions, VIEW_ENTRIES, G_N_ELEMENTS (VIEW_ENTRIES), self);
+	action = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->pv->view_actions, "view-type"));
+	gtk_toggle_action_set_active (action, seahorse_gconf_get_boolean (SHOW_TYPE_KEY));
+	action = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->pv->view_actions, "view-expires"));
+	gtk_toggle_action_set_active (action, seahorse_gconf_get_boolean (SHOW_EXPIRES_KEY));
+	action = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->pv->view_actions, "view-trust"));
+	gtk_toggle_action_set_active (action, seahorse_gconf_get_boolean (SHOW_TRUST_KEY));
+	action = GTK_TOGGLE_ACTION (gtk_action_group_get_action (self->pv->view_actions, "view-validity"));
+	gtk_toggle_action_set_active (action, seahorse_gconf_get_boolean (SHOW_VALIDITY_KEY));
+	seahorse_viewer_include_actions (SEAHORSE_VIEWER (self), self->pv->view_actions);
+	
+	/* Notify us when gconf stuff changes under this key */
+	seahorse_gconf_notify_lazy (LISTING_SCHEMAS, (GConfClientNotifyFunc)on_gconf_notify, self, GTK_OBJECT (self));
+	
+	/* close event */
+	g_signal_connect_object (seahorse_widget_get_toplevel (SEAHORSE_WIDGET (self)), 
+	                         "delete-event", G_CALLBACK (on_delete_event), self, 0);
+	
+	/* first time signals */
+	g_signal_connect_object (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "help-button"), 
+	                         "clicked", G_CALLBACK (on_help_show), self, 0);
+	g_signal_connect_object (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "import-button"), 
+	                         "clicked", G_CALLBACK (on_import_button_clicked), self, 0);
+	g_signal_connect_object (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "new-button"), 
+	                         "clicked", G_CALLBACK (on_new_button_clicked), self, 0);
+	
+	/* The notebook */
+	g_signal_connect_object (self->pv->notebook, "switch-page", G_CALLBACK (on_tab_changed), self, 0);
+	
+	/* Flush all updates */
+	seahorse_viewer_ensure_updated (SEAHORSE_VIEWER (self));
+	
+	/* Find the toolbar */
+	widget = seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "toolbar-placeholder");
+	if (widget != NULL) {
+		GList* children = gtk_container_get_children ((GTK_CONTAINER (widget)));
+		if (children != NULL && children->data != NULL) {
+			GtkToolbar* toolbar;
+
+			/* The toolbar is the first (and only) element */
+			toolbar = GTK_TOOLBAR (children->data);
+			if (toolbar != NULL && G_TYPE_FROM_INSTANCE (G_OBJECT (toolbar)) == GTK_TYPE_TOOLBAR) {
+				GtkSeparatorToolItem* sep;
+				GtkBox* box;
+				GtkToolItem* item;
+				
+				/* Insert a separator to right align the filter */
+				sep = GTK_SEPARATOR_TOOL_ITEM (gtk_separator_tool_item_new ());
+				gtk_separator_tool_item_set_draw (sep, FALSE);
+				gtk_tool_item_set_expand (GTK_TOOL_ITEM (sep), TRUE);
+				gtk_widget_show_all (GTK_WIDGET (sep));
+				gtk_toolbar_insert (toolbar, GTK_TOOL_ITEM (sep), -1);
+				
+				/* Insert a filter bar */
+				box = GTK_BOX (gtk_hbox_new (FALSE, 0));
+				gtk_box_pack_start (box, GTK_WIDGET (gtk_label_new (_("Filter:"))), FALSE, TRUE, 3);
+				
+				self->pv->filter_entry = GTK_ENTRY (gtk_entry_new ());
+				gtk_box_pack_start (box, GTK_WIDGET (self->pv->filter_entry), FALSE, TRUE, 0);
+
+				gtk_box_pack_start (box, gtk_label_new (NULL), FALSE, FALSE, 0);
+				gtk_widget_show_all (GTK_WIDGET (box));
+				
+				item = gtk_tool_item_new ();
+				gtk_container_add (GTK_CONTAINER (item), GTK_WIDGET (box));
+				gtk_widget_show_all (GTK_WIDGET (item));
+				gtk_toolbar_insert (toolbar, item, -1);
 			}
 		}
-		/* For the filtering */
-		g_signal_connect_object (GTK_EDITABLE (self->priv->_filter_entry), "changed", ((GCallback) (_seahorse_key_manager_on_filter_changed_gtk_editable_changed)), self, 0);
-		/* Initialize the tabs, and associate them up */
-		seahorse_key_manager_initialize_tab (self, "pub-key-tab", ((guint) (SEAHORSE_KEY_MANAGER_TABS_PUBLIC)), "pub-key-list", &SEAHORSE_KEY_MANAGER_PRED_PUBLIC);
-		seahorse_key_manager_initialize_tab (self, "trust-key-tab", ((guint) (SEAHORSE_KEY_MANAGER_TABS_TRUSTED)), "trust-key-list", &SEAHORSE_KEY_MANAGER_PRED_TRUSTED);
-		seahorse_key_manager_initialize_tab (self, "sec-key-tab", ((guint) (SEAHORSE_KEY_MANAGER_TABS_PRIVATE)), "sec-key-list", &SEAHORSE_KEY_MANAGER_PRED_PRIVATE);
-		seahorse_key_manager_initialize_tab (self, "password-tab", ((guint) (SEAHORSE_KEY_MANAGER_TABS_PASSWORD)), "password-list", &SEAHORSE_KEY_MANAGER_PRED_PASSWORD);
-		/* Set focus to the current key list */
-		_tmp19 = NULL;
-		_tmp18 = NULL;
-		widget = (_tmp19 = (_tmp18 = GTK_WIDGET (seahorse_key_manager_get_current_view (self)), (_tmp18 == NULL ? NULL : g_object_ref (_tmp18))), (widget == NULL ? NULL : (widget = (g_object_unref (widget), NULL))), _tmp19);
-		gtk_widget_grab_focus (widget);
-		/* To avoid flicker */
-		seahorse_widget_show (SEAHORSE_WIDGET (SEAHORSE_VIEWER (self)));
-		/* Setup drops */
-		_tmp21 = NULL;
-		_tmp20 = NULL;
-		entries = (_tmp21 = (_tmp20 = g_new0 (GtkTargetEntry, 0), _tmp20), entries_length1 = 0, _tmp21);
-		gtk_drag_dest_set (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), GTK_DEST_DEFAULT_ALL, entries, entries_length1, GDK_ACTION_COPY);
-		targets = gtk_target_list_new (entries, ((guint) (0)));
-		gtk_target_list_add_uri_targets (targets, ((guint) (SEAHORSE_KEY_MANAGER_TARGETS_URIS)));
-		gtk_target_list_add_text_targets (targets, ((guint) (SEAHORSE_KEY_MANAGER_TARGETS_PLAIN)));
-		gtk_drag_dest_set_target_list (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), targets);
-		g_signal_connect_object (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), "drag-data-received", ((GCallback) (_seahorse_key_manager_on_target_drag_data_received_gtk_widget_drag_data_received)), self, 0);
-		/* To show first time dialog */
-		g_timeout_add_seconds (((guint) (1)), _seahorse_key_manager_on_first_timer_gsource_func, self);
-		g_signal_emit_by_name (G_OBJECT (SEAHORSE_VIEW (self)), "selection-changed");
-		(actions == NULL ? NULL : (actions = (g_object_unref (actions), NULL)));
-		(action == NULL ? NULL : (action = (g_object_unref (action), NULL)));
-		(widget == NULL ? NULL : (widget = (g_object_unref (widget), NULL)));
-		entries = (g_free (entries), NULL);
-		(targets == NULL ? NULL : (targets = (gtk_target_list_unref (targets), NULL)));
 	}
-	return obj;
-}
+	
+	/* For the filtering */
+	g_signal_connect_object (GTK_EDITABLE (self->pv->filter_entry), "changed", 
+	                         G_CALLBACK (on_filter_changed), self, 0);
+	
+	/* Initialize the tabs, and associate them up */
+	initialize_tab (self, "pub-key-tab", TAB_PUBLIC, "pub-key-list", &PRED_PUBLIC);
+	initialize_tab (self, "trust-key-tab", TAB_TRUSTED, "trust-key-list", &PRED_TRUSTED);
+	initialize_tab (self, "sec-key-tab", TAB_PRIVATE, "sec-key-list", &PRED_PRIVATE);
+	initialize_tab (self, "password-tab", TAB_PASSWORD, "password-list", &PRED_PASSWORD);
+	
+	/* Set focus to the current key list */
+	widget = GTK_WIDGET (get_current_view (self));
+	gtk_widget_grab_focus (widget);
+	
+	/* To avoid flicker */
+	seahorse_widget_show (SEAHORSE_WIDGET (SEAHORSE_VIEWER (self)));
+	
+	/* Setup drops */
+	gtk_drag_dest_set (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), 
+	                   GTK_DEST_DEFAULT_ALL, NULL, 0, GDK_ACTION_COPY);
+	targets = gtk_target_list_new (entries, 0);
+	gtk_target_list_add_uri_targets (targets, TARGETS_URIS);
+	gtk_target_list_add_text_targets (targets, TARGETS_PLAIN);
+	gtk_drag_dest_set_target_list (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), targets);
+	
+	g_signal_connect_object (seahorse_viewer_get_window (SEAHORSE_VIEWER (self)), "drag-data-received", 
+	                         G_CALLBACK (on_target_drag_data_received), self, 0);
+	
+	/* To show first time dialog */
+	g_timeout_add_seconds (1, (GSourceFunc)on_first_timer, self);
+	
+	g_signal_emit_by_name (self, "selection-changed");
+
+	return G_OBJECT (self);
+}
+
+static void
+seahorse_key_manager_init (SeahorseKeyManager *self)
+{
+	self->pv = G_TYPE_INSTANCE_GET_PRIVATE (self, SEAHORSE_TYPE_KEY_MANAGER, SeahorseKeyManagerPrivate);
+
+}
+
+static void
+seahorse_key_manager_finalize (GObject *obj)
+{
+	SeahorseKeyManager *self = SEAHORSE_KEY_MANAGER (obj);
+	gint i;
+	
+	if (self->pv->notebook)
+		g_object_unref (self->pv->notebook);
+	self->pv->notebook = NULL;
+	
+	if (self->pv->view_actions)
+		g_object_unref (self->pv->view_actions);
+	self->pv->view_actions = NULL;
+	
+	self->pv->filter_entry = NULL;
+	
+	if (self->pv->tabs) {
+		for (i = 0; i < TAB_NUM_TABS; ++i) {
+			if (self->pv->tabs[i].store)
+				g_object_unref (self->pv->tabs[i].store);
+			if (self->pv->tabs[i].objects)
+				g_object_unref (self->pv->tabs[i].objects);
+		}
+		g_free (self->pv->tabs);
+		self->pv->tabs = NULL;
+	}
 
+	G_OBJECT_CLASS (seahorse_key_manager_parent_class)->finalize (obj);
+}
 
-static void seahorse_key_manager_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
-	SeahorseKeyManager * self;
-	self = SEAHORSE_KEY_MANAGER (object);
-	switch (property_id) {
-		case SEAHORSE_KEY_MANAGER_SELECTED:
-		g_value_set_object (value, seahorse_viewer_get_selected (SEAHORSE_VIEWER (self)));
+static void
+seahorse_key_manager_set_property (GObject *obj, guint prop_id, const GValue *value, 
+                           GParamSpec *pspec)
+{
+	SeahorseKeyManager *self = SEAHORSE_KEY_MANAGER (obj);
+	
+	switch (prop_id) {
+	case PROP_SELECTED:
+		seahorse_viewer_set_selected (SEAHORSE_VIEWER (self), g_value_get_object (value));
 		break;
-		default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+	default:
+		G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec);
 		break;
 	}
 }
 
-
-static void seahorse_key_manager_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
-	SeahorseKeyManager * self;
-	self = SEAHORSE_KEY_MANAGER (object);
-	switch (property_id) {
-		case SEAHORSE_KEY_MANAGER_SELECTED:
-		seahorse_viewer_set_selected (SEAHORSE_VIEWER (self), g_value_get_object (value));
+static void
+seahorse_key_manager_get_property (GObject *obj, guint prop_id, GValue *value, 
+                           GParamSpec *pspec)
+{
+	SeahorseKeyManager *self = SEAHORSE_KEY_MANAGER (obj);
+	
+	switch (prop_id) {
+	case PROP_SELECTED:
+		g_value_set_object (value, seahorse_viewer_get_selected (SEAHORSE_VIEWER (self)));
 		break;
-		default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+	default:
+		G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec);
 		break;
 	}
 }
 
-
-static void seahorse_key_manager_class_init (SeahorseKeyManagerClass * klass) {
+static void
+seahorse_key_manager_class_init (SeahorseKeyManagerClass *klass)
+{
+	GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+    
 	seahorse_key_manager_parent_class = g_type_class_peek_parent (klass);
 	g_type_class_add_private (klass, sizeof (SeahorseKeyManagerPrivate));
-	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)->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_instance_init (SeahorseKeyManager * self) {
-	self->priv = SEAHORSE_KEY_MANAGER_GET_PRIVATE (self);
-}
 
+	gobject_class->constructor = seahorse_key_manager_constructor;
+	gobject_class->finalize = seahorse_key_manager_finalize;
+	gobject_class->set_property = seahorse_key_manager_set_property;
+	gobject_class->get_property = seahorse_key_manager_get_property;
+    
+	SEAHORSE_VIEWER_CLASS (klass)->get_selected_objects = seahorse_key_manager_get_selected_objects;
+	SEAHORSE_VIEWER_CLASS (klass)->set_selected_objects = seahorse_key_manager_set_selected_objects;
+	SEAHORSE_VIEWER_CLASS (klass)->get_selected = seahorse_key_manager_get_selected;
+	SEAHORSE_VIEWER_CLASS (klass)->set_selected = seahorse_key_manager_set_selected;
 
-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)->finalize (obj);
+	g_object_class_override_property (G_OBJECT_CLASS (klass), PROP_SELECTED, "selected");
 }
 
-
-GType seahorse_key_manager_get_type (void) {
-	static GType 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 };
-		seahorse_key_manager_type_id = g_type_register_static (SEAHORSE_TYPE_VIEWER, "SeahorseKeyManager", &g_define_type_info, 0);
-	}
-	return seahorse_key_manager_type_id;
-}
-
-
-static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
-	if (array != NULL && destroy_func != NULL) {
-		int i;
-		if (array_length >= 0)
-		for (i = 0; i < array_length; i = i + 1) {
-			if (((gpointer*) (array))[i] != NULL)
-			destroy_func (((gpointer*) (array))[i]);
-		}
-		else
-		for (i = 0; ((gpointer*) (array))[i] != NULL; i = i + 1) {
-			destroy_func (((gpointer*) (array))[i]);
-		}
-	}
-	g_free (array);
-}
+/* -----------------------------------------------------------------------------
+ * PUBLIC 
+ */
 
 
-static int _vala_strcmp0 (const char * str1, const char * str2) {
-	if (str1 == NULL) {
-		return -(str1 != str2);
-	}
-	if (str2 == NULL) {
-		return (str1 != str2);
-	}
-	return strcmp (str1, str2);
+GtkWindow* 
+seahorse_key_manager_show (SeahorseOperation* op) 
+{
+	SeahorseKeyManager *man = g_object_new (SEAHORSE_TYPE_KEY_MANAGER, "name", "key-manager", NULL);
+	seahorse_progress_status_set_operation (SEAHORSE_WIDGET (man), op);
+	return GTK_WINDOW (seahorse_widget_get_toplevel (SEAHORSE_WIDGET (man)));
 }
-
-
-
-

Modified: trunk/src/seahorse-key-manager.h
==============================================================================
--- trunk/src/seahorse-key-manager.h	(original)
+++ trunk/src/seahorse-key-manager.h	Sun Dec 14 21:09:22 2008
@@ -24,20 +24,19 @@
 
 #include <glib.h>
 #include <glib-object.h>
-#include <seahorse-viewer.h>
 #include <gtk/gtk.h>
-#include <seahorse-operation.h>
-#include <seahorse-object.h>
+
+#include "seahorse-viewer.h"
 
 G_BEGIN_DECLS
 
 
-#define SEAHORSE_TYPE_KEY_MANAGER (seahorse_key_manager_get_type ())
-#define SEAHORSE_KEY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_KEY_MANAGER, SeahorseKeyManager))
-#define SEAHORSE_KEY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_KEY_MANAGER, SeahorseKeyManagerClass))
-#define SEAHORSE_IS_KEY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_KEY_MANAGER))
-#define SEAHORSE_IS_KEY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_KEY_MANAGER))
-#define SEAHORSE_KEY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_KEY_MANAGER, SeahorseKeyManagerClass))
+#define SEAHORSE_TYPE_KEY_MANAGER 	      (seahorse_key_manager_get_type ())
+#define SEAHORSE_KEY_MANAGER(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_KEY_MANAGER, SeahorseKeyManager))
+#define SEAHORSE_KEY_MANAGER_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_KEY_MANAGER, SeahorseKeyManagerClass))
+#define SEAHORSE_IS_KEY_MANAGER(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_KEY_MANAGER))
+#define SEAHORSE_IS_KEY_MANAGER_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_KEY_MANAGER))
+#define SEAHORSE_KEY_MANAGER_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_KEY_MANAGER, SeahorseKeyManagerClass))
 
 typedef struct _SeahorseKeyManager SeahorseKeyManager;
 typedef struct _SeahorseKeyManagerClass SeahorseKeyManagerClass;
@@ -45,7 +44,7 @@
 
 struct _SeahorseKeyManager {
 	SeahorseViewer parent_instance;
-	SeahorseKeyManagerPrivate * priv;
+	SeahorseKeyManagerPrivate *pv;
 };
 
 struct _SeahorseKeyManagerClass {
@@ -57,8 +56,8 @@
  * logic throughout this file. 
  */
 
-GtkWindow* seahorse_key_manager_show (SeahorseOperation* op);
-GType seahorse_key_manager_get_type (void);
+GtkWindow*       seahorse_key_manager_show         (SeahorseOperation *op);
+GType            seahorse_key_manager_get_type     (void);
 
 
 G_END_DECLS



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