pidgin/pidginapplication.c

changeset 41310
53e4815ef254
parent 41307
685bab46fad2
child 41314
0dc72eacd8bf
equal deleted inserted replaced
41309:f33f4713508b 41310:53e4815ef254
40 #include "gtkdialogs.h" 40 #include "gtkdialogs.h"
41 #include "gtkprivacy.h" 41 #include "gtkprivacy.h"
42 #include "gtkroomlist.h" 42 #include "gtkroomlist.h"
43 #include "gtkxfer.h" 43 #include "gtkxfer.h"
44 #include "pidginabout.h" 44 #include "pidginabout.h"
45 #include "pidginaccountmanager.h"
45 #include "pidginaccountsdisabledmenu.h" 46 #include "pidginaccountsdisabledmenu.h"
46 #include "pidginaccountsenabledmenu.h" 47 #include "pidginaccountsenabledmenu.h"
47 #include "pidginconversationwindow.h" 48 #include "pidginconversationwindow.h"
48 #include "pidgincore.h" 49 #include "pidgincore.h"
49 #include "pidgindebug.h" 50 #include "pidgindebug.h"
229 230
230 static void 231 static void
231 pidgin_application_accounts(GSimpleAction *simple, GVariant *parameter, 232 pidgin_application_accounts(GSimpleAction *simple, GVariant *parameter,
232 gpointer data) 233 gpointer data)
233 { 234 {
234 pidgin_accounts_window_show(); 235 static GtkWidget *manager = NULL;
236
237 if(!GTK_IS_WIDGET(manager)) {
238 manager = pidgin_account_manager_new();
239 g_object_add_weak_pointer(G_OBJECT(manager), (gpointer)&manager);
240 }
241
242
243 gtk_window_present_with_time(GTK_WINDOW(manager), GDK_CURRENT_TIME);
235 } 244 }
236 245
237 static void 246 static void
238 pidgin_application_add_buddy(GSimpleAction *simple, GVariant *parameter, 247 pidgin_application_add_buddy(GSimpleAction *simple, GVariant *parameter,
239 gpointer data) 248 gpointer data)
720 } 729 }
721 730
722 manager = purple_account_manager_get_default(); 731 manager = purple_account_manager_get_default();
723 active_accounts = purple_account_manager_get_active(manager); 732 active_accounts = purple_account_manager_get_active(manager);
724 if(active_accounts == NULL) { 733 if(active_accounts == NULL) {
725 pidgin_accounts_window_show(); 734 g_action_group_activate_action(G_ACTION_GROUP(application),
735 "manage-accounts", NULL);
726 } else { 736 } else {
727 g_list_free(active_accounts); 737 g_list_free(active_accounts);
728 } 738 }
729 739
730 /* Populate our dynamic menus. */ 740 /* Populate our dynamic menus. */

mercurial