Commit graph

1020 commits

Author SHA1 Message Date
Paul Davis
077bb13e94 extend API for tabbable visibility management 2016-02-22 15:31:23 -05:00
Paul Davis
d4664434f7 set "close-button" data on Tabbable contents.
I tried doing this in the constructor and got a segfault for reasons I don't understand
but probably should
2016-02-22 15:31:23 -05:00
Paul Davis
5e0337a4a3 convert CairoIcon into a NO_WINDOW widget that just draws into its parent widget 2016-02-22 15:31:23 -05:00
Paul Davis
a48684c692 if _need_bg is set to false in a CairoWidget, then don't actually draw the background 2016-02-22 15:31:23 -05:00
Paul Davis
b6c4ae46d0 clean up tabbable state maintainance; drop Gtk::Button unintentionally used for close cross image 2016-02-22 15:31:23 -05:00
Paul Davis
d6f3a006d2 scale CairoIcon by Gtkmm2ext::UI::ui_scale 2016-02-22 15:31:23 -05:00
Paul Davis
b48c7c0180 revert to thin lines for close cross icon 2016-02-22 15:31:23 -05:00
Paul Davis
914af0f0c8 move ui_scale static member from ARDOUR_UI to GtkUI 2016-02-22 15:31:22 -05:00
Paul Davis
0819efe27c remove unused lines 2016-02-22 15:31:22 -05:00
Paul Davis
90845af8fa hopefully get dynamic tabbable menu state right this time 2016-02-22 15:31:22 -05:00
Paul Davis
e2dfc10698 thicken up lines of close cross icon 2016-02-22 15:31:22 -05:00
Paul Davis
1c41f75488 provide a sigc::signal to track display state changes for a Tabbable 2016-02-22 15:31:22 -05:00
Paul Davis
308f6ed828 changes to get show/hide/attach/detach working 2016-02-22 15:31:22 -05:00
Paul Davis
fd938d95bf change/extend Tabbable API to allow for show/hide/attach/detach 2016-02-22 15:31:22 -05:00
Paul Davis
8e14496919 use new CairoIcon to add a tab-close "button" to tabs 2016-02-22 15:31:22 -05:00
Paul Davis
e026adf4a9 second part of: add new CairoWidget-derived class that does nothing but shown an ArdourIcon. 2016-02-22 15:31:22 -05:00
Paul Davis
c06c2c29db add new CairoWidget-derived class that does nothing but shown an ArdourIcon.
Somewhat necessary by placement of ArdourButton class in directory heirarchy. But these are also
much simpler
2016-02-22 15:31:22 -05:00
Paul Davis
434ef34229 add tab-closing buttons to tabs.
Images are non-scalable, too big and ugly. Next commit ...
2016-02-22 15:31:22 -05:00
Paul Davis
347ba94bcd add ::make_visible() to Tabbable class 2016-02-22 15:31:22 -05:00
Paul Davis
436706c8d4 remove debug output 2016-02-22 15:31:22 -05:00
Paul Davis
e46b518319 classes derived from WindowProxy are responsible for their own window creation in ::set_state().
Fixes a crash reported by A.Prokoudine when opening a session with visible plugin GUIs
2016-02-22 15:31:22 -05:00
Paul Davis
37fce09a18 widespread changes to get the new (oldArdour binding scheme to be used for keyboard accelerators 2016-02-22 15:31:22 -05:00
Paul Davis
d84f655495 add suggestive tooltips for tabs; remove position argument for Tabbable since it isn't really usable 2016-02-22 15:31:21 -05:00
Paul Davis
552e995297 save/restore tabbable state 2016-02-22 15:31:21 -05:00
Paul Davis
9f0ea99fac better way to switch to a tab 2016-02-22 15:31:21 -05:00
Paul Davis
03b354a99e make tabs reorderable 2016-02-22 15:31:21 -05:00
Paul Davis
a5150d500d when tearing off a tab, make the window be the same size as the allocation of the tab 2016-02-22 15:31:21 -05:00
Paul Davis
9010262bed first compilable version of tabbable design.
I would have loved to split this apart, but there are just so many interrelated changes,
it makes little sense and would be a huge effort that would break future git bisect
use because so many intermediate commits would not compile
2016-02-22 15:31:21 -05:00
Paul Davis
85eee3b09d compilable version of WindowProxy 2016-02-22 15:31:21 -05:00
Paul Davis
a29f76c1c4 initial versions of Tabbable object 2016-02-22 15:31:21 -05:00
Paul Davis
df05e97288 first version of Gtkmm2ext::WindowProxy 2016-02-22 15:31:21 -05:00
André Nusser
1afbdaff58 Fix compilation warnings. (libs part) 2016-02-22 15:11:02 -05:00
Paul Davis
86d27a736c better system for managing kbd focus after cmd-w closing a dialog.
Key, Button and Focus In events in the editor+mixer windows cause the respective window to be noted
as the window to which focus should return after a dialog is closed with cmd/ctrl-w
2016-02-22 14:03:55 -05:00
Paul Davis
60c4b30b7e manually revert most of previous commit related to dialog/main window focus management 2016-02-22 13:55:31 -05:00
Paul Davis
3a08ac5e1f os x: an initial attempt at fixing loss of keyboard focus after cmd-w to close dialog 2016-02-22 11:49:17 -05:00
Paul Davis
344cf05540 OS X: fix the handling of SUPER,HYPER,META (see code comment for more) 2016-02-21 10:48:35 -05:00
Paul Davis
c92e822332 remove HYPER,SUPER,META modifier masks from Keyboard::RelevantModifierMask so that modifier_state_equals() works on OS X
GTK on OS X adds META when Command is pressed even though it also uses MOD2 to indicate COMMAND. So Cmd-w was actually META-MOD2-w and modifier_state_equals(MOD2)
would fail. This should have nothing but good side effects
2016-02-18 09:44:50 -05:00
Paul Davis
dd7649a409 add a static utility function (should really be in utils.cc and public) to show modifier state in english; use said function 2016-02-18 09:43:03 -05:00
Robin Gareus
4a9ffee486 Allow partial CairoWidget exposure 2016-02-12 22:57:46 +01:00
John Emmas
3f43e5cd04 Remove no longer needed 'prolooks' source(s) from our MSVC projects (gtkmm2ext & gtk2_ardour) 2016-02-12 12:31:22 +00:00
Paul Davis
e6b06597b7 remove all traces of "prolooks" and related classes 2016-02-11 13:03:24 -05:00
Tim Mayberry
85b4acc916 Change CairoWidget::get_active() to be const 2016-02-11 12:15:07 +10:00
Paul Davis
9e3299f97d change Controllable::set_value() API to include grouped control consideration.
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
Robin Gareus
5d8b75386c allow to set per item drag targets 2015-12-30 12:25:09 +01:00
Robin Gareus
2d871435ca allow to set parent for modal dialog 2015-12-29 13:31:24 +01:00
Robin Gareus
ee541036b4 fix window-title (separate application name, thread name) 2015-12-29 11:03:09 +01:00
Robin Gareus
8e1a9f0ada missing drag-end (fix possible crash) 2015-12-28 17:23:45 +01:00
Paul Davis
0d9efc1148 redesign cross-thread registration/signalling system
This new design will work even when threads that need to receive
messages from RT threads are created *after* the RT threads. The
existing design would fail because the RT thread(s) would never
be known the later created threads, and so signals emitted by the
RT thread and causing call_slot() in the receiver would end up
being enqueued using a lock-protected list. The new design ensures
that communication always uses a lock-free FIFO instead
2015-12-28 10:14:17 -05:00
Robin Gareus
0aba08594c allow DnD between DnDTreeView and DnDVbox 2015-12-28 04:10:39 +01:00
Robin Gareus
3ff674d583 Treeview Drag: allow to use single column as drag-widget 2015-12-24 17:26:06 +01:00