diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-10-11 19:50:15 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-10-11 19:50:15 +0000 |
commit | 360a903069c7a0dd5e792312ec0eb8921a2aa49d (patch) | |
tree | ef92987f0c3190c4df451e2303abf2d9ac5f995c /gtk2_ardour/ardour_ui_ed.cc | |
parent | 7cdca2efdb14e94e71545f646761db604cfd08c8 (diff) |
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<T> in session region signalhandlers, just weak_ptr<T>
git-svn-id: svn://localhost/ardour2/trunk@976 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui_ed.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui_ed.cc | 27 |
1 files changed, 26 insertions, 1 deletions
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 <pbd/pathscanner.h> +#include <gtkmm2ext/utils.h> + #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_("<Actions>/Common/ToggleBigClock"))); + + if (editor) { + editor->ensure_float (*big_clock_window); + } + + manage_window (*big_clock_window); +} |