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