summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_ed.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/ardour_ui_ed.cc')
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc20
1 files changed, 14 insertions, 6 deletions
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index c47f2023ae..f7005e99d9 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -642,6 +642,8 @@ ARDOUR_UI::setup_clock ()
ARDOUR_UI::Clock.connect (sigc::mem_fun (big_clock, &AudioClock::set));
big_clock->set_corner_radius (0.0);
+ big_clock->set_fixed_width (false);
+ big_clock->mode_changed.connect (sigc::mem_fun (*this, &ARDOUR_UI::big_clock_reset_aspect_ratio));
big_clock_window->set (new Window (WINDOW_TOPLEVEL), false);
@@ -661,13 +663,8 @@ ARDOUR_UI::setup_clock ()
}
void
-ARDOUR_UI::big_clock_realized ()
+ARDOUR_UI::big_clock_reset_aspect_ratio ()
{
- int x, y, w, d;
-
- set_decoration (big_clock_window->get(), (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH));
- big_clock_window->get()->get_window()->get_geometry (x, y, w, big_clock_height, d);
-
Gtk::Requisition req;
big_clock->size_request (req);
float aspect = req.width/(float)req.height;
@@ -677,6 +674,17 @@ ARDOUR_UI::big_clock_realized ()
geom.max_aspect = aspect;
big_clock_window->get()->set_geometry_hints (*big_clock, geom, Gdk::HINT_ASPECT);
+}
+
+void
+ARDOUR_UI::big_clock_realized ()
+{
+ int x, y, w, d;
+
+ set_decoration (big_clock_window->get(), (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH));
+ big_clock_window->get()->get_window()->get_geometry (x, y, w, big_clock_height, d);
+
+ big_clock_reset_aspect_ratio ();
original_big_clock_height = big_clock_height;
original_big_clock_width = w;