Mercurial > audlegacy
diff audacious/prefswin.c @ 2187:3a5a895ce665 trunk
[svn] - allow changing the colourtheme from preferences
author | nenolod |
---|---|
date | Wed, 20 Dec 2006 07:57:56 -0800 |
parents | 299651a8f107 |
children | d507d2c1f75c |
line wrap: on
line diff
--- a/audacious/prefswin.c Wed Dec 20 07:09:22 2006 -0800 +++ b/audacious/prefswin.c Wed Dec 20 07:57:56 2006 -0800 @@ -89,6 +89,7 @@ static GtkWidget *prefswin = NULL; static GtkWidget *filepopup_settings = NULL; +static GtkWidget *colorize_settings = NULL; static GtkWidget *category_treeview = NULL; static GtkWidget *category_notebook = NULL; GtkWidget *filepopupbutton = NULL; @@ -2066,6 +2067,93 @@ } static void +on_colorize_button_clicked(GtkButton *button, gpointer data) +{ + GladeXML *xml = prefswin_get_xml(); + GtkWidget *widget; + + widget = glade_xml_get_widget(xml, "red_scale"); + gtk_range_set_value(GTK_RANGE(widget), cfg.colorize_r); + + widget = glade_xml_get_widget(xml, "green_scale"); + gtk_range_set_value(GTK_RANGE(widget), cfg.colorize_g); + + widget = glade_xml_get_widget(xml, "blue_scale"); + gtk_range_set_value(GTK_RANGE(widget), cfg.colorize_b); + + gtk_widget_show(colorize_settings); +} + +static void +on_red_scale_value_changed(GtkHScale *scale, gpointer data) +{ + GladeXML *xml = prefswin_get_xml(); + GtkWidget *widget; + gint value; + + value = gtk_range_get_value(GTK_RANGE(scale)); + + if (value != cfg.colorize_r) + { + cfg.colorize_r = value; + + /* reload the skin to apply the change */ + skin_reload_forced(); + draw_main_window(TRUE); + draw_equalizer_window(TRUE); + draw_playlist_window(TRUE); + } +} + +static void +on_green_scale_value_changed(GtkHScale *scale, gpointer data) +{ + GladeXML *xml = prefswin_get_xml(); + GtkWidget *widget; + gint value; + + value = gtk_range_get_value(GTK_RANGE(scale)); + + if (value != cfg.colorize_r) + { + cfg.colorize_g = value; + + /* reload the skin to apply the change */ + skin_reload_forced(); + draw_main_window(TRUE); + draw_equalizer_window(TRUE); + draw_playlist_window(TRUE); + } +} + +static void +on_blue_scale_value_changed(GtkHScale *scale, gpointer data) +{ + GladeXML *xml = prefswin_get_xml(); + GtkWidget *widget; + gint value; + + value = gtk_range_get_value(GTK_RANGE(scale)); + + if (value != cfg.colorize_r) + { + cfg.colorize_b = value; + + /* reload the skin to apply the change */ + skin_reload_forced(); + draw_main_window(TRUE); + draw_equalizer_window(TRUE); + draw_playlist_window(TRUE); + } +} + +static void +on_colorize_close_clicked(GtkButton *button, gpointer data) +{ + gtk_widget_hide(colorize_settings); +} + +static void on_filepopup_for_tuple_settings_clicked(GtkButton *button, gpointer data) { GladeXML *xml = prefswin_get_xml(); @@ -2248,6 +2336,13 @@ /* show window manager decorations */ FUNC_MAP_ENTRY(on_show_wm_decorations_toggled) FUNC_MAP_ENTRY(on_show_wm_decorations_realize) + + /* colorize */ + FUNC_MAP_ENTRY(on_colorize_button_clicked) + FUNC_MAP_ENTRY(on_red_scale_value_changed) + FUNC_MAP_ENTRY(on_green_scale_value_changed) + FUNC_MAP_ENTRY(on_blue_scale_value_changed) + FUNC_MAP_ENTRY(on_colorize_close_clicked) FUNC_MAP_END void @@ -2482,6 +2577,11 @@ g_signal_connect(G_OBJECT(widget2), "toggled", G_CALLBACK(on_recurse_for_cover_toggled), widget); + + /* Create window for filepopup settings */ + colorize_settings = glade_xml_get_widget(xml, "colorize_popup"); + gtk_window_set_transient_for(GTK_WINDOW(colorize_settings), GTK_WINDOW(prefswin)); + gtk_widget_hide(colorize_settings); } void