Mercurial > pidgin
comparison src/dialogs.c @ 6058:d5f4ae4f9a02
[gaim-migrate @ 6508]
This should fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=196664
I also removed the dialog for rename buddy. The UI doesn't use it anymore.
We think renaming a buddy is silly.
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Tue, 08 Jul 2003 02:33:17 +0000 |
| parents | ac0dd4dd9465 |
| children | d8cd876e613e |
comparison
equal
deleted
inserted
replaced
| 6057:dc2124210882 | 6058:d5f4ae4f9a02 |
|---|---|
| 47 static GtkWidget *importdialog; | 47 static GtkWidget *importdialog; |
| 48 static GaimConnection *importgc; | 48 static GaimConnection *importgc; |
| 49 static GtkWidget *icondlg; | 49 static GtkWidget *icondlg; |
| 50 static GtkWidget *alias_dialog = NULL; | 50 static GtkWidget *alias_dialog = NULL; |
| 51 static GtkWidget *rename_dialog = NULL; | 51 static GtkWidget *rename_dialog = NULL; |
| 52 static GtkWidget *rename_bud_dialog = NULL; | |
| 53 static GtkWidget *fontseld = NULL; | 52 static GtkWidget *fontseld = NULL; |
| 54 | 53 |
| 55 | 54 |
| 56 struct confirm_del { | 55 struct confirm_del { |
| 57 GtkWidget *window; | 56 GtkWidget *window; |
| 287 } | 286 } |
| 288 else if (dest == icondlg) | 287 else if (dest == icondlg) |
| 289 icondlg = NULL; | 288 icondlg = NULL; |
| 290 else if (dest == rename_dialog) | 289 else if (dest == rename_dialog) |
| 291 rename_dialog = NULL; | 290 rename_dialog = NULL; |
| 292 else if (dest == rename_bud_dialog) | |
| 293 rename_bud_dialog = NULL; | |
| 294 | 291 |
| 295 dialogwindows = g_list_remove(dialogwindows, dest); | 292 dialogwindows = g_list_remove(dialogwindows, dest); |
| 296 gtk_widget_destroy(dest); | 293 gtk_widget_destroy(dest); |
| 297 } | 294 } |
| 298 | 295 |
| 4328 if(name_entry) | 4325 if(name_entry) |
| 4329 gtk_widget_grab_focus(GTK_WIDGET(name_entry)); | 4326 gtk_widget_grab_focus(GTK_WIDGET(name_entry)); |
| 4330 } | 4327 } |
| 4331 | 4328 |
| 4332 | 4329 |
| 4333 /*------------------------------------------------------------------------*/ | |
| 4334 /* The dialog for renaming buddies */ | |
| 4335 /*------------------------------------------------------------------------*/ | |
| 4336 | |
| 4337 static void do_rename_buddy(GObject *obj, GtkWidget *entry) | |
| 4338 { | |
| 4339 const char *new_name; | |
| 4340 struct buddy *b; | |
| 4341 | |
| 4342 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); | |
| 4343 b = g_object_get_data(obj, "buddy"); | |
| 4344 | |
| 4345 if (!g_list_find(gaim_connections_get_all(), b->account->gc)) { | |
| 4346 destroy_dialog(rename_bud_dialog, rename_bud_dialog); | |
| 4347 return; | |
| 4348 } | |
| 4349 | |
| 4350 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, b->name)) { | |
| 4351 struct group *g = gaim_find_buddys_group(b); | |
| 4352 char *prevname = b->name; | |
| 4353 if (g) | |
| 4354 serv_remove_buddy(b->account->gc, b->name, g->name); | |
| 4355 b->name = g_strdup(new_name); | |
| 4356 serv_add_buddy(b->account->gc, b->name); | |
| 4357 gaim_blist_rename_buddy(b, prevname); | |
| 4358 gaim_blist_save(); | |
| 4359 g_free(prevname); | |
| 4360 } | |
| 4361 | |
| 4362 destroy_dialog(rename_bud_dialog, rename_bud_dialog); | |
| 4363 } | |
| 4364 | |
| 4365 void show_rename_buddy(GtkWidget *unused, struct buddy *b) | |
| 4366 { | |
| 4367 GtkWidget *mainbox; | |
| 4368 GtkWidget *frame; | |
| 4369 GtkWidget *fbox; | |
| 4370 GtkWidget *bbox; | |
| 4371 GtkWidget *button; | |
| 4372 GtkWidget *name_entry; | |
| 4373 GtkWidget *label; | |
| 4374 | |
| 4375 if (!rename_bud_dialog) { | |
| 4376 GAIM_DIALOG(rename_bud_dialog); | |
| 4377 gtk_window_set_role(GTK_WINDOW(rename_bud_dialog), "rename_bud_dialog"); | |
| 4378 gtk_window_set_resizable(GTK_WINDOW(rename_bud_dialog), TRUE); | |
| 4379 gtk_window_set_title(GTK_WINDOW(rename_bud_dialog), _("Rename Buddy")); | |
| 4380 g_signal_connect(G_OBJECT(rename_bud_dialog), "destroy", | |
| 4381 G_CALLBACK(destroy_dialog), rename_bud_dialog); | |
| 4382 gtk_widget_realize(rename_bud_dialog); | |
| 4383 | |
| 4384 mainbox = gtk_vbox_new(FALSE, 5); | |
| 4385 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); | |
| 4386 gtk_container_add(GTK_CONTAINER(rename_bud_dialog), mainbox); | |
| 4387 | |
| 4388 frame = gtk_frame_new(_("Rename Buddy")); | |
| 4389 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); | |
| 4390 | |
| 4391 fbox = gtk_hbox_new(FALSE, 5); | |
| 4392 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); | |
| 4393 gtk_container_add(GTK_CONTAINER(frame), fbox); | |
| 4394 | |
| 4395 label = gtk_label_new(_("New name:")); | |
| 4396 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); | |
| 4397 | |
| 4398 name_entry = gtk_entry_new(); | |
| 4399 gtk_box_pack_start(GTK_BOX(fbox), name_entry, TRUE, TRUE, 0); | |
| 4400 g_object_set_data(G_OBJECT(name_entry), "buddy", b); | |
| 4401 gtk_entry_set_text(GTK_ENTRY(name_entry), b->name); | |
| 4402 g_signal_connect(G_OBJECT(name_entry), "activate", | |
| 4403 G_CALLBACK(do_rename_buddy), name_entry); | |
| 4404 gtk_widget_grab_focus(name_entry); | |
| 4405 | |
| 4406 bbox = gtk_hbox_new(FALSE, 5); | |
| 4407 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); | |
| 4408 | |
| 4409 button = gaim_pixbuf_button_from_stock(_("OK"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL); | |
| 4410 g_object_set_data(G_OBJECT(button), "buddy", b); | |
| 4411 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
| 4412 g_signal_connect(G_OBJECT(button), "clicked", | |
| 4413 G_CALLBACK(do_rename_buddy), name_entry); | |
| 4414 | |
| 4415 button = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); | |
| 4416 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
| 4417 g_signal_connect(G_OBJECT(button), "clicked", | |
| 4418 G_CALLBACK(destroy_dialog), rename_bud_dialog); | |
| 4419 } | |
| 4420 | |
| 4421 gtk_widget_show_all(rename_bud_dialog); | |
| 4422 } | |
| 4423 | |
| 4424 | |
| 4425 GtkWidget *gaim_pixbuf_toolbar_button_from_stock(char *icon) | 4330 GtkWidget *gaim_pixbuf_toolbar_button_from_stock(char *icon) |
| 4426 { | 4331 { |
| 4427 GtkWidget *button, *image, *bbox; | 4332 GtkWidget *button, *image, *bbox; |
| 4428 | 4333 |
| 4429 button = gtk_toggle_button_new(); | 4334 button = gtk_toggle_button_new(); |
