13
0
Commit Graph

1016 Commits

Author SHA1 Message Date
10a4de1550 some modest improvements in the html rendering of key bindings, plus use of normal modifier names 2016-06-20 17:19:31 -04:00
0eb509ac2e remove debug output from Pane code 2016-06-14 11:46:24 -04:00
9142d1edf5 working version of pane position mgmt for OS X 2016-06-13 09:52:54 -04:00
ceb0bce971 write some code to limit pane handle positions on OS X.
So far untested, and uncompiled
2016-06-13 09:10:47 -04:00
8d17465016 give WindowProxy its own map/unmap signals so that other things can track map/unmap without accessing the Window 2016-06-12 22:49:15 -04:00
9a1c24dda7 fix thinko in Pane expose event handler.
There are always less dividers than children
2016-06-08 12:26:24 -04:00
83770f839b minor optimization when search for actions 2016-06-07 19:25:11 -04:00
73f3abedea make it possible to disable VisibilityTracker's use of WM visibility 2016-06-07 18:29:03 -04:00
9a50d15c7f fix crashing bug in Pane when accessing dividers 2016-06-06 16:05:43 -04:00
5700296cb6 add a destructor for Gtkmm2ext::Pane that unparents the children.
This seems to be required, although there is confusion in Gtkmm3 about this.
2016-06-06 16:05:25 -04:00
1550f3af35 NOOP: space required 2016-06-02 19:19:22 -04:00
a047d814f6 fix case where pane divider is not redrawn after a leave event. 2016-06-01 22:30:17 -04:00
d680c1f1db fix styling of pane dividers (the original reason for the "*Pane*" widget=>style spec) 2016-06-01 22:23:34 -04:00
7d770293e9 Accommodate recently introduced source(s) in our MSVC project (gtkmm2ext) 2016-06-01 14:30:27 +01:00
761ce9c914 allow StripWidth icon to draw properly on non-square buttons 2016-06-01 03:06:14 +02:00
8c74a1b99c make pane divider placement a little safer 2016-05-31 15:30:45 -04:00
47b85c3845 fix default pane divider cursor for vertical panes 2016-05-31 15:30:45 -04:00
4ef8e862b3 shrink down pane divider/handle width 2016-05-31 15:30:45 -04:00
0baedac4f4 fix pane behaviour when children are hidden/shown 2016-05-31 15:30:45 -04:00
229b026356 explicitly expose dividers
hmm, seems important to understand how this worked before
2016-05-31 15:30:45 -04:00
7c6cfd9fa0 more sensible API for Pane::set_child_minsize 2016-05-31 15:30:45 -04:00
d8b02be745 provide a mechanism to avoid allocating too small of a space to a Pane child
Gtk::Notebook throws an assertion if allocated too small a space during drawing (at least with Clearlooks)
2016-05-31 15:30:45 -04:00
067616a84f various work on Pane, including cursors, more styling stuff, and making the forall_vfunc safe against gtk_container_remove 2016-05-31 15:30:45 -04:00
9694a3181b Pane: use style-provided colors, and change colors on enter/leave/dragging 2016-05-31 15:30:45 -04:00
3c4503a849 fix use of widget allocation origin in Gtkm2mext::Pane 2016-05-31 15:30:45 -04:00
29b9c4ecc3 set default pane divider position to 0.5 2016-05-31 15:30:45 -04:00
ce68505a51 working but incomplete version of new Pane replacement widget 2016-05-31 15:30:45 -04:00
405fda66f7 basics of printing bindings as HTML 2016-05-31 15:30:44 -04:00
a48fada3c7 move new fractional pane utility functions into libs/gtkmm2ext 2016-05-31 15:30:41 -04:00
3daad04936 don't force size allocation to recompute pixfader patterns unless size actually changes 2016-05-31 15:30:38 -04:00
5c658db4bf most of the changes required to add a new master faders tabbable
the visibility button isn't actually working correctly
2016-05-31 15:30:38 -04:00
1f17784ac5 fix potential undefined DnD behavior for external drags
dragging from the tree-view (e.g. favorite sidebar or plugin-manager)
will not set _drag_source.
drag-motion may wrongly interpret it as "re-order".
2016-05-24 17:58:24 +02:00
b0200b23f2 Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path 2016-05-21 10:33:18 +01:00
e610916c26 updated .de translation from edogawa 2016-05-16 10:36:33 -04:00
4963d65206 track geometry via configure events for tabbable own-windows 2016-05-10 09:46:12 -04:00
864f9e497d DnDTreeview: allow to handle multiple drag-targets 2016-05-06 14:51:29 +02:00
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
42e2cc0976 use same tooltip timeout throughout Ardour -- part one 2016-05-02 20:24:46 +02:00
9634888bf3 add the concept of a "state mask" that determines what info a WindowProxy will save 2016-04-27 00:03:14 -04:00
49e5494907 also hide persistent tooltips
debatable, since most of them are not "help/tool info" but rather
"current value display".
Then again tooltip is tooltip and can be annoying or not wanted.
2016-04-27 01:07:53 +02:00
6afcfe66db desaturate inactive rec-enabled button 2016-04-05 00:25:46 +02:00
40aa4cfe06 Modify our MSVC projects to build liblua as a DLL rather than a static lib 2016-04-04 16:40:20 +01:00
yonideshi
cb900dc8e4 inability to save non single character key binding with modifier eg. Ctrl-F5 2016-03-30 07:26:36 -04:00
YQ-YSY
b752d576fa update /libs/gtkmm2ext/po/zh.po for 469-g3f71e66 2016-03-30 07:17:30 -04:00
YQ-YSY
0ec386ac8e update Chinese translation to /libs/gtkmm2ext/po/ 2016-03-30 07:17:29 -04:00
e4a4ef9a6b fix processor DnD from sidebar.
(default move action removes an entry in the TreeView)
2016-03-18 21:34:28 +01:00
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
2a55e8b9b3 extend Drag/Drop mechanism
DnDVbox: un-hardcode TargetEntry list, add callback for secondary targets
DvDTreeview: return pointer to self
2015-12-22 04:14:12 +01:00
3d1dcacfd8 use correct source for application name when labelling a window 2015-12-12 11:12:10 -05:00
be6a43d4d3 use EventLoop::event_loop_name() 2015-12-12 11:12:10 -05:00
Edgar Aichinger
ba3936391a update german translation 2015-12-09 13:22:25 +01:00