diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-16 21:23:50 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-16 21:23:50 -0400 |
commit | 381d4debf4c84816d08ff4de27bc9ae8d5d15f28 (patch) | |
tree | 2cb77585cecff9f4ca3d8be6b5d3e75eb39ef650 /gtk2_ardour/theme_manager.cc | |
parent | 6b78532dd5a75e2d13dba2b1fd07f099dde706a8 (diff) |
make waveform gradient depth continuously variable. color probably needs adjusting as do color stops to get a pleasing effect at most settings
Diffstat (limited to 'gtk2_ardour/theme_manager.cc')
-rw-r--r-- | gtk2_ardour/theme_manager.cc | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc index f1538c98e9..8a350fca49 100644 --- a/gtk2_ardour/theme_manager.cc +++ b/gtk2_ardour/theme_manager.cc @@ -58,7 +58,9 @@ ThemeManager::ThemeManager() , light_button (_("Light Theme")) , reset_button (_("Restore Defaults")) , flat_buttons (_("Draw \"flat\" buttons")) - , gradient_waveforms (_("Draw waveforms with color gradient")) + , waveform_gradient_depth (0, 1.0, 0.1) + , waveform_gradient_depth_label (_("Waveforms color gradient depth")) + { set_title (_("Theme Manager")); @@ -94,10 +96,18 @@ ThemeManager::ThemeManager() vbox->pack_start (theme_selection_hbox, PACK_SHRINK); vbox->pack_start (reset_button, PACK_SHRINK); vbox->pack_start (flat_buttons, PACK_SHRINK); - vbox->pack_start (gradient_waveforms, PACK_SHRINK); + + Gtk::HBox* hbox = Gtk::manage (new Gtk::HBox()); + hbox->set_spacing (6); + hbox->pack_start (waveform_gradient_depth, true, true); + hbox->pack_start (waveform_gradient_depth_label, false, false); + + vbox->pack_start (*hbox, PACK_SHRINK); vbox->pack_start (scroller); add (*vbox); + waveform_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED); + color_display.signal_button_press_event().connect (sigc::mem_fun (*this, &ThemeManager::button_press_event), false); color_dialog.get_colorsel()->set_has_opacity_control (true); @@ -109,7 +119,7 @@ ThemeManager::ThemeManager() light_button.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_light_theme_button_toggled)); reset_button.signal_clicked().connect (sigc::mem_fun (*this, &ThemeManager::reset_canvas_colors)); flat_buttons.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_flat_buttons_toggled)); - gradient_waveforms.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_gradient_waveforms_toggled)); + waveform_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_waveform_gradient_depth_change)); set_size_request (-1, 400); setup_theme (); @@ -247,11 +257,13 @@ ThemeManager::on_flat_buttons_toggled () } void -ThemeManager::on_gradient_waveforms_toggled () +ThemeManager::on_waveform_gradient_depth_change () { - ARDOUR_UI::config()->gradient_waveforms.set (gradient_waveforms.get_active()); + double v = waveform_gradient_depth.get_value(); + + ARDOUR_UI::config()->waveform_gradient_depth.set (v); ARDOUR_UI::config()->set_dirty (); - ArdourCanvas::WaveView::set_gradient_waveforms (gradient_waveforms.get_active()); + ArdourCanvas::WaveView::set_global_gradient_depth (v); } void @@ -363,7 +375,7 @@ ThemeManager::setup_theme () } flat_buttons.set_active (ARDOUR_UI::config()->flat_buttons.get()); - gradient_waveforms.set_active (ARDOUR_UI::config()->gradient_waveforms.get()); + waveform_gradient_depth.set_value (ARDOUR_UI::config()->waveform_gradient_depth.get()); load_rc_file(rcfile, false); } |