Changeset 3389 for trunk/jons-gtk2-gui

Show
Ignore:
Timestamp:
03/21/03 05:25:10 (6 years ago)
Author:
bostjanlah
Message:

Use a simple message_dialog and make sure alias is utf8 in delete_user

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/jons-gtk2-gui/src/user_menu.cpp

    r3324 r3389  
    2020 
    2121#include "licq_gtk.h" 
     22#include "utilities.h" 
    2223 
    2324#include <gtk/gtk.h> 
     
    3839}; 
    3940 
    40 struct delete_user 
    41 { 
    42     GtkWidget *window; 
    43     ICQUser *user; 
    44 }; 
    45  
    4641void url_send(GtkWidget *, struct send_url *); 
    4742void url_cancel(GtkWidget *, struct send_url *); 
    4843void url_close(GtkWidget *, struct send_url *); 
    4944void url_verified_close(GtkWidget *, guint, gchar*, struct send_url *); 
    50 void delete_user_callback(GtkWidget *widget, struct delete_user *d); 
    5145void destroy_dialog(GtkWidget *, gpointer); 
    5246 
     
    284278} 
    285279 
    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); 
     280void 
     281list_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); 
    338294} 
    339295