# HG changeset patch # User nenolod # Date 1166630276 28800 # Node ID 3a5a895ce665efbf625e59ccd17b92ed3893e0c7 # Parent 7be793a34b489cc94e2ad0e400ac0df43a9aae69 [svn] - allow changing the colourtheme from preferences diff -r 7be793a34b48 -r 3a5a895ce665 ChangeLog --- a/ChangeLog Wed Dec 20 07:09:22 2006 -0800 +++ b/ChangeLog Wed Dec 20 07:57:56 2006 -0800 @@ -1,3 +1,13 @@ +2006-12-20 15:09:22 +0000 William Pitcock + revision [3377] + - add ability to colourtheme the UI + + trunk/audacious/main.c | 4 ++++ + trunk/audacious/main.h | 1 + + trunk/audacious/widgets/skin.c | 9 ++++++--- + 3 files changed, 11 insertions(+), 3 deletions(-) + + 2006-12-20 14:59:23 +0000 William Pitcock revision [3375] - add pixbuf_effects.c, containing various routines to alter images used by the skinengine diff -r 7be793a34b48 -r 3a5a895ce665 audacious/glade/prefswin.glade --- a/audacious/glade/prefswin.glade Wed Dec 20 07:09:22 2006 -0800 +++ b/audacious/glade/prefswin.glade Wed Dec 20 07:57:56 2006 -0800 @@ -767,6 +767,33 @@ + + True + True + GTK_RELIEF_NORMAL + True + + + + + True + gtk-properties + 4 + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + True Refresh skin list @@ -4601,4 +4628,243 @@ + + 12 + Color Adjustment + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + + + + True + False + 12 + + + + True + Audacious allows you to alter the color balance of the skinned UI. The sliders below will allow you to do this. + False + False + GTK_JUSTIFY_LEFT + True + False + 0 + 0 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 3 + 2 + False + 6 + 12 + + + + True + True + False + GTK_POS_TOP + 3 + GTK_UPDATE_CONTINUOUS + False + 0 0 255 0 0 0 + + + + 1 + 2 + 0 + 1 + + + + + + True + True + False + GTK_POS_TOP + 1 + GTK_UPDATE_CONTINUOUS + False + 0 0 255 0 0 0 + + + + 1 + 2 + 1 + 2 + fill + + + + + + True + True + False + GTK_POS_TOP + 1 + GTK_UPDATE_CONTINUOUS + False + 0 0 255 0 0 0 + + + + 1 + 2 + 2 + 3 + fill + + + + + + True + Red + False + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + Green + False + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + Blue + False + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + fill + + + + + + 0 + True + True + + + + + + True + GTK_BUTTONBOX_END + 6 + + + + True + True + True + True + gtk-close + True + GTK_RELIEF_NORMAL + True + + + + + + 0 + False + False + + + + + + diff -r 7be793a34b48 -r 3a5a895ce665 audacious/prefswin.c --- 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