| 56 |
56 |
| 57 /* XXX This needs to be made static after we solve the away.c mess. */ |
57 /* XXX This needs to be made static after we solve the away.c mess. */ |
| 58 GtkListStore *prefs_away_store = NULL; |
58 GtkListStore *prefs_away_store = NULL; |
| 59 GtkWidget *prefs_away_menu = NULL; |
59 GtkWidget *prefs_away_menu = NULL; |
| 60 |
60 |
| 61 static GtkWidget *tree_v = NULL; |
|
| 62 |
|
| 63 |
|
| 64 static int sound_row_sel = 0; |
61 static int sound_row_sel = 0; |
| 65 static GtkWidget *prefsnotebook; |
62 static GtkWidget *prefsnotebook; |
| 66 |
63 |
| 67 static GtkWidget *sound_entry = NULL; |
64 static GtkWidget *sound_entry = NULL; |
| 68 static GtkWidget *away_text = NULL; |
|
| 69 static GtkListStore *smiley_theme_store = NULL; |
65 static GtkListStore *smiley_theme_store = NULL; |
| 70 static GtkWidget *prefs_proxy_frame = NULL; |
66 static GtkWidget *prefs_proxy_frame = NULL; |
| 71 |
67 |
| 72 static GtkWidget *prefs = NULL; |
68 static GtkWidget *prefs = NULL; |
| 73 static GtkWidget *debugbutton = NULL; |
69 static GtkWidget *debugbutton = NULL; |
| 2174 |
2169 |
| 2175 gtk_widget_show_all(ret); |
2170 gtk_widget_show_all(ret); |
| 2176 return ret; |
2171 return ret; |
| 2177 } |
2172 } |
| 2178 |
2173 |
| 2179 static void away_message_sel_cb(GtkTreeSelection *sel, GtkTreeModel *model) |
|
| 2180 { |
|
| 2181 GtkTreeIter iter; |
|
| 2182 GValue val = { 0, }; |
|
| 2183 gchar buffer[BUF_LONG]; |
|
| 2184 char *tmp; |
|
| 2185 /* XXX CORE/UI |
|
| 2186 struct away_message *am; |
|
| 2187 */ |
|
| 2188 |
|
| 2189 if (! gtk_tree_selection_get_selected (sel, &model, &iter)) |
|
| 2190 return; |
|
| 2191 gtk_tree_model_get_value (model, &iter, 1, &val); |
|
| 2192 |
|
| 2193 /* XXX CORE/UI |
|
| 2194 am = g_value_get_pointer(&val); |
|
| 2195 */ |
|
| 2196 |
|
| 2197 gtk_imhtml_clear(GTK_IMHTML(away_text)); |
|
| 2198 |
|
| 2199 /* XXX CORE/UI |
|
| 2200 strncpy(buffer, am->message, BUF_LONG); |
|
| 2201 */ |
|
| 2202 |
|
| 2203 tmp = stylize(buffer, BUF_LONG); |
|
| 2204 gtk_imhtml_append_text(GTK_IMHTML(away_text), tmp, GTK_IMHTML_NO_TITLE | |
|
| 2205 GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_SCROLL); |
|
| 2206 gtk_imhtml_append_text(GTK_IMHTML(away_text), "<BR>", GTK_IMHTML_NO_TITLE | |
|
| 2207 GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_SCROLL); |
|
| 2208 g_free(tmp); |
|
| 2209 g_value_unset (&val); |
|
| 2210 |
|
| 2211 } |
|
| 2212 |
|
| 2213 static void away_edit_sel (GtkWidget *dummy, void *tv) |
|
| 2214 { |
|
| 2215 struct away_message *amt; |
|
| 2216 GtkTreeIter iter; |
|
| 2217 GtkTreeModel *ls = gtk_tree_view_get_model(GTK_TREE_VIEW(tv)); |
|
| 2218 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tv)); |
|
| 2219 GValue val = { 0, }; |
|
| 2220 |
|
| 2221 /* Get the pointer to the away message and pass that */ |
|
| 2222 if (! gtk_tree_selection_get_selected (sel, &ls, &iter)) |
|
| 2223 return; |
|
| 2224 gtk_tree_model_get_value (ls, &iter, 1, &val); |
|
| 2225 amt = g_value_get_pointer (&val); |
|
| 2226 /* XXX CORE/UI |
|
| 2227 create_away_mess(NULL, amt); |
|
| 2228 */ |
|
| 2229 } |
|
| 2230 |
|
| 2231 static gboolean away_message_click_cb(GtkWidget *tv, GdkEventButton *event, gpointer null) |
|
| 2232 { |
|
| 2233 /* Only respond to double click on button 1 */ |
|
| 2234 if ((event->button != 1) || (event->type != GDK_2BUTTON_PRESS)) |
|
| 2235 return FALSE; |
|
| 2236 |
|
| 2237 away_edit_sel (NULL, tv); |
|
| 2238 |
|
| 2239 return FALSE; |
|
| 2240 } |
|
| 2241 |
|
| 2242 void remove_away_message(GtkWidget *widget, GtkTreeView *tv) { |
|
| 2243 /* XXX CORE/UI |
|
| 2244 struct away_message *am; |
|
| 2245 */ |
|
| 2246 GtkTreeIter iter; |
|
| 2247 GtkTreeSelection *sel = gtk_tree_view_get_selection(tv); |
|
| 2248 GtkTreeModel *model = GTK_TREE_MODEL(prefs_away_store); |
|
| 2249 GValue val = { 0, }; |
|
| 2250 |
|
| 2251 if (! gtk_tree_selection_get_selected (sel, &model, &iter)) |
|
| 2252 return; |
|
| 2253 gtk_tree_model_get_value (GTK_TREE_MODEL(prefs_away_store), &iter, 1, &val); |
|
| 2254 |
|
| 2255 /* XXX CORE/UI |
|
| 2256 am = g_value_get_pointer (&val); |
|
| 2257 */ |
|
| 2258 |
|
| 2259 gtk_imhtml_clear(GTK_IMHTML(away_text)); |
|
| 2260 |
|
| 2261 /* XXX CORE/UI |
|
| 2262 rem_away_mess(NULL, am); |
|
| 2263 */ |
|
| 2264 } |
|
| 2265 |
|
| 2266 GtkTreeIter *prefs_notebook_add_page(const char *text, |
2174 GtkTreeIter *prefs_notebook_add_page(const char *text, |
| 2267 GdkPixbuf *pixbuf, |
2175 GdkPixbuf *pixbuf, |
| 2268 GtkWidget *page, |
2176 GtkWidget *page, |
| 2269 GtkTreeIter *iter, |
2177 GtkTreeIter *iter, |
| 2270 GtkTreeIter *parent, |
2178 GtkTreeIter *parent, |
| 2564 |
2471 |
| 2565 gaim_prefs_rename("/gaim/gtk/conversations/im/button_type", |
2472 gaim_prefs_rename("/gaim/gtk/conversations/im/button_type", |
| 2566 "/gaim/gtk/conversations/button_type"); |
2473 "/gaim/gtk/conversations/button_type"); |
| 2567 |
2474 |
| 2568 /* Remove some no-longer-used prefs */ |
2475 /* Remove some no-longer-used prefs */ |
| |
2476 gaim_prefs_remove("/gaim/gtk/blist/button_style"); |
| |
2477 gaim_prefs_remove("/gaim/gtk/blist/raise_on_events"); |
| 2569 gaim_prefs_remove("/gaim/gtk/blist/show_group_count"); |
2478 gaim_prefs_remove("/gaim/gtk/blist/show_group_count"); |
| 2570 gaim_prefs_remove("/gaim/gtk/conversations/icons_on_tabs"); |
2479 gaim_prefs_remove("/gaim/gtk/conversations/icons_on_tabs"); |
| 2571 gaim_prefs_remove("/gaim/gtk/conversations/show_urls_as_links"); |
2480 gaim_prefs_remove("/gaim/gtk/conversations/show_urls_as_links"); |
| 2572 gaim_prefs_remove("/gaim/gtk/conversations/show_smileys"); |
2481 gaim_prefs_remove("/gaim/gtk/conversations/show_smileys"); |
| 2573 gaim_prefs_remove("/gaim/gtk/conversations/chat/tab_completion"); |
2482 gaim_prefs_remove("/gaim/gtk/conversations/chat/tab_completion"); |