Mercurial > pidgin.yaz
diff pidgin/gtkconv.c @ 20028:a2b4eac83902
Part of #1332 to introduce pidgin_text_combo_box_new_entry and
accessor functions. I made some changes to:
* Not leak
* Popup the dropdown when up/down arrows are pressed, to imitate the old
behaviour to some extent.
* Change the accessor defines to accessor functions.
I think this all works OK now. Yell at me if things don't work, and then fix
it. :-P
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Fri, 14 Sep 2007 08:27:26 +0000 |
parents | 959b3aaba0b6 |
children | 7af1af2b7ad3 dd4c3d712835 |
line wrap: on
line diff
--- a/pidgin/gtkconv.c Fri Sep 14 06:00:03 2007 +0000 +++ b/pidgin/gtkconv.c Fri Sep 14 08:27:26 2007 +0000 @@ -707,7 +707,7 @@ gtkconv = PIDGIN_CONVERSATION(info->conv); if (resp == GTK_RESPONSE_OK) { - buddy = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(info->entry)->entry)); + buddy = pidgin_text_combo_box_entry_get_text(info->entry); message = gtk_entry_get_text(GTK_ENTRY(info->message)); if (!g_ascii_strcasecmp(buddy, "")) @@ -754,7 +754,7 @@ "chat."), NULL); } else - gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(info->entry)->entry), buddy->name); + pidgin_text_combo_box_entry_set_text(info->entry, buddy->name); gtk_drag_finish(dc, TRUE, (dc->action == GDK_ACTION_MOVE), t); } @@ -781,7 +781,7 @@ } else { - gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(info->entry)->entry), username); + pidgin_text_combo_box_entry_set_text(info->entry, username); } } @@ -879,19 +879,10 @@ gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); /* Now the Buddy drop-down entry field. */ - info->entry = gtk_combo_new(); - gtk_combo_set_case_sensitive(GTK_COMBO(info->entry), FALSE); - gtk_entry_set_activates_default( - GTK_ENTRY(GTK_COMBO(info->entry)->entry), TRUE); - + info->entry = pidgin_text_combo_box_entry_new(NULL, generate_invite_user_names(gc)); gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); gtk_label_set_mnemonic_widget(GTK_LABEL(label), info->entry); - /* Fill in the names. */ - gtk_combo_set_popdown_strings(GTK_COMBO(info->entry), - generate_invite_user_names(gc)); - - /* Now the label for "Message" */ label = gtk_label_new(NULL); gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Message:")); @@ -933,7 +924,7 @@ gtk_widget_show_all(invite_dialog); if (info != NULL) - gtk_widget_grab_focus(GTK_COMBO(info->entry)->entry); + gtk_widget_grab_focus(GTK_BIN(info->entry)->child); } static void @@ -3653,8 +3644,7 @@ static GList *tmp = NULL; g_list_free(tmp); - - tmp = g_list_append(NULL, ""); + tmp = NULL; if (gc != NULL) { for(gnode = purple_get_blist()->root; gnode; gnode = gnode->next) {