13
0
Commit Graph

44 Commits

Author SHA1 Message Date
e42699600b
Delete temporary Window Proxy for dialogs
There are two cases:
 (A) Proxy is created first, dialog is created later on demand
 (B) Dialog is created and directly registers its window as proxy

In (B) the dialog is usually on the stack and destroyed when the
ArdourDialog instances leaves scope. In that case ~ArdourDialog()
is called and the proxy remained.

Destroying the proxy does destroy the registered window in ~WindowProxy()
If ArdourDialog's d'tor itself deletes the proxy it would recurse into
itself. Existing APIs e.g. drop_window() likewise delete the window and
cannot be safely called from ~ArdourDialog.
2018-11-29 14:25:22 +01:00
d9767b10ac Fix another crash at exit.
During ARDOUR_UI::finish(), after destroying various instances:
close_all_dialogs() -> ArdourDialog::on_response() -> GUIIdle()

The event loop recurses and may execute a previously scheduled
Editor::idle_visual_changer()
2017-07-03 14:03:10 +02:00
057bb167ca Run gtk-main iteration after hiding dialogs 2017-04-20 23:15:13 +02:00
3e43585fa1 Pop splash on dialog response - not d'tor.
A Dialog Window may not be tightly scoped, and may be around
for a while (query settings from the dialog instance). The destructor
may only be called  later.
2017-04-01 16:40:07 +02:00
dae7e8dbd3 NO-OP: whitespace 2017-04-01 15:56:35 +02:00
207fa93cf9 when destroying an ArdourDialog, be sure the Keyboard object knows about it.
It seems that there are ways to destroy a window without it emitting focus out
2016-06-07 18:28:32 -04:00
nick_m
3fb3b85e3e Default to WIN_POS_MOUSE for dialogs also. 2015-10-20 00:53:31 +11:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
57613dc0cc ArdourDialog and ArdourWindow don't change magic widget focus 2015-04-01 12:44:35 -04:00
nick_m
c94d352f56 Potential fix for AU window close crash. 2015-04-02 03:32:21 +11:00
nick_m
35f69656e8 Window focus handling fixes.
Many windows were not getting key events.
Use magic focus infrastructure (built for widgets) to deliver key events
via window focus in/out.
2015-04-02 02:41:49 +11:00
nick_m
8a37c1cd83 Non-transient ArdourDialogs and ArdourWindows appear in the centre
of the screen initially (first use in a new session) rather than at
the mouse position.
2015-03-15 06:25:06 +11:00
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
e977b659af fix keyboard shorcuts in dialogs.
actually, for most dialogs, key-presses should never
be relayed. a get_modal() check might be the appropriate.
2014-06-14 00:22:32 +02:00
bedc7b170e change namespace/naming of WindowManager classes; register all ArdourDialog and ArdourWindow classes as ProxyTemporary windows so that transient-for can be set for all such windows 2013-05-07 22:09:16 -04:00
87d502c15b work work on window mgmt: offer the change to mark all floating windows as Dialogs (in th theme manager), and mark ArdourWindow and ArdourDialog as transient-for on creation, based on current WindowManager (ardour-object) settings 2013-05-07 18:09:12 -04:00
f96a5c2a95 make ArdourDialog and ArdourWindow call ::relay_key_press() which fixes the "not-toggleable-on-first-show" and other issues 2013-05-06 10:58:35 -04:00
65b6f8efad more window management rationalization 2013-05-05 16:10:54 -04:00
6fd66bd467 move CloseAllDialogs signal and associated method from ArdourDialog to ARDOUR_UI, and make ArdourWindow obey it too 2013-05-02 21:13:36 -04:00
3973ce81b3 remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works 2013-05-02 18:13:35 -04:00
a9341bd5f0 improve relationship between ArdourDialog and Splash on OS X, where window restacking doesn't really work the way we need it to. more complex than anticipated because it seems that destroying a Gtk::Dialog does not emit its hide() or unmap() or unmap_event() signals 2013-04-30 13:50:45 -04:00
b53c92b652 the return of the splash, with a few changes to help with window layering a little
git-svn-id: svn://localhost/ardour2/branches/3.0@11222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-10 18:21:39 +00:00
5770f26bc9 Add ArdourWindow class for non-dialog windows.
Make IOSelector an ArdourWindow.

It's debatable whether this one should actually be a window, cancel buttons
might actually be useful on the IO selector.


git-svn-id: svn://localhost/ardour2/branches/3.0@10691 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-18 21:56:01 +00:00
cd4e803f60 Clean up ArdourDialog.
Remove undefined static ArdourDialog::close_all_current_dialogs.

Remove pointless ArdourDialog::on_key_press_event.

Defer to Gtk::Dialog::on_[enter|leave]_notify_event.  I'm not sure exactly
what these currently do, but not calling it doesn't seem like a good idea.

Trim include tree ever so slightly.


git-svn-id: svn://localhost/ardour2/branches/3.0@10690 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-18 21:03:21 +00:00
f6fdd8dcbf switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
8687895abb remove using namespace sigc everywhere to ensure clarity over which bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime
git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12 15:02:15 +00:00
64dc5427e4 make all use of bind/mem_fun be explicitly sigc::
git-svn-id: svn://localhost/ardour2/branches/3.0@6354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:29:48 +00:00
7703f0a76a move generic parts of Keyboard into gtkmm2ext. imperfectly done, but makes modifiers available in libgtkmm2ext now
git-svn-id: svn://localhost/ardour2/branches/3.0@6288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 22:51:32 +00:00
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
Carl Hetherington
3b89d9eaa0 Remove most using declarations from header files.
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12 17:03:42 +00:00
bc89fe0147 most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet
git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 14:43:24 +00:00
1c299d5a5c merge Sakari's (sbergen) branch back into 3.0, removing libsndfile and adding taglib
git-svn-id: svn://localhost/ardour2/branches/3.0@3736 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-17 08:44:51 +00:00
80c3677c83 Merge with 2.0-ongoing R2988
git-svn-id: svn://localhost/ardour2/branches/3.0@2991 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-02 17:22:04 +00:00
f7f9d6fdc4 merge from 2.0-ongoing by hand, minus key binding editor
git-svn-id: svn://localhost/ardour2/trunk@2539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-11 22:07:47 +00:00
Taybin Rutkin
fd20404daa Updates for set_type_hint() and the sfdb_ui.
git-svn-id: svn://localhost/trunk/ardour2@239 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-04 05:53:51 +00:00
f69c9ed564 lots and lots of keybindings working again, with lots more menu items
git-svn-id: svn://localhost/trunk/ardour2@209 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-24 18:25:26 +00:00
3436df6eab the usual blob of fixes. note the requirement for ComboBoxText::set_active_text()
git-svn-id: svn://localhost/trunk/ardour2@160 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-02 19:18:26 +00:00
1f16781c75 slowly fixing up ArdourDialog nonsense
git-svn-id: svn://localhost/trunk/ardour2@132 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-27 21:17:41 +00:00
fb45ffea71 strip keyboard.cc of noxious focus handling stuff, and cleanup
git-svn-id: svn://localhost/trunk/ardour2@106 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-23 04:13:32 +00:00
08d33fcb0d rename all GTK signals
git-svn-id: svn://localhost/trunk/ardour2@42 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-26 15:00:36 +00:00
625df0912a got ardour_dialog compiling
git-svn-id: svn://localhost/trunk/ardour2@41 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-26 14:33:53 +00:00
25ac88fcae fix all _impl member functions to be on_ instead
git-svn-id: svn://localhost/trunk/ardour2@38 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-26 02:48:59 +00:00
Taybin Rutkin
e493b2b7c4 Fly my pretties!
git-svn-id: svn://localhost/trunk/ardour2@28 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-25 20:33:00 +00:00
Taybin Rutkin
209d967b1b Initial import of gtk2_ardour.
git-svn-id: svn://localhost/trunk/ardour2@24 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-25 18:42:24 +00:00