Commit Graph

34 Commits

Author SHA1 Message Date
Robin Gareus d1b462c213 Special case tansient-parent windows on macOS
macOS has its own z-axis stacking (see Manager::set_transient_for) for
dialog and utility windows of a single application. There only case to
set a dedicated transient parent is to keep the child window on top of a
dialog.

Valid use-cases are e.g.
 Plugin Preset Name entry on top of a PluginWindow
 Export Format Settings on top of the Export Dialog

Alternatively one would need to patch gtk to handle
[NSView shouldDelayWindowOrderingForEvent] and explicitly reorder
siblings of a common parent window.

This fixes an issue that plugin windows cannot be re-stacked but were
previously always stacked in the order they were opened.
2022-11-15 03:07:43 +01:00
Robin Gareus c456006f82
Enable some key release event forwarding
This is needed for the virtual MIDI keyboard to trigger note-off events
2019-11-22 22:12:48 +01:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Robin Gareus 01a43c6b1e
Another round of whitespace fixes 2019-04-09 00:27:33 +02:00
Paul Davis ba37a6bd36 no more ProxyTemporary member of ArdourWindow - all such windows should be wrapped in an explicit proxy in ARDOUR_UI 2018-09-23 13:48:19 -04:00
Thomas Brand 63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
Paul Davis 4cc1286064 fix use of DIALOG/UTILITY window type hint on OS X.
See code comments for details
2016-04-13 13:00:05 -04:00
Paul Davis f178c4f4ee make (parent,title) variant of ArdourWindow constructor set window title 2015-12-01 09:23:08 -05:00
nick_m f46d3dbfaf New non-parented windows are initially positioned at WIN_POS_MOUSE again. 2015-10-20 00:53:30 +11:00
Robin Gareus 22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis 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
Tim Mayberry 6b019a4953 Move UIConfiguration Singleton into UIConfiguration header
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
Paul Davis f201b19604 reverse logic in ArdourWindow key handling 2015-04-01 14:01:21 -04:00
Paul Davis 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
Paul Davis 64fa63212f move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration 2014-12-22 13:39:46 -05:00
Robin Gareus a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
Paul Davis 38f2aa51bd Merge branch 'master' into cairocanvas 2013-07-09 09:11:52 -04:00
Robin Gareus 07be5beee7 window delete/hide is managed by WMProxy (amend to cb6f16ac) 2013-07-07 22:29:45 +02:00
Paul Davis bebe2af95a merge with master 2013-05-08 14:48:28 -04:00
Paul Davis 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
Paul Davis 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
Paul Davis 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
Paul Davis 65b6f8efad more window management rationalization 2013-05-05 16:10:54 -04:00
Paul Davis 074ef3c859 fix bigclockwindow's lack of hiding, set ArdourWindow to just-hide-on-delete and add a bit of visibility tracking debugging 2013-05-05 15:07:52 -04:00
Paul Davis 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
Paul Davis 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
Paul Davis d88999312a force ArdourWindows to be TYPE_UTILITY so that they float "with" TYPE_DIALOG windows (at least on OS X - still to be tested on X Window 2013-05-02 10:10:05 -04:00
Paul Davis 7c19d00544 use new VisibilityTracker class for ArdourWindow 2013-03-25 20:04:36 -04:00
Paul Davis 4235e9a1a2 a variety of mostly unused parameter errors from OS X Lion's compiler
git-svn-id: svn://localhost/ardour2/branches/3.0@12148 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02 20:29:46 +00:00
Paul Davis 2b4d07e304 make the "with-parent" constructor for ArdourWindow actually work by calling set_transient_for
git-svn-id: svn://localhost/ardour2/branches/3.0@11080 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 23:17:33 +00:00
David Robillard 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