summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_clock.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-12-27 18:49:12 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-12-27 18:49:12 +0000
commitfe1796fd6fbf0e340b14004f4a1cebaa1743ed30 (patch)
treee3428cc9c50c9a90556b99d4cd7b7d8c3d2cbe0e /gtk2_ardour/audio_clock.cc
parent5088d3b59bf9e06d8c682e6a706d5d6a9b99bf4d (diff)
allow big block to be shrunk in size as well as expanded (suprisingly complex!)
git-svn-id: svn://localhost/ardour2/branches/3.0@13740 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_clock.cc')
-rw-r--r--gtk2_ardour/audio_clock.cc21
1 files changed, 17 insertions, 4 deletions
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc
index c1d256fd02..015e328307 100644
--- a/gtk2_ardour/audio_clock.cc
+++ b/gtk2_ardour/audio_clock.cc
@@ -80,6 +80,7 @@ AudioClock::AudioClock (const string& clock_name, bool transient, const string&
, foreground_attr (0)
, first_height (0)
, first_width (0)
+ , style_resets_first (true)
, layout_height (0)
, layout_width (0)
, info_height (0)
@@ -550,8 +551,15 @@ AudioClock::on_size_request (Gtk::Requisition* req)
req->height += separator_height;
}
- first_height = req->height;
- first_width = req->width;
+ if (_fixed_width) {
+ first_height = req->height;
+ first_width = req->width;
+ } else {
+ if (first_width == 0) {
+ first_height = req->height;
+ first_width = req->width;
+ }
+ }
}
void
@@ -2213,8 +2221,13 @@ void
AudioClock::on_style_changed (const Glib::RefPtr<Gtk::Style>& old_style)
{
CairoWidget::on_style_changed (old_style);
- first_width = 0;
- first_height = 0;
+ if (style_resets_first) {
+ first_width = 0;
+ first_height = 0;
+ }
+ if (!_fixed_width) {
+ style_resets_first = false;
+ }
set_font ();
set_colors ();
}