Mercurial > pidgin
comparison src/gtkaccount.c @ 5617:feb012e01741
[gaim-migrate @ 6024]
Close button works.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sat, 31 May 2003 18:55:17 +0000 |
parents | 6500a6c8d679 |
children | c9724982ce45 |
comparison
equal
deleted
inserted
replaced
5616:ba870ac49bfc | 5617:feb012e01741 |
---|---|
58 | 58 |
59 return ((p && p->info->name) ? _(p->info->name) : _("Unknown")); | 59 return ((p && p->info->name) ? _(p->info->name) : _("Unknown")); |
60 } | 60 } |
61 | 61 |
62 static void | 62 static void |
63 __account_signed_on_cb(GaimConnection *gc, AccountsDialog *dialog) | |
64 { | |
65 | |
66 } | |
67 | |
68 static void | |
69 __signed_on_off_cb(GaimConnection *gc, AccountsDialog *dialog) | 63 __signed_on_off_cb(GaimConnection *gc, AccountsDialog *dialog) |
70 { | 64 { |
71 GaimAccount *account = gaim_connection_get_account(gc); | 65 GaimAccount *account = gaim_connection_get_account(gc); |
72 GtkTreeModel *model = GTK_TREE_MODEL(dialog->model); | 66 GtkTreeModel *model = GTK_TREE_MODEL(dialog->model); |
73 GtkTreeIter iter; | 67 GtkTreeIter iter; |
79 -1); | 73 -1); |
80 } | 74 } |
81 } | 75 } |
82 | 76 |
83 static gint | 77 static gint |
84 __window_destroy_cb(GtkWidget *w, GdkEvent *event, void *unused) | 78 __window_destroy_cb(GtkWidget *w, GdkEvent *event, AccountsDialog *dialog) |
85 { | 79 { |
86 g_free(accounts_dialog); | 80 g_free(accounts_dialog); |
87 accounts_dialog = NULL; | 81 accounts_dialog = NULL; |
82 | |
83 /* See if we're the main window here. */ | |
84 if (GAIM_GTK_BLIST(gaim_get_blist())->window == NULL && | |
85 mainwindow == NULL && gaim_connections_get_all() == NULL) { | |
86 | |
87 do_quit(); | |
88 } | |
88 | 89 |
89 return FALSE; | 90 return FALSE; |
90 } | 91 } |
91 | 92 |
92 static gboolean | 93 static gboolean |
141 } | 142 } |
142 | 143 |
143 static void | 144 static void |
144 __close_accounts_cb(GtkWidget *w, AccountsDialog *dialog) | 145 __close_accounts_cb(GtkWidget *w, AccountsDialog *dialog) |
145 { | 146 { |
146 | 147 gtk_widget_destroy(dialog->window); |
148 | |
149 __window_destroy_cb(NULL, NULL, dialog); | |
147 } | 150 } |
148 | 151 |
149 static void | 152 static void |
150 __online_cb(GtkCellRendererToggle *renderer, gchar *path_str, gpointer data) | 153 __online_cb(GtkCellRendererToggle *renderer, gchar *path_str, gpointer data) |
151 { | 154 { |
328 accounts_dialog = dialog = g_new0(AccountsDialog, 1); | 331 accounts_dialog = dialog = g_new0(AccountsDialog, 1); |
329 | 332 |
330 width = gaim_prefs_get_int("/gaim/gtk/accounts/dialog/width"); | 333 width = gaim_prefs_get_int("/gaim/gtk/accounts/dialog/width"); |
331 height = gaim_prefs_get_int("/gaim/gtk/accounts/dialog/height"); | 334 height = gaim_prefs_get_int("/gaim/gtk/accounts/dialog/height"); |
332 | 335 |
333 win = dialog->window; | |
334 | |
335 GAIM_DIALOG(win); | 336 GAIM_DIALOG(win); |
337 | |
338 dialog->window = win; | |
339 | |
336 gtk_window_set_default_size(GTK_WINDOW(win), width, height); | 340 gtk_window_set_default_size(GTK_WINDOW(win), width, height); |
337 gtk_window_set_role(GTK_WINDOW(win), "accounts"); | 341 gtk_window_set_role(GTK_WINDOW(win), "accounts"); |
338 gtk_window_set_title(GTK_WINDOW(win), "Accounts"); | 342 gtk_window_set_title(GTK_WINDOW(win), "Accounts"); |
339 gtk_container_set_border_width(GTK_CONTAINER(win), 12); | 343 gtk_container_set_border_width(GTK_CONTAINER(win), 12); |
340 | 344 |