Changeset 3354 for trunk/jons-gtk2-gui

Show
Ignore:
Timestamp:
03/12/03 06:20:53 (6 years ago)
Author:
bostjanlah
Message:

Allow for buttons to be made insensitive (Matias Aguirre)
Fix a problem when only a single user was found and not displayed
A few simplifications

Files:
1 modified

Legend:

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

    r3349 r3354  
    5353    GtkWidget *uin; 
    5454    GtkWidget *list; 
    55     GtkWidget *clear; 
     55    GtkWidget *clearBtn; 
     56    GtkWidget *doneBtn; 
     57    GtkWidget *searchBtn; 
    5658    GtkWidget *statusbar; 
    5759    unsigned long e_tag; 
     
    6365void search_callback(GtkWidget *, gpointer); 
    6466void search_list_double_click(GtkWidget *, GdkEventButton *, gpointer); 
    65 void search_done(bool); 
    6667void search_found(CSearchAck *); 
    67 void search_failed(); 
    6868void search_close(GtkWidget *, gpointer); 
    6969void clear_callback(GtkWidget *, gpointer); 
     
    234234 
    235235    /* The "Search" button */ 
    236     GtkWidget *search = gtk_button_new_with_mnemonic("_Search"); 
    237     g_signal_connect(G_OBJECT(search), "clicked", 
     236    su->searchBtn = gtk_button_new_with_mnemonic("_Search"); 
     237    g_signal_connect(G_OBJECT(su->searchBtn), "clicked", 
    238238            G_CALLBACK(search_callback), 0); 
    239239 
    240240    /* The "Clear List" button */ 
    241     su->clear = gtk_button_new_with_mnemonic("     _Clear List     "); 
    242     g_signal_connect(G_OBJECT(su->clear), "clicked", 
     241    su->clearBtn = gtk_button_new_with_mnemonic("     _Clear List     "); 
     242    g_signal_connect(G_OBJECT(su->clearBtn), "clicked", 
    243243            G_CALLBACK(clear_callback), 0); 
    244244    // disabled until there's something to clear 
    245     gtk_widget_set_sensitive(su->clear, FALSE); 
     245    gtk_widget_set_sensitive(su->clearBtn, FALSE); 
    246246     
    247247    /* The "Done" button */ 
    248     GtkWidget *done = gtk_button_new_with_mnemonic("_Done"); 
    249     g_signal_connect(G_OBJECT(done), "clicked", 
     248    su->doneBtn = gtk_button_new_with_mnemonic("_Done"); 
     249    g_signal_connect(G_OBJECT(su->doneBtn), "clicked", 
    250250            G_CALLBACK(search_close), 0); 
    251251     
    252252    /* we want these at the bottom */ 
    253     gtk_box_pack_end(GTK_BOX(vbox), done, FALSE, FALSE, 0); 
    254     gtk_box_pack_end(GTK_BOX(vbox), su->clear, FALSE, FALSE, 0); 
    255     gtk_box_pack_end(GTK_BOX(vbox), search, FALSE, FALSE, 0); 
     253    gtk_box_pack_end(GTK_BOX(vbox), su->doneBtn, FALSE, FALSE, 0); 
     254    gtk_box_pack_end(GTK_BOX(vbox), su->clearBtn, FALSE, FALSE, 0); 
     255    gtk_box_pack_end(GTK_BOX(vbox), su->searchBtn, FALSE, FALSE, 0); 
    256256 
    257257  gtk_box_pack_start(GTK_BOX(top_hbox), vbox, TRUE, TRUE, 5); 
     
    318318            GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(su->list))); 
    319319    gtk_list_store_clear(store); 
    320     gtk_widget_set_sensitive(su->clear, FALSE); 
     320    gtk_widget_set_sensitive(su->clearBtn, FALSE); 
    321321    status_change(su->statusbar, "sta", ""); 
    322322} 
     
    364364                get_text(su->keyword), 
    365365                gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(su->online_only))); 
     366    gtk_widget_set_sensitive(su->searchBtn, FALSE); 
    366367} 
    367368 
     
    405406    CSearchAck *search_ack = event->SearchAck(); 
    406407 
    407     if (event->Result() == EVENT_SUCCESS) 
    408         search_done(search_ack->More()); 
    409     else if (event->Result() == EVENT_ACKED) 
     408    if (search_ack != NULL && search_ack->Uin() != 0) 
    410409        search_found(search_ack); 
    411     else 
    412         search_failed(); 
    413 } 
    414  
    415 void  
    416 search_done(bool more) 
    417 { 
    418     if (more) 
    419         status_change(su->statusbar, "sta", 
    420             "More users found, narrow your search and try again."); 
    421     else 
    422         status_change(su->statusbar, "sta", 
    423             "Search complete, double click user to add her/him."); 
     410 
     411    if (event->Result() == EVENT_SUCCESS) { 
     412        if (search_ack->More()) 
     413            status_change(su->statusbar, "sta", 
     414                "More users found, narrow your search and try again."); 
     415        else 
     416            status_change(su->statusbar, "sta", 
     417                "Search complete, double click user to add her/him."); 
     418        gtk_widget_set_sensitive(su->searchBtn, TRUE); 
     419    } 
     420    else if (event->Result() != EVENT_ACKED) { 
     421        status_change(su->statusbar, "sta", "Search failed."); 
     422        gtk_widget_set_sensitive(su->searchBtn, TRUE); 
     423    } 
    424424} 
    425425 
     
    474474     
    475475    num_found_users++; 
    476     gtk_widget_set_sensitive(su->clear, TRUE); 
    477 } 
    478  
    479 void search_failed() 
    480 { 
    481     status_change(su->statusbar, "sta", "Search failed."); 
     476    gtk_widget_set_sensitive(su->clearBtn, TRUE); 
    482477} 
    483478