Changeset 3354 for trunk/jons-gtk2-gui
- Timestamp:
- 03/12/03 06:20:53 (6 years ago)
- Files:
-
- 1 modified
-
trunk/jons-gtk2-gui/src/search_user_window.cpp (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/jons-gtk2-gui/src/search_user_window.cpp
r3349 r3354 53 53 GtkWidget *uin; 54 54 GtkWidget *list; 55 GtkWidget *clear; 55 GtkWidget *clearBtn; 56 GtkWidget *doneBtn; 57 GtkWidget *searchBtn; 56 58 GtkWidget *statusbar; 57 59 unsigned long e_tag; … … 63 65 void search_callback(GtkWidget *, gpointer); 64 66 void search_list_double_click(GtkWidget *, GdkEventButton *, gpointer); 65 void search_done(bool);66 67 void search_found(CSearchAck *); 67 void search_failed();68 68 void search_close(GtkWidget *, gpointer); 69 69 void clear_callback(GtkWidget *, gpointer); … … 234 234 235 235 /* The "Search" button */ 236 GtkWidget *search= gtk_button_new_with_mnemonic("_Search");237 g_signal_connect(G_OBJECT(s earch), "clicked",236 su->searchBtn = gtk_button_new_with_mnemonic("_Search"); 237 g_signal_connect(G_OBJECT(su->searchBtn), "clicked", 238 238 G_CALLBACK(search_callback), 0); 239 239 240 240 /* 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", 243 243 G_CALLBACK(clear_callback), 0); 244 244 // disabled until there's something to clear 245 gtk_widget_set_sensitive(su->clear , FALSE);245 gtk_widget_set_sensitive(su->clearBtn, FALSE); 246 246 247 247 /* 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", 250 250 G_CALLBACK(search_close), 0); 251 251 252 252 /* 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), s earch, 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); 256 256 257 257 gtk_box_pack_start(GTK_BOX(top_hbox), vbox, TRUE, TRUE, 5); … … 318 318 GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(su->list))); 319 319 gtk_list_store_clear(store); 320 gtk_widget_set_sensitive(su->clear , FALSE);320 gtk_widget_set_sensitive(su->clearBtn, FALSE); 321 321 status_change(su->statusbar, "sta", ""); 322 322 } … … 364 364 get_text(su->keyword), 365 365 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(su->online_only))); 366 gtk_widget_set_sensitive(su->searchBtn, FALSE); 366 367 } 367 368 … … 405 406 CSearchAck *search_ack = event->SearchAck(); 406 407 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) 410 409 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 } 424 424 } 425 425 … … 474 474 475 475 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); 482 477 } 483 478
