diff finch/gntaccount.c @ 20469:9e5bb492fc18

propagate from branch 'im.pidgin.pidgin' (head d565f6901d390d091fab30d0bd923fa36c335da2) to branch 'im.pidgin.cpw.khc.msnp14' (head aacb44d1de5f72f3c7d8d2e231432581f5c09dd7)
author Carlos Silva <typ0@pidgin.im>
date Sat, 14 Jul 2007 18:36:34 +0000
parents 15f0c935e699
children 7a594763c229
line wrap: on
line diff
--- a/finch/gntaccount.c	Sat Jul 14 18:13:59 2007 +0000
+++ b/finch/gntaccount.c	Sat Jul 14 18:36:34 2007 +0000
@@ -31,6 +31,7 @@
 #include <gntlabel.h>
 #include <gntline.h>
 #include <gnttree.h>
+#include <gntutils.h>
 #include <gntwindow.h>
 
 #include "finch.h"
@@ -472,6 +473,14 @@
 		}
 	}
 
+	list = purple_plugins_get_protocols();
+	if (list == NULL) {
+		purple_notify_error(NULL, _("Error"),
+				_("There's no protocol plugins installed."),
+				_("(You probably forgot to 'make install'.)"));
+		return;
+	}
+
 	dialog = g_new0(AccountEditDialog, 1);
 	accountdialogs = g_list_prepend(accountdialogs, dialog);
 
@@ -489,7 +498,6 @@
 	gnt_box_add_widget(GNT_BOX(window), hbox);
 
 	dialog->protocol = combo = gnt_combo_box_new();
-	list = purple_plugins_get_protocols();
 	for (iter = list; iter; iter = iter->next)
 	{
 		gnt_combo_box_add_data(GNT_COMBO_BOX(combo), iter->data,
@@ -645,8 +653,10 @@
 	GList *iter;
 	GntWidget *box, *button;
 
-	if (accounts.window)
+	if (accounts.window) {
+		gnt_window_present(accounts.window);
 		return;
+	}
 
 	accounts.window = gnt_vbox_new(FALSE);
 	gnt_box_set_toplevel(GNT_BOX(accounts.window), TRUE);
@@ -681,6 +691,7 @@
 
 	button = gnt_button_new(_("Add"));
 	gnt_box_add_widget(GNT_BOX(box), button);
+	gnt_util_set_trigger_widget(GNT_WIDGET(accounts.tree), GNT_KEY_INS, button);
 	g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(add_account_cb), NULL);
 
 	button = gnt_button_new(_("Modify"));
@@ -689,6 +700,7 @@
 
 	button = gnt_button_new(_("Delete"));
 	gnt_box_add_widget(GNT_BOX(box), button);
+	gnt_util_set_trigger_widget(GNT_WIDGET(accounts.tree), GNT_KEY_DEL, button);
 	g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(delete_account_cb), accounts.tree);
 	
 	gnt_box_add_widget(GNT_BOX(accounts.window), box);