Commit graph

941 commits

Author SHA1 Message Date
Paul Davis
d2a6fec03a additional GTKOSX => __APPLE__ changes missed in previous commit 2016-02-22 15:31:25 -05:00
Paul Davis
329c096066 add a clarifying comment 2016-02-22 15:31:25 -05:00
Paul Davis
b23c5264f2 change operator<< for Keyboardkey to show state in hex 2016-02-22 15:31:25 -05:00
Paul Davis
2cc44e7668 no more munging with keyvals/accels on OS X 2016-02-22 15:31:24 -05:00
Paul Davis
aa71d60ab9 remove Bindings::ignored_state and use Keyboard::RelevantModifierMask 2016-02-22 15:31:24 -05:00
Paul Davis
fbc985f913 set PrimaryModifier on OS X to match the actual bits used by GTK for Command 2016-02-22 15:31:24 -05:00
Paul Davis
aba063bfaa remove Gtkmm2ext::possibly_translate_mod_to_make_legal_accelerator().
This is no longer needed because we can set the modifier to the actual bits that GTK uses for Command (META+MOD2)
2016-02-22 15:31:24 -05:00
Paul Davis
bc487bb4b0 replicate the remove-all-trailing whitespace commit(s) in master 2016-02-22 15:31:24 -05:00
Paul Davis
589f2a1ab8 change suffix of keybinding files to ".keys" to avoid conflict with earlier versions.
Move some code around that should never have been inside libs/ardour to begin with.
2016-02-22 15:31:24 -05:00
Paul Davis
b944532f67 cleanup Bindings/ActionMap API to get all actions for various purposes 2016-02-22 15:31:24 -05:00
Paul Davis
66e0328a93 create a two-way association between an action map and a bindings object, rather than just one way.
This helps us lookup bindings when printing out lists for the user
2016-02-22 15:31:24 -05:00
Paul Davis
949163f806 more changes to Bindings, Keyboard APIs 2016-02-22 15:31:24 -05:00
Paul Davis
67e19c177f radically change Keyboard/Binding API design to disconnect Gtk::Action lookup from binding definition
We need this because we need binding information/objects before all
Actions have been defined.
2016-02-22 15:31:24 -05:00
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