diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-05 22:18:04 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-10 15:27:11 +0200 |
commit | 62d5585e34d410c9c5feb7cf7b4742360c2187b0 (patch) | |
tree | 3ca7125166d46d2205187867a8f499aa009fcda8 /gtk2_ardour/meterbridge.cc | |
parent | 09be35c5cbfc218f9a83842e10f41db14ba4abea (diff) |
prepare meter configuration..
- rework metric/tick image cache invalidation
- flush cache
- send signal to queue redraws
(TODO) selectively flush cache // cache per size, style
- add four common line up levels
Diffstat (limited to 'gtk2_ardour/meterbridge.cc')
-rw-r--r-- | gtk2_ardour/meterbridge.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/meterbridge.cc b/gtk2_ardour/meterbridge.cc index 99b80fb668..782a8f84fc 100644 --- a/gtk2_ardour/meterbridge.cc +++ b/gtk2_ardour/meterbridge.cc @@ -51,6 +51,8 @@ #include "route_sorter.h" #include "actions.h" #include "gui_thread.h" +#include "global_signals.h" +#include "meter_patterns.h" #include "i18n.h" @@ -200,6 +202,10 @@ Meterbridge::Meterbridge () Gtk::Viewport* viewport = (Gtk::Viewport*) scroller.get_child(); viewport->set_shadow_type(Gtk::SHADOW_NONE); viewport->set_border_width(0); + + UI::instance()->theme_changed.connect (sigc::mem_fun(*this, &Meterbridge::on_theme_changed)); + ColorsChanged.connect (sigc::mem_fun (*this, &Meterbridge::on_theme_changed)); + DPIReset.connect (sigc::mem_fun (*this, &Meterbridge::on_theme_changed)); } Meterbridge::~Meterbridge () @@ -398,6 +404,7 @@ Meterbridge::set_session (Session* s) _session->DirtyChanged.connect (_session_connections, invalidator (*this), boost::bind (&Meterbridge::update_title, this), gui_context()); _session->StateSaved.connect (_session_connections, invalidator (*this), boost::bind (&Meterbridge::update_title, this), gui_context()); _session->config.ParameterChanged.connect (*this, invalidator (*this), ui_bind (&Meterbridge::parameter_changed, this, _1), gui_context()); + Config->ParameterChanged.connect (*this, invalidator (*this), ui_bind (&Meterbridge::parameter_changed, this, _1), gui_context()); if (_visible) { show_window(); @@ -654,4 +661,13 @@ Meterbridge::parameter_changed (std::string const & p) _show_midi = _session->config.get_show_midi_on_meterbridge(); sync_order_keys(MixerSort); } + else if (p == "meter-line-up-level") { + meter_clear_pattern_cache(); + } +} + +void +Meterbridge::on_theme_changed () +{ + meter_clear_pattern_cache(); } |