| 852 * Suppress the "changed" signal because the status |
852 * Suppress the "changed" signal because the status |
| 853 * was changed programmatically. |
853 * was changed programmatically. |
| 854 */ |
854 */ |
| 855 gtk_widget_set_sensitive(GTK_WIDGET(status_box->view), FALSE); |
855 gtk_widget_set_sensitive(GTK_WIDGET(status_box->view), FALSE); |
| 856 |
856 |
| 857 talkatu_markup_set_html(TALKATU_BUFFER(status_box->buffer), "", -1); |
857 talkatu_buffer_clear(TALKATU_BUFFER(status_box->buffer)); |
| 858 |
858 |
| 859 if (!purple_savedstatus_is_transient(saved_status) || !message || !*message) |
859 if (!purple_savedstatus_is_transient(saved_status) || !message || !*message) |
| 860 { |
860 { |
| 861 status_box->editor_visible = FALSE; |
861 status_box->editor_visible = FALSE; |
| 862 gtk_widget_hide(status_box->vbox); |
862 gtk_widget_hide(status_box->vbox); |
| 1045 gtk_tree_view_set_model(GTK_TREE_VIEW(status_box->tree_view), GTK_TREE_MODEL(status_box->dropdown_store)); |
1045 gtk_tree_view_set_model(GTK_TREE_VIEW(status_box->tree_view), GTK_TREE_MODEL(status_box->dropdown_store)); |
| 1046 gtk_tree_view_set_search_column(GTK_TREE_VIEW(status_box->tree_view), TEXT_COLUMN); |
1046 gtk_tree_view_set_search_column(GTK_TREE_VIEW(status_box->tree_view), TEXT_COLUMN); |
| 1047 } |
1047 } |
| 1048 |
1048 |
| 1049 static gboolean |
1049 static gboolean |
| 1050 combo_box_scroll_event_cb(GtkWidget *w, GdkEventScroll *event, gpointer data) |
1050 combo_box_scroll_event_cb(GtkWidget *w, GdkEventScroll *event, G_GNUC_UNUSED gpointer data) |
| 1051 { |
1051 { |
| 1052 pidgin_status_box_popup(PIDGIN_STATUS_BOX(w), (GdkEvent *)event); |
1052 pidgin_status_box_popup(PIDGIN_STATUS_BOX(w), (GdkEvent *)event); |
| 1053 return TRUE; |
1053 return TRUE; |
| 1054 } |
1054 } |
| 1055 |
1055 |
| 2528 status_box->typing = g_timeout_add_seconds(TYPING_TIMEOUT, (GSourceFunc)remove_typing_cb, status_box); |
2528 status_box->typing = g_timeout_add_seconds(TYPING_TIMEOUT, (GSourceFunc)remove_typing_cb, status_box); |
| 2529 gtk_widget_grab_focus(status_box->view); |
2529 gtk_widget_grab_focus(status_box->view); |
| 2530 |
2530 |
| 2531 gtk_text_buffer_get_start_iter(status_box->buffer, &start); |
2531 gtk_text_buffer_get_start_iter(status_box->buffer, &start); |
| 2532 gtk_text_buffer_get_end_iter(status_box->buffer, &end); |
2532 gtk_text_buffer_get_end_iter(status_box->buffer, &end); |
| 2533 gtk_text_buffer_select_range(GTK_TEXT_BUFFER(status_box->buffer), &start, &end); |
2533 gtk_text_buffer_select_range(status_box->buffer, &start, &end); |
| 2534 } |
2534 } |
| 2535 else |
2535 else |
| 2536 { |
2536 { |
| 2537 gtk_widget_hide(status_box->vbox); |
2537 gtk_widget_hide(status_box->vbox); |
| 2538 activate_currently_selected_status(status_box); /* This is where we actually set the status */ |
2538 activate_currently_selected_status(status_box); /* This is where we actually set the status */ |