summaryrefslogtreecommitdiff
path: root/plugins/gtkui/prefwin.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-03 20:21:57 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-03 20:21:57 +0200
commitb59bfddfa661a67b621b7bc24ae9aefa89fc2abf (patch)
treea1a954fbeb358c506df66409353f7576bd7a35b1 /plugins/gtkui/prefwin.c
parentac5ec9950ba2ba88f858edb683a534e204637d4c (diff)
custom widget color settings
Diffstat (limited to 'plugins/gtkui/prefwin.c')
-rw-r--r--plugins/gtkui/prefwin.c183
1 files changed, 137 insertions, 46 deletions
diff --git a/plugins/gtkui/prefwin.c b/plugins/gtkui/prefwin.c
index 716e8da5..55a50f41 100644
--- a/plugins/gtkui/prefwin.c
+++ b/plugins/gtkui/prefwin.c
@@ -209,6 +209,23 @@ on_applyhotkeys_clicked (GtkButton *button, gpointer user_da
}
void
+prefwin_init_theme_colors (void) {
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "bar_background")), gtkui_get_bar_background_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "bar_foreground")), gtkui_get_bar_foreground_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "tabstrip_dark")), gtkui_get_tabstrip_dark_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "tabstrip_mid")), gtkui_get_tabstrip_mid_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "tabstrip_light")), gtkui_get_tabstrip_light_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "tabstrip_base")), gtkui_get_tabstrip_base_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "listview_even_row")), gtkui_get_listview_even_row_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "listview_odd_row")), gtkui_get_listview_odd_row_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "listview_selected_row")), gtkui_get_listview_selection_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "listview_text")), gtkui_get_listview_text_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "listview_selected_text")), gtkui_get_listview_selected_text_color ());
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "listview_cursor")), gtkui_get_listview_cursor_color ());
+
+}
+
+void
on_preferences_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
@@ -263,29 +280,23 @@ on_preferences_activate (GtkMenuItem *menuitem,
// mmb_delete_playlist
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (w, "mmb_delete_playlist")), deadbeef->conf_get_int ("gtkui.mmb_delete_playlist", 0));
- // override colors
- int override = deadbeef->conf_get_int ("gtkui.override_theme_colors", 0);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (prefwin, "override_theme_colors")), override);
- gtk_widget_set_sensitive (lookup_widget (prefwin, "colors_table"), override);
-
- // colors
- gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "color_selection")), gtkui_get_selection_color ());
-
- gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "color_dark")), gtkui_get_dark_color ());
+ // override bar colors
+ int override = deadbeef->conf_get_int ("gtkui.override_bar_colors", 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (prefwin, "override_bar_colors")), override);
+ gtk_widget_set_sensitive (lookup_widget (prefwin, "bar_colors_group"), override);
- gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "color_mid")), gtkui_get_mid_color ());
+ // override tabstrip colors
+ override = deadbeef->conf_get_int ("gtkui.override_tabstrip_colors", 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (prefwin, "override_tabstrip_colors")), override);
+ gtk_widget_set_sensitive (lookup_widget (prefwin, "tabstrip_colors_group"), override);
- gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "color_light")), gtkui_get_light_color ());
+ // override listview colors
+ override = deadbeef->conf_get_int ("gtkui.override_listview_colors", 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (prefwin, "override_listview_colors")), override);
+ gtk_widget_set_sensitive (lookup_widget (prefwin, "listview_colors_group"), override);
- gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "color_back")), gtkui_get_back_color ());
-
- override = deadbeef->conf_get_int ("gtkui.disable_playlist_theming", 0);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (prefwin, "disable_playlist_theming")), override);
- gtk_widget_set_sensitive (lookup_widget (prefwin, "listview_colors_table"), override);
- gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "color_even_row")), gtkui_get_even_row_color ());
- gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "color_odd_row")), gtkui_get_odd_row_color ());
- gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "color_text")), gtkui_get_text_color ());
- gtk_color_button_set_color (GTK_COLOR_BUTTON (lookup_widget (prefwin, "color_selected_text")), gtkui_get_selected_text_color ());
+ // colors
+ prefwin_init_theme_colors ();
// network
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (w, "pref_network_enableproxy")), deadbeef->conf_get_int ("network.proxy", 0));
@@ -623,140 +634,220 @@ on_configure_plugin_clicked (GtkButton *button,
}
void
-on_color_light_color_set (GtkColorButton *colorbutton,
+on_tabstrip_light_color_set (GtkColorButton *colorbutton,
gpointer user_data)
{
GdkColor clr;
gtk_color_button_get_color (colorbutton, &clr);
char str[100];
snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
- deadbeef->conf_set_str ("gtkui.color.light", str);
+ deadbeef->conf_set_str ("gtkui.color.tabstrip_light", str);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ tabstrip_redraw ();
}
void
-on_color_mid_color_set (GtkColorButton *colorbutton,
+on_tabstrip_mid_color_set (GtkColorButton *colorbutton,
gpointer user_data)
{
GdkColor clr;
gtk_color_button_get_color (colorbutton, &clr);
char str[100];
snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
- deadbeef->conf_set_str ("gtkui.color.mid", str);
+ deadbeef->conf_set_str ("gtkui.color.tabstrip_mid", str);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ tabstrip_redraw ();
}
void
-on_color_dark_color_set (GtkColorButton *colorbutton,
+on_tabstrip_dark_color_set (GtkColorButton *colorbutton,
gpointer user_data)
{
GdkColor clr;
gtk_color_button_get_color (colorbutton, &clr);
char str[100];
snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
- deadbeef->conf_set_str ("gtkui.color.dark", str);
+ deadbeef->conf_set_str ("gtkui.color.tabstrip_dark", str);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ tabstrip_redraw ();
}
-
void
-on_color_selection_color_set (GtkColorButton *colorbutton,
+on_tabstrip_base_color_set (GtkColorButton *colorbutton,
gpointer user_data)
{
GdkColor clr;
gtk_color_button_get_color (colorbutton, &clr);
char str[100];
snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
- deadbeef->conf_set_str ("gtkui.color.selection", str);
+ deadbeef->conf_set_str ("gtkui.color.tabstrip_base", str);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
-
+ gtkui_init_theme_colors ();
+ tabstrip_redraw ();
}
void
-on_color_back_color_set (GtkColorButton *colorbutton,
+on_bar_foreground_color_set (GtkColorButton *colorbutton,
gpointer user_data)
{
GdkColor clr;
gtk_color_button_get_color (colorbutton, &clr);
char str[100];
snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
- deadbeef->conf_set_str ("gtkui.color.back", str);
+ deadbeef->conf_set_str ("gtkui.color.bar_foreground", str);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ seekbar_redraw ();
+ volumebar_redraw ();
}
void
-on_color_even_row_color_set (GtkColorButton *colorbutton,
+on_bar_background_color_set (GtkColorButton *colorbutton,
gpointer user_data)
{
GdkColor clr;
gtk_color_button_get_color (colorbutton, &clr);
char str[100];
snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
- deadbeef->conf_set_str ("gtkui.color.even_row", str);
+ deadbeef->conf_set_str ("gtkui.color.bar_background", str);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ seekbar_redraw ();
+ volumebar_redraw ();
+}
+
+void
+on_override_listview_colors_toggled (GtkToggleButton *togglebutton,
+ gpointer user_data)
+{
+ int active = gtk_toggle_button_get_active (togglebutton);
+ deadbeef->conf_set_int ("gtkui.override_listview_colors", active);
+ gtk_widget_set_sensitive (lookup_widget (prefwin, "listview_colors_group"), active);
+ deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ playlist_refresh ();
}
void
-on_color_odd_row_color_set (GtkColorButton *colorbutton,
+on_listview_even_row_color_set (GtkColorButton *colorbutton,
gpointer user_data)
{
GdkColor clr;
gtk_color_button_get_color (colorbutton, &clr);
char str[100];
snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
- deadbeef->conf_set_str ("gtkui.color.odd_row", str);
+ deadbeef->conf_set_str ("gtkui.color.listview_even_row", str);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ playlist_refresh ();
}
+void
+on_listview_odd_row_color_set (GtkColorButton *colorbutton,
+ gpointer user_data)
+{
+ GdkColor clr;
+ gtk_color_button_get_color (colorbutton, &clr);
+ char str[100];
+ snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
+ deadbeef->conf_set_str ("gtkui.color.listview_odd_row", str);
+ deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ playlist_refresh ();
+}
+
+void
+on_listview_selected_row_color_set (GtkColorButton *colorbutton,
+ gpointer user_data)
+{
+ GdkColor clr;
+ gtk_color_button_get_color (colorbutton, &clr);
+ char str[100];
+ snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
+ deadbeef->conf_set_str ("gtkui.color.listview_selection", str);
+ deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ playlist_refresh ();
+}
void
-on_color_text_color_set (GtkColorButton *colorbutton,
+on_listview_text_color_set (GtkColorButton *colorbutton,
gpointer user_data)
{
GdkColor clr;
gtk_color_button_get_color (colorbutton, &clr);
char str[100];
snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
- deadbeef->conf_set_str ("gtkui.color.text", str);
+ deadbeef->conf_set_str ("gtkui.color.listview_text", str);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ playlist_refresh ();
}
void
-on_color_selected_text_color_set (GtkColorButton *colorbutton,
+on_listview_selected_text_color_set (GtkColorButton *colorbutton,
gpointer user_data)
{
GdkColor clr;
gtk_color_button_get_color (colorbutton, &clr);
char str[100];
snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
- deadbeef->conf_set_str ("gtkui.color.selected_text", str);
+ deadbeef->conf_set_str ("gtkui.color.listview_selected_text", str);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ playlist_refresh ();
}
void
-on_override_gtk_colors_toggled (GtkToggleButton *togglebutton,
+on_listview_cursor_color_set (GtkColorButton *colorbutton,
+ gpointer user_data)
+{
+ GdkColor clr;
+ gtk_color_button_get_color (colorbutton, &clr);
+ char str[100];
+ snprintf (str, sizeof (str), "%d %d %d", clr.red, clr.green, clr.blue);
+ deadbeef->conf_set_str ("gtkui.color.listview_cursor", str);
+ deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ playlist_refresh ();
+}
+
+
+void
+on_override_bar_colors_toggled (GtkToggleButton *togglebutton,
gpointer user_data)
{
int active = gtk_toggle_button_get_active (togglebutton);
- deadbeef->conf_set_int ("gtkui.override_theme_colors", active);
- gtk_widget_set_sensitive (lookup_widget (prefwin, "colors_table"), active);
+ deadbeef->conf_set_int ("gtkui.override_bar_colors", active);
+ gtk_widget_set_sensitive (lookup_widget (prefwin, "bar_colors_group"), active);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ prefwin_init_theme_colors ();
+ seekbar_redraw ();
+ volumebar_redraw ();
}
+
void
-on_disable_playlist_theming_toggled (GtkToggleButton *togglebutton,
+on_override_tabstrip_colors_toggled (GtkToggleButton *togglebutton,
gpointer user_data)
{
int active = gtk_toggle_button_get_active (togglebutton);
- deadbeef->conf_set_int ("gtkui.disable_playlist_theming", active);
- gtk_widget_set_sensitive (lookup_widget (prefwin, "listview_colors_table"), active);
+ deadbeef->conf_set_int ("gtkui.override_tabstrip_colors", active);
+ gtk_widget_set_sensitive (lookup_widget (prefwin, "tabstrip_colors_group"), active);
deadbeef->sendmessage (M_CONFIGCHANGED, 0, 0, 0);
+ gtkui_init_theme_colors ();
+ prefwin_init_theme_colors ();
+ tabstrip_redraw ();
}
void