Commit graph

1178 commits

Author SHA1 Message Date
Paul Davis
29b69b0ab4 various fixes for saving bindings state 2016-02-22 15:31:24 -05:00
Paul Davis
f028a6bffb fix memory lifetime management issue 2016-02-22 15:31:24 -05:00
Paul Davis
36023db8aa change/extend/rework Bindings API to allow replacement and provide stub/hook/call to save bindings 2016-02-22 15:31:23 -05:00
Paul Davis
04a9ce757c initial compilable version of saving key bindings with "new" scheme 2016-02-22 15:31:23 -05:00
Paul Davis
00933950b7 small rationalization of naming and code for managing plugin GUI visibility 2016-02-22 15:31:23 -05:00
Paul Davis
e13322e7f5 bindings: prevent double registration and double signal connection, and provide get_all_actions() methods 2016-02-22 15:31:23 -05:00
Paul Davis
d0fc12bd22 remove all action-registering API from Gtkmm2ext::ActionManager 2016-02-22 15:31:23 -05:00
Paul Davis
0f17508e6c changes to Bindings and Keyboard API to support (mostly) GTK-free keyboard bindings 2016-02-22 15:31:23 -05:00
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