From 360a903069c7a0dd5e792312ec0eb8921a2aa49d Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 11 Oct 2006 19:50:15 +0000 Subject: make MementoCommand inherit from sigc::trackable so that we don't double-call its object-going-away handler; make big clock float ; do not use shared_ptr in session region signalhandlers, just weak_ptr git-svn-id: svn://localhost/ardour2/trunk@976 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/ardour_ui2.cc | 17 ----------------- gtk2_ardour/ardour_ui_ed.cc | 27 ++++++++++++++++++++++++++- gtk2_ardour/automation_line.h | 2 +- 3 files changed, 27 insertions(+), 19 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 9a964fe519..ed7c4951e1 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -451,23 +451,6 @@ ARDOUR_UI::setup_transport () transport_tearoff_hbox.pack_start (alert_box, false, false); } -void -ARDOUR_UI::setup_clock () -{ - ARDOUR_UI::Clock.connect (bind (mem_fun (big_clock, &AudioClock::set), false)); - - big_clock_window = new Window (WINDOW_TOPLEVEL); - - big_clock_window->set_border_width (0); - big_clock_window->add (big_clock); - big_clock_window->set_title (_("ardour: clock")); - big_clock_window->set_type_hint (Gdk::WINDOW_TYPE_HINT_MENU); - big_clock_window->signal_realize().connect (bind (sigc::ptr_fun (set_decoration), big_clock_window, (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH))); - big_clock_window->signal_unmap().connect (bind (sigc::ptr_fun(&ActionManager::uncheck_toggleaction), X_("/Common/ToggleBigClock"))); - - manage_window (*big_clock_window); -} - void ARDOUR_UI::manage_window (Window& win) { diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index eebe33bf58..d7c294c681 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -26,6 +26,8 @@ #include +#include + #include "ardour_ui.h" #include "public_editor.h" #include "audio_clock.h" @@ -39,10 +41,12 @@ #include "i18n.h" +using namespace std; using namespace ARDOUR; using namespace PBD; -using namespace Gtk; using namespace Gtkmm2ext; +using namespace Gtk; +using namespace Glib; using namespace sigc; int @@ -558,3 +562,24 @@ ARDOUR_UI::build_menu_bar () menu_bar_base.set_name ("MainMenuBar"); menu_bar_base.add (menu_hbox); } + +void +ARDOUR_UI::setup_clock () +{ + ARDOUR_UI::Clock.connect (bind (mem_fun (big_clock, &AudioClock::set), false)); + + big_clock_window = new Window (WINDOW_TOPLEVEL); + + big_clock_window->set_border_width (0); + big_clock_window->add (big_clock); + big_clock_window->set_title (_("ardour: clock")); + big_clock_window->set_type_hint (Gdk::WINDOW_TYPE_HINT_MENU); + big_clock_window->signal_realize().connect (bind (sigc::ptr_fun (set_decoration), big_clock_window, (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH))); + big_clock_window->signal_unmap().connect (bind (sigc::ptr_fun(&ActionManager::uncheck_toggleaction), X_("/Common/ToggleBigClock"))); + + if (editor) { + editor->ensure_float (*big_clock_window); + } + + manage_window (*big_clock_window); +} diff --git a/gtk2_ardour/automation_line.h b/gtk2_ardour/automation_line.h index 52193ecc4c..eb2d204513 100644 --- a/gtk2_ardour/automation_line.h +++ b/gtk2_ardour/automation_line.h @@ -96,7 +96,7 @@ class ControlPoint ShapeType _shape; }; -class AutomationLine : public sigc::trackable, public PBD::StatefulDestructible +class AutomationLine : public PBD::StatefulDestructible { public: AutomationLine (const string & name, TimeAxisView&, ArdourCanvas::Group&, ARDOUR::AutomationList&); -- cgit v1.2.3