Revision 1057 src/summaryview.c

summaryview.c (revision 1057)
242 242
static void summary_search_entry_activated
243 243
					(GtkWidget		*entry,
244 244
					 SummaryView		*summaryview);
245
static void summary_search_clear_clicked(GtkWidget		*button,
246
					 SummaryView		*summaryview);
245 247

  
246 248
static gboolean summary_toggle_pressed	(GtkWidget		*eventbox,
247 249
					 GdkEventButton		*event,
......
467 469
	GtkWidget *search_label;
468 470
	GtkWidget *search_entry;
469 471
	GtkTooltips *search_tip;
472
	GtkWidget *search_vbox;
473
	GtkWidget *search_clear_btn;
474
	GtkWidget *image;
470 475
	GtkWidget *scrolledwin;
471 476
	GtkWidget *treeview;
472 477
	GtkTreeStore *store;
......
490 495

  
491 496
	vbox = gtk_vbox_new(FALSE, 1);
492 497

  
493
	search_hbox = gtk_hbox_new(FALSE, 4);
498
	search_hbox = gtk_hbox_new(FALSE, 0);
494 499
	gtk_container_set_border_width(GTK_CONTAINER(search_hbox), 2);
495 500
	gtk_box_pack_start(GTK_BOX(vbox), search_hbox, FALSE, FALSE, 0);
496 501

  
......
517 522
#undef COND_MENUITEM_ADD
518 523

  
519 524
	hbox = gtk_hbox_new(FALSE, 0);
520
	gtk_widget_set_size_request(hbox, 4, -1);
525
	gtk_widget_set_size_request(hbox, 8, -1);
521 526
	gtk_box_pack_start(GTK_BOX(search_hbox), hbox, FALSE, FALSE, 0);
522 527

  
523 528
	search_label = gtk_label_new(_("Search:"));
524 529
	gtk_box_pack_start(GTK_BOX(search_hbox), search_label, FALSE, FALSE, 0);
525 530

  
531
	hbox = gtk_hbox_new(FALSE, 0);
532
	gtk_widget_set_size_request(hbox, 4, -1);
533
	gtk_box_pack_start(GTK_BOX(search_hbox), hbox, FALSE, FALSE, 0);
534

  
526 535
	search_entry = gtk_entry_new();
527 536
	gtk_widget_set_size_request(search_entry, 200, -1);
528 537
	gtk_box_pack_start(GTK_BOX(search_hbox), search_entry, FALSE, FALSE, 0);
......
536 545
	gtk_tooltips_set_tip(search_tip, search_entry,
537 546
			     _("Search for Subject or From"), NULL);
538 547

  
548
	hbox = gtk_hbox_new(FALSE, 0);
549
	gtk_widget_set_size_request(hbox, 2, -1);
550
	gtk_box_pack_start(GTK_BOX(search_hbox), hbox, FALSE, FALSE, 0);
551

  
552
	search_vbox = gtk_vbox_new(FALSE, 0);
553
	gtk_box_pack_start(GTK_BOX(search_hbox), search_vbox, FALSE, FALSE, 0);
554

  
555
	search_clear_btn = gtk_button_new();
556
	gtk_button_set_relief(GTK_BUTTON(search_clear_btn), GTK_RELIEF_NONE);
557
	gtk_widget_set_size_request(search_clear_btn, 20, 20);
558
	image = gtk_image_new_from_stock(GTK_STOCK_CLOSE,
559
					 GTK_ICON_SIZE_MENU);
560
	gtk_container_add(GTK_CONTAINER(search_clear_btn), image);
561
	GTK_WIDGET_UNSET_FLAGS(search_clear_btn, GTK_CAN_FOCUS);
562
	gtk_box_pack_start(GTK_BOX(search_vbox), search_clear_btn,
563
			   TRUE, FALSE, 0);
564
	g_signal_connect(G_OBJECT(search_clear_btn), "clicked",
565
			 G_CALLBACK(summary_search_clear_clicked), summaryview);
566

  
539 567
	scrolledwin = gtk_scrolled_window_new(NULL, NULL);
540 568
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin),
541 569
				       GTK_POLICY_AUTOMATIC,
......
596 624
	summaryview->filter_menu = filter_menu;
597 625
	summaryview->search_label = search_label;
598 626
	summaryview->search_entry = search_entry;
627
	summaryview->search_clear_btn = search_clear_btn;
599 628
	summaryview->scrolledwin = scrolledwin;
600 629
	summaryview->treeview = treeview;
601 630
	summaryview->store = store;
......
619 648
	summaryview->reedit_separator = GTK_WIDGET(child->next->data);
620 649

  
621 650
	gtk_widget_show_all(vbox);
651
	gtk_widget_hide(search_clear_btn);
622 652

  
623 653
	return summaryview;
624 654
}
......
5063 5093
	main_window_set_toolbar_sensitive(summaryview->mainwin);
5064 5094
}
5065 5095

  
5096
void summary_qsearch_clear_entry(SummaryView *summaryview)
5097
{
5098
	gtk_entry_set_text(GTK_ENTRY(summaryview->search_entry), "");
5099
	summary_qsearch(summaryview);
5100
}
5101

  
5066 5102
void summary_qsearch(SummaryView *summaryview)
5067 5103
{
5068 5104
	FilterCondType type;
......
5191 5227
static void summary_search_entry_changed(GtkWidget *entry,
5192 5228
					 SummaryView *summaryview)
5193 5229
{
5230
	const gchar *text;
5231

  
5232
	text = gtk_entry_get_text(GTK_ENTRY(entry));
5233
	if (text && *text != '\0')
5234
		gtk_widget_show(summaryview->search_clear_btn);
5235
	else
5236
		gtk_widget_hide(summaryview->search_clear_btn);
5194 5237
}
5195 5238

  
5196 5239
static void summary_search_entry_activated(GtkWidget *entry,
......
5200 5243
	summary_qsearch(summaryview);
5201 5244
}
5202 5245

  
5246
static void summary_search_clear_clicked(GtkWidget *button,
5247
					 SummaryView *summaryview)
5248
{
5249
	summary_qsearch_clear_entry(summaryview);
5250
}
5251

  
5203 5252
static gboolean summary_toggle_pressed(GtkWidget *eventbox,
5204 5253
				       GdkEventButton *event,
5205 5254
				       SummaryView *summaryview)

Also available in: Unified diff