4e6895f156
I'm taking a guess that we need to pass 'this' at line 243 of 'gtkmm2ext/fader.cc'
...
(makes it consistent with similar changes elsewhere).
2016-03-17 13:38:39 +00:00
9a11e3a64d
change API for CairoWidget::focus_handler
...
This functor/closure is responsible for stealing focus from any existing text entry (or whatever else may have focus)
when clicking on a CairoWidget or derived class.
The old implementation just gave focus back to the editor canvas. The new version walks up the widget packing
heirarchy to find a focusable parent (from the CairoWidget for which it is invoked). If no focusable parent
is found, it cancels keyboard focus in the toplevel window containing the CairoWidget
2016-03-15 12:41:21 -04:00
a8f242f80a
no need for an noop method
2016-03-15 12:41:21 -04:00
acc5b4f54c
and now without debug printf()
2016-03-11 22:40:58 +01:00
99801187e8
prepare DnD for copying processor state
2016-03-11 21:59:36 +01:00
bd519627d1
Make sure that a newly introduced class will be visible if it's needed outside of libgtkmm2ext
2016-03-11 10:51:24 +00:00
6af6031774
Accommodate newly introduced source(s) in our MSVC project (gtkmm2ext)
2016-03-11 10:49:42 +00:00
Mathias Buhr
720c68d7e1
Adds a tooltip to the icon
2016-03-08 08:44:58 -05:00
Mathias Buhr
1375c454fb
Implements filtering in bindings editor
2016-03-08 08:44:58 -05:00
48c70b60d8
remove uncharacteristic comments
2016-03-08 08:37:13 -05:00
add6c7b480
fix up indentation in libs/gtkmm2ext/bindings code, probably messed up by emacs on OS X
2016-03-08 08:36:05 -05:00
73333350cc
don't downcase Home, End and other non-single-key keycode names
2016-03-05 11:54:02 -05:00
Mathias Buhr
290d9e5e66
Small refactoring of keyboard bindings (first part)
...
- Adds collision detection for keybindings
- Fixes a bug that prevented newly created bindings to be deleted properly (reproduction: add a binding, remove it, restart ardour, binding is still there but can now be deleted).
2016-03-05 16:27:48 +01:00
9b55550f0b
force all KeyboardKeys in Bindings to be lower case
2016-03-02 16:18:03 -05:00
ba78359129
prepare for update to waf 1.8
...
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.
bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
77abe6c928
Accommodate newly introduced source(s) in our MSVC project (gtkmm2ext)
2016-02-27 16:29:53 +00:00
0106047fd2
avoid "show_all" -- closes #6797
2016-02-27 12:53:09 +01:00
e4a7e5a239
improve size and positioning of Tabbable's after being torn off, hidden, reshown, etc
2016-02-26 18:51:32 -05:00
e5340dc258
when looking up a key event, switch to the lowercase keyval
...
Our bindings always use the lowercase form. Shift-e generates the GDK keyval for 'E'
rather than 'e' (with the event state including GDK_SHIFT_MODIFIER). So we have to
take this into account when doing the lookup
2016-02-26 15:47:50 -05:00
59aa283f38
remove declaration of non-existent method
2016-02-25 15:07:34 -05:00
21c3d17ae1
fix merge/rebase mistake
2016-02-22 15:31:26 -05:00
276b820923
fix an error during merge/rebase fixups
2016-02-22 15:31:25 -05:00
a29fd4542e
a bunch of stuff to make tab/window switching work better, and provide Alt-m to toggle between editor+mixer in a sane way
2016-02-22 15:31:25 -05:00
361c8421df
provide Tabbable::change_visibility(), which has slightly odd semantics that are neither toggle nor one-shot
2016-02-22 15:31:25 -05:00
51d403d485
allow pixbuf_from_string() to return the full size pixbuf, with optional padding
2016-02-22 15:31:25 -05:00
1e537cb539
remove tab-related code for tabbed notebook, add tooltips to new buttons
2016-02-22 15:31:25 -05:00
51879285c5
tab-free tabbed display, part 1.2
2016-02-22 15:31:25 -05:00
e0f32182df
fix tooltip text to accurately describe how to reattach window.
...
This commit incorrectly describes top level menu structure inside a file in libs/gtkmm2ext.
2016-02-22 15:31:25 -05:00
a598c5d4ac
fix inadvertent case change
2016-02-22 15:31:25 -05:00
d2a6fec03a
additional GTKOSX => __APPLE__ changes missed in previous commit
2016-02-22 15:31:25 -05:00
329c096066
add a clarifying comment
2016-02-22 15:31:25 -05:00
b23c5264f2
change operator<< for Keyboardkey to show state in hex
2016-02-22 15:31:25 -05:00
2cc44e7668
no more munging with keyvals/accels on OS X
2016-02-22 15:31:24 -05:00
aa71d60ab9
remove Bindings::ignored_state and use Keyboard::RelevantModifierMask
2016-02-22 15:31:24 -05:00
fbc985f913
set PrimaryModifier on OS X to match the actual bits used by GTK for Command
2016-02-22 15:31:24 -05:00
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
bc487bb4b0
replicate the remove-all-trailing whitespace commit(s) in master
2016-02-22 15:31:24 -05:00
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
b944532f67
cleanup Bindings/ActionMap API to get all actions for various purposes
2016-02-22 15:31:24 -05:00
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
949163f806
more changes to Bindings, Keyboard APIs
2016-02-22 15:31:24 -05:00
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
29b69b0ab4
various fixes for saving bindings state
2016-02-22 15:31:24 -05:00
f028a6bffb
fix memory lifetime management issue
2016-02-22 15:31:24 -05:00
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
04a9ce757c
initial compilable version of saving key bindings with "new" scheme
2016-02-22 15:31:23 -05:00
00933950b7
small rationalization of naming and code for managing plugin GUI visibility
2016-02-22 15:31:23 -05:00
e13322e7f5
bindings: prevent double registration and double signal connection, and provide get_all_actions() methods
2016-02-22 15:31:23 -05:00
d0fc12bd22
remove all action-registering API from Gtkmm2ext::ActionManager
2016-02-22 15:31:23 -05:00
0f17508e6c
changes to Bindings and Keyboard API to support (mostly) GTK-free keyboard bindings
2016-02-22 15:31:23 -05:00
077bb13e94
extend API for tabbable visibility management
2016-02-22 15:31:23 -05:00
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
5e0337a4a3
convert CairoIcon into a NO_WINDOW widget that just draws into its parent widget
2016-02-22 15:31:23 -05:00
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
b6c4ae46d0
clean up tabbable state maintainance; drop Gtk::Button unintentionally used for close cross image
2016-02-22 15:31:23 -05:00
d6f3a006d2
scale CairoIcon by Gtkmm2ext::UI::ui_scale
2016-02-22 15:31:23 -05:00
b48c7c0180
revert to thin lines for close cross icon
2016-02-22 15:31:23 -05:00
914af0f0c8
move ui_scale static member from ARDOUR_UI to GtkUI
2016-02-22 15:31:22 -05:00
0819efe27c
remove unused lines
2016-02-22 15:31:22 -05:00
90845af8fa
hopefully get dynamic tabbable menu state right this time
2016-02-22 15:31:22 -05:00
e2dfc10698
thicken up lines of close cross icon
2016-02-22 15:31:22 -05:00
1c41f75488
provide a sigc::signal to track display state changes for a Tabbable
2016-02-22 15:31:22 -05:00
308f6ed828
changes to get show/hide/attach/detach working
2016-02-22 15:31:22 -05:00
fd938d95bf
change/extend Tabbable API to allow for show/hide/attach/detach
2016-02-22 15:31:22 -05:00
8e14496919
use new CairoIcon to add a tab-close "button" to tabs
2016-02-22 15:31:22 -05:00
e026adf4a9
second part of: add new CairoWidget-derived class that does nothing but shown an ArdourIcon.
2016-02-22 15:31:22 -05:00
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
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
347ba94bcd
add ::make_visible() to Tabbable class
2016-02-22 15:31:22 -05:00
436706c8d4
remove debug output
2016-02-22 15:31:22 -05:00
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
37fce09a18
widespread changes to get the new (oldArdour binding scheme to be used for keyboard accelerators
2016-02-22 15:31:22 -05:00
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
552e995297
save/restore tabbable state
2016-02-22 15:31:21 -05:00
9f0ea99fac
better way to switch to a tab
2016-02-22 15:31:21 -05:00
03b354a99e
make tabs reorderable
2016-02-22 15:31:21 -05:00
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
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
85eee3b09d
compilable version of WindowProxy
2016-02-22 15:31:21 -05:00
a29f76c1c4
initial versions of Tabbable object
2016-02-22 15:31:21 -05:00
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
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
60c4b30b7e
manually revert most of previous commit related to dialog/main window focus management
2016-02-22 13:55:31 -05:00
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
344cf05540
OS X: fix the handling of SUPER,HYPER,META (see code comment for more)
2016-02-21 10:48:35 -05:00
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
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
4a9ffee486
Allow partial CairoWidget exposure
2016-02-12 22:57:46 +01:00
3f43e5cd04
Remove no longer needed 'prolooks' source(s) from our MSVC projects (gtkmm2ext & gtk2_ardour)
2016-02-12 12:31:22 +00:00
e6b06597b7
remove all traces of "prolooks" and related classes
2016-02-11 13:03:24 -05:00
85b4acc916
Change CairoWidget::get_active() to be const
2016-02-11 12:15:07 +10:00
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
5d8b75386c
allow to set per item drag targets
2015-12-30 12:25:09 +01:00
2d871435ca
allow to set parent for modal dialog
2015-12-29 13:31:24 +01:00
ee541036b4
fix window-title (separate application name, thread name)
2015-12-29 11:03:09 +01:00
8e1a9f0ada
missing drag-end (fix possible crash)
2015-12-28 17:23:45 +01:00
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
0aba08594c
allow DnD between DnDTreeView and DnDVbox
2015-12-28 04:10:39 +01:00
3ff674d583
Treeview Drag: allow to use single column as drag-widget
2015-12-24 17:26:06 +01:00