Mercurial > pidgin
comparison src/dialogs.c @ 7751:d691cb95ee67
[gaim-migrate @ 8396]
Changes for the conversation "Find" dialog:
-Makes the window manager "X" work correctly when closing the dialog
-Added an "s" mnemonic for the search box
-Hitting enter now performs the default action (Find)
-The Find button grays and un-grays (aka sensitizes and desensitizes)
itself based on the presence or absence of text in the search box.
For this I moved a function from dialogs.c to util.[c|h]:
gaim_gtk_set_sensitive_if_input()
-HIGification suggestions from Steven Garrity:
1. Give the window a title ("Find") as is recommended by the HIG
(http://developer.gnome.org/projects/gup/hig/1.0/windows.html#window-properties).
2. Drop the phrase "Enter a search phrase" altogether. Since the text
box is already labeled (and if the window was labeled too), this phrase
is redundant. Removing it simplifies the visual appearance of the
window, and is one less thing to translate.
3.Change text box label from "Search term:" to "Search for:". This isn't
a big deal, but the Search window in GEdit uses "Search for:" (I
couldn't find much consistency anywhere else).
4.Move "Close" and "Find" buttons to be 12 pixels from the bottom and
right edges of the window, as recommended by the HIG
(http://developer.gnome.org/projects/gup/hig/1.0/layout.html#window-layout-spacing).
Also thanks to Nathan Fredrickson for writing a patch for Steven's
suggestions.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 04 Dec 2003 22:09:58 +0000 |
parents | 662a33ce4343 |
children | 8ebd9038ef62 |
comparison
equal
deleted
inserted
replaced
7750:14cc6614af93 | 7751:d691cb95ee67 |
---|---|
627 struct getuserinfo *info) | 627 struct getuserinfo *info) |
628 { | 628 { |
629 info->gc = gaim_account_get_connection(account); | 629 info->gc = gaim_account_get_connection(account); |
630 } | 630 } |
631 | 631 |
632 static void dialog_set_ok_sensitive(GtkWidget *entry, GtkWidget *dlg) { | |
633 const char *txt = gtk_entry_get_text(GTK_ENTRY(entry)); | |
634 gtk_dialog_set_response_sensitive(GTK_DIALOG(dlg), GTK_RESPONSE_OK, | |
635 (*txt != '\0')); | |
636 } | |
637 | |
638 void show_im_dialog() | 632 void show_im_dialog() |
639 { | 633 { |
640 GtkWidget *hbox, *vbox; | 634 GtkWidget *hbox, *vbox; |
641 GtkWidget *label; | 635 GtkWidget *label; |
642 GtkWidget *table; | 636 GtkWidget *table; |
690 info->entry = gtk_entry_new(); | 684 info->entry = gtk_entry_new(); |
691 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); | 685 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); |
692 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); | 686 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); |
693 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); | 687 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); |
694 g_signal_connect(G_OBJECT(info->entry), "changed", | 688 g_signal_connect(G_OBJECT(info->entry), "changed", |
695 G_CALLBACK(dialog_set_ok_sensitive), imdialog); | 689 G_CALLBACK(gaim_gtk_set_sensitive_if_input), imdialog); |
696 | 690 |
697 if (gaim_connections_get_all()->next) { | 691 if (gaim_connections_get_all()->next) { |
698 | 692 |
699 label = gtk_label_new(NULL); | 693 label = gtk_label_new(NULL); |
700 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | 694 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |
768 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); | 762 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); |
769 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); | 763 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); |
770 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); | 764 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); |
771 | 765 |
772 g_signal_connect(G_OBJECT(info->entry), "changed", | 766 g_signal_connect(G_OBJECT(info->entry), "changed", |
773 G_CALLBACK(dialog_set_ok_sensitive), window); | 767 G_CALLBACK(gaim_gtk_set_sensitive_if_input), window); |
774 | 768 |
775 if (gaim_connections_get_all()->next) { | 769 if (gaim_connections_get_all()->next) { |
776 | 770 |
777 label = gtk_label_new(NULL); | 771 label = gtk_label_new(NULL); |
778 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | 772 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |