| 70 /* Timeout for typing notifications in seconds */ |
70 /* Timeout for typing notifications in seconds */ |
| 71 #define TYPING_TIMEOUT 4 |
71 #define TYPING_TIMEOUT 4 |
| 72 |
72 |
| 73 #if !GTK_CHECK_VERSION(2,18,0) |
73 #if !GTK_CHECK_VERSION(2,18,0) |
| 74 #define gtk_widget_is_sensitive(x) GTK_WIDGET_IS_SENSITIVE(x) |
74 #define gtk_widget_is_sensitive(x) GTK_WIDGET_IS_SENSITIVE(x) |
| |
75 #define gtk_widget_set_has_window(x, y) do { \ |
| |
76 if (y) \ |
| |
77 GTK_WIDGET_UNSET_FLAGS(x, GTK_WIDGET_NO_WINDOW); \ |
| |
78 else \ |
| |
79 GTK_WIDGET_SET_FLAGS(x, GTK_WIDGET_NO_WINDOW); \ |
| |
80 } while (0) |
| 75 #endif |
81 #endif |
| 76 |
82 |
| 77 static void imhtml_changed_cb(GtkTextBuffer *buffer, void *data); |
83 static void imhtml_changed_cb(GtkTextBuffer *buffer, void *data); |
| 78 static void imhtml_format_changed_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, void *data); |
84 static void imhtml_format_changed_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, void *data); |
| 79 static void remove_typing_cb(PidginStatusBox *box); |
85 static void remove_typing_cb(PidginStatusBox *box); |
| 1751 GtkCellRenderer *emblem_rend; |
1757 GtkCellRenderer *emblem_rend; |
| 1752 GtkTextBuffer *buffer; |
1758 GtkTextBuffer *buffer; |
| 1753 GtkWidget *toplevel; |
1759 GtkWidget *toplevel; |
| 1754 GtkTreeSelection *sel; |
1760 GtkTreeSelection *sel; |
| 1755 |
1761 |
| 1756 GTK_WIDGET_SET_FLAGS (status_box, GTK_NO_WINDOW); |
1762 gtk_widget_set_has_window(GTK_WIDGET(status_box), FALSE); |
| 1757 status_box->imhtml_visible = FALSE; |
1763 status_box->imhtml_visible = FALSE; |
| 1758 status_box->network_available = purple_network_is_available(); |
1764 status_box->network_available = purple_network_is_available(); |
| 1759 status_box->connecting = FALSE; |
1765 status_box->connecting = FALSE; |
| 1760 status_box->typing = 0; |
1766 status_box->typing = 0; |
| 1761 status_box->toggle_button = gtk_toggle_button_new(); |
1767 status_box->toggle_button = gtk_toggle_button_new(); |