| 286 | | void list_delete_user(GtkWidget *widget, ICQUser *user) |
| 287 | | { |
| 288 | | GtkWidget *yes; |
| 289 | | GtkWidget *no; |
| 290 | | GtkWidget *label; |
| 291 | | GtkWidget *h_box; |
| 292 | | GtkWidget *v_box; |
| 293 | | struct delete_user *d = g_new0(struct delete_user, 1); |
| 294 | | |
| 295 | | d->user = user; |
| 296 | | |
| 297 | | const gchar *text = g_strdup_printf("Are you sure you want to delete\n%s (UIN: %ld)\nfrom your list?", d->user->GetAlias(), d->user->Uin()); |
| 298 | | |
| 299 | | /* Make the dialog window */ |
| 300 | | d->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| 301 | | gtk_window_set_title(GTK_WINDOW(d->window), "Licq - Delete User"); |
| 302 | | gtk_window_set_position(GTK_WINDOW(d->window), GTK_WIN_POS_CENTER); |
| 303 | | |
| 304 | | /* The main box */ |
| 305 | | v_box = gtk_vbox_new(FALSE, 5); |
| 306 | | |
| 307 | | /* The first box */ |
| 308 | | h_box = gtk_hbox_new(FALSE, 5); |
| 309 | | label = gtk_label_new(text); |
| 310 | | gtk_box_pack_start(GTK_BOX(h_box), label, TRUE, TRUE, 0); |
| 311 | | gtk_box_pack_start(GTK_BOX(v_box), h_box, TRUE, TRUE, 5); |
| 312 | | |
| 313 | | /* The second box, with buttons */ |
| 314 | | h_box = gtk_hbox_new(FALSE, 10); |
| 315 | | yes = gtk_button_new_from_stock(GTK_STOCK_YES); |
| 316 | | gtk_box_pack_start(GTK_BOX(h_box), yes, TRUE, TRUE, 0); |
| 317 | | no = gtk_button_new_from_stock(GTK_STOCK_NO); |
| 318 | | gtk_box_pack_start(GTK_BOX(h_box), no, TRUE, TRUE, 0); |
| 319 | | gtk_box_pack_start(GTK_BOX(v_box), h_box, TRUE, TRUE, 5); |
| 320 | | |
| 321 | | /* Connect the signals */ |
| 322 | | g_signal_connect(G_OBJECT(no), "clicked", |
| 323 | | G_CALLBACK(window_close), d->window); |
| 324 | | g_signal_connect(G_OBJECT(d->window), "destroy", |
| 325 | | G_CALLBACK(window_close), d->window); |
| 326 | | g_signal_connect(G_OBJECT(yes), "clicked", |
| 327 | | G_CALLBACK(delete_user_callback), d); |
| 328 | | |
| 329 | | /* Show the widgets */ |
| 330 | | gtk_container_add(GTK_CONTAINER(d->window), v_box); |
| 331 | | gtk_widget_show_all(d->window); |
| 332 | | } |
| 333 | | |
| 334 | | void delete_user_callback(GtkWidget *widget, struct delete_user *d) |
| 335 | | { |
| 336 | | icq_daemon->RemoveUserFromList(d->user->Uin()); |
| 337 | | gtk_widget_destroy(d->window); |
| | 280 | void |
| | 281 | list_delete_user(GtkWidget *widget, ICQUser *user) |
| | 282 | { |
| | 283 | GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(main_window), |
| | 284 | GTK_DIALOG_DESTROY_WITH_PARENT, |
| | 285 | GTK_MESSAGE_QUESTION, |
| | 286 | GTK_BUTTONS_YES_NO, |
| | 287 | "Are you sure you would like to delete %s (UIN %ld) from your list?", |
| | 288 | s_convert_to_utf8(user->GetAlias()).c_str(), |
| | 289 | user->Uin()); |
| | 290 | if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_YES) |
| | 291 | icq_daemon->RemoveUserFromList(user->Uin()); |
| | 292 | |
| | 293 | gtk_widget_destroy (dialog); |