497a3fbaa1
Fix --no-nls (2/5), prefer #if in libs
...
This is for consistency with system-wide gettext.h which is used
by some 3rd party libs. system-wide gettext uses `#if ENABLE_NLS`,
not #ifdef
2018-09-21 19:03:33 +02:00
79f01bc889
Initial changes needed for building Mixbus (with MSVC) as version 5
...
(Mixbus itself will probably need extra changes)
2018-09-10 07:14:59 +01:00
4983eb565d
Only update tooltips if there is an actual change -- #7268
...
Changing a tooltip resets the timeout. In one particular case,
while rolling, AudioClock::set() is calling set_tooltip() at a rate
faster than the tooltip timeout and prevents tooltip from showing at all
(even if there is no actual change to the tooltip text).
Alas, there is no trivial fix for this UI side and there may be other
such cases. A central check is more than practical.
2018-04-12 02:54:55 +02:00
b9c9777b9a
When building with MSVC, allow for the fact that Mixbus and Ardour can be using different versions of the SESSION_FILE format
2018-02-15 09:03:32 +00:00
6f019faaa0
Accommodate the change from libtimecode to libtemporal
2018-02-14 10:02:11 +00:00
c833b56029
Explicit encoding for bindings html.
2018-01-17 16:52:16 +01:00
Hiroki Inagaki
720ad15a45
Update Japanese translation
2017-12-22 22:19:00 +01:00
3421c6e814
NO-OP: whitespace
2017-08-18 09:42:04 -04:00
f84bebbb30
strip <Actions>/ from displayed path when printing bindings to HTML
2017-08-18 09:42:04 -04:00
bbc8c1354e
Separate set_toggleaction_state () API
...
Prepare for a method consistent with access_action():
* separate group + action names
* no action string parsing overhead.
* no fatal, abort () call for invalid actions
2017-08-09 16:29:24 +02:00
bf150f049f
MSVC changes needed to implement the new 'widgets' library
2017-07-19 08:16:30 +01:00
8c6d78c188
add required stdint.h
2017-07-17 18:15:42 -04:00
601c317d70
Clean up library inheritance (colors.h, utils.h)
...
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
eb1e423b75
Remove <gtkmm.h> include from header files.
2017-07-17 21:06:04 +02:00
f9e5e4360e
Move more Gtkmm2ext widgets into libwidget
2017-07-17 21:06:04 +02:00
b5e9451bc7
Remove unused sources & includes
2017-07-17 21:06:04 +02:00
f6e182b937
Move Gtkmm2ext widgets into libwidget
2017-07-17 21:06:04 +02:00
5292a8f4ae
Allow DnDVbox to sort the selection, using original order
...
In preparation for Processors to be copy/pasted in the same order
as they appear on the strip -- not order in which they are selected.
2017-07-04 18:08:35 +02:00
3a42383975
Add binding-proxy to ClickBox
2017-07-02 22:48:39 +02:00
c4fcb12d12
Add control-focus notifications from bindable widgets.
2017-07-02 18:19:13 +02:00
496ac30c41
Accommodate newly introduced source(s) in our MSVC project (gtkmm2ext)
2017-06-29 10:11:05 +01:00
fae592e8f4
Remove ambiguity ('CheckMenuItem' conflicts with an item already existing in MSVC)
2017-06-29 10:08:32 +01:00
972e01f9c7
Add a convenience MenuHelper c'tor
...
This is pretty much Gtkmm's
* CheckMenuElem::CheckMenuElem
* MenuElem::MenuElem
except MenuItems are created with bool mnemonic = false;
2017-06-29 00:22:34 +02:00
5ddd7a58b6
Remove unused pbd/locale_guard.h header from Gtkmm2ext::Barcontroller class
2017-06-22 10:48:38 +10:00
Edgar Aichinger
278d5bdab2
update german translation
2017-05-14 15:29:27 +02:00
401eefec1c
remove cruft (unused UI::ui_scale)
2017-05-05 14:00:30 +02:00
2f37885e4b
MIDI learn on ctrl + middle-click only (not ctrl + other mods + btn2).
...
This fixes various other operations that use ctrl + btn2.
e.g. ctrl+alt+btn2 temporary all un/solo/mute.
2017-05-04 00:35:56 +02:00
410f94cf1b
Fix Editor/Mixer visibility (OSX, NSGLCanvas)
...
Only unpacking a widget retains the GdkWindow and and the widget is still
mapped. The NSView is still visible. See also 235631a6
.
2017-04-27 16:23:48 +02:00
9488cb0b69
Use XMLNode::get/set_property API in Gtkmm2ext::WindowProxy class
2017-04-19 09:36:55 +10:00
6779770fee
Use XMLNode::get/set_property API in Gtkmm2ext::Tearoff class
2017-04-19 09:36:55 +10:00
c627da0a9f
Use XMLNode::get/set_property API in Gtkmm2ext::Tabbable class
2017-04-19 09:36:55 +10:00
1f3589b122
Use XMLNode::get/set_property API in Gtkmm2ext::Keyboard class
2017-04-19 09:36:55 +10:00
ac89bfd229
Use XMLNode::set_property API in Gtkmm2ext::Bindings class
2017-04-19 09:36:54 +10:00
e31f242836
Add missing <iostream> header include
...
This will be required for subsequent commits that remove inclusion of
<iostream> from some shared headers.
2017-04-19 07:49:58 +10:00
c6747c9325
NO-OP: whitespace
2017-04-17 01:50:12 +02:00
3d0366d46b
Send unmap event when removing a widget
...
This fixes a crash when hiding an ArdourCanvas Item VCA which
is about to display a tooltip.
2017-04-17 01:46:27 +02:00
6e4eed51ca
Shortcut editor: include a raw list of the currently-available actions in the printout.
2017-03-30 11:02:06 -05:00
500033b416
Debug NSView Exposure
2017-03-21 15:53:29 +01:00
5e9492b996
consolidate NSGLView
2017-03-21 15:53:29 +01:00
d294d03670
Accommodate newly introduced sources in our build projects (gtkmm2ext)
2017-03-21 10:31:03 +00:00
4d515ad086
The new class 'Gtkmm2ext::EventBoxExt' needs to be exportable when building with MSVC
...
(previously the c'tor was private and nothing was getting exported anyway)
2017-03-21 10:28:53 +00:00
533a93daa6
match name of synthesized property (fixed i386 builds)
2017-03-21 03:46:40 +01:00
5cf95848e9
Fix gcc4 builds
2017-03-21 03:46:40 +01:00
d3e730abbf
fix OSX/PPC compilation
2017-03-21 01:58:45 +01:00
d06de26a4f
Towards a consistent render() API.
...
This fixes an -Woverloaded-virtual ambiguity introduced in b5e613d45
void render (cairo_t*, cairo_rectagle*)
void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*)
ArdourCanvas prefers cairomm and CairoWidget itself uses Cairo::Context,
this improves overall API consistency.
2017-03-20 17:12:08 +01:00
60a0b8f645
Forward un/map events to NSGLView
2017-03-20 17:12:08 +01:00
c0828792f0
NSGLView: default to hidden, add API to un/hide
2017-03-20 17:12:08 +01:00
235631a618
Add a EventBox wrapper to forward unmap events.
2017-03-20 17:12:08 +01:00
e307094af3
Allow CairoWidget to be backed by NSGLView
2017-03-20 05:19:38 +01:00
b5e613d453
Move NSGlView into libgtkmm2ext
...
This allows to re-use the concept with CairoWidget
2017-03-20 04:35:05 +01:00
9cc068756b
Clean up existing bindings on reset
2017-03-13 20:09:10 +01:00
d6d1074565
create_action_group -> get_or_create_action_group
...
Since adding an action-groups hides existing actions with the same name,
this adds a way to look up actions first.
This fixes an issue introduced in 6af51b52ff
(both window_manager.cc
and ardour_ui_ed.cc use the "Window" group.
2017-03-11 15:33:24 +01:00
0b966460a5
NO-OP whitespace
2017-03-11 00:36:47 +01:00
41216d200a
Remove old modal get_color API.
2017-03-11 00:35:26 +01:00
3ecd5d6f08
Allow to pre-seed Tabbable detached state.
2017-02-20 22:55:31 +01:00
Hiroki Inagaki
5668f6b40e
Update Japanese translation
2017-02-12 11:59:40 +01:00
e16141c9aa
Tweak output formatting of save_all_bindings_as_html
2017-02-06 12:52:39 -06:00
ddd0e862ce
Properly remember window position.
...
Querying the position of unmapped windows may or may not return a valid
position. -- the configure handler is also called after hiding a window.
2017-02-01 23:07:57 +01:00
Hiroki Inagaki
5a5ed37384
Update Japanese translation
2017-01-22 22:03:55 +01:00
6b5dce2c66
Yet another pane pain: allow deleting children using forall_vfunc
...
We not only need to make sure the iterator remains valid, but also
the object pointed to.
Valgrind trace:
Invalid read of size 8
Gtkmm2ext::Pane::forall_vfunc(int, void (*)(_GtkWidget*, void*), void*) (pane.cc:617)
Gtk::Container_Class::forall_vfunc_callback(_GtkContainer*, int, void (*)(_GtkWidget*, void*), void*)
gtk_container_destroy (gtkcontainer.c:1073)
g_closure_invoke (gclosure.c:804)
...
g_object_run_dispose (gobject.c:1084)
2017-01-20 03:13:41 +01:00
Hiroki Inagaki
777647259e
Add Japanese translation
2017-01-15 15:37:38 +01:00
cd14e8f2e1
add API to query name of bound action
2017-01-12 20:53:20 +01:00
c590b540b0
NO-OP: whitespace
2017-01-08 17:48:57 +01:00
66e580d683
Fix Pane size allocation:
...
* Skip calling allocate on recently hidden children.
* Don't [temporarily] call size_allocate with negative sizes
2017-01-08 17:48:21 +01:00
cbf5f3d622
Fix crash when changing Pane widgets -- #7198
...
Gtkmm2Ext::Pane::on_add() uses a pointer to a std::vector<> element
in the destroy notify callback. If the vector is modified, that pointer
becomes invalid.
Add 2 widgets "A", "B". remove "B", add another one "C".
Now if A is destroyed, notify_child_destroyed(PTR) points to
invalid memory and not to "A".
2017-01-08 12:39:07 +01:00
Olivier Humbert
fda770eed0
French translation update
2017-01-05 09:31:09 +00:00
Olivier Humbert
7f5fcd4789
French translation update
2017-01-05 09:31:09 +00:00
c33f94f686
Enforce minimum pane sizes
...
* enforce minimum size of child widgets
* honor manually set child-minsize in size-requests
* ignore hidden children (eg. VCA)
* clamp divider position (instead of just ignoring out-of-bounds moves)
2017-01-02 17:13:56 +01:00
de04da27ee
Fix crash when unpacking or deleting pane
...
Gtk::Widget_Class::dispose_vfunc_callback calls hide() which invokes
Pane::handle_child_visibility which calls Pane::reallocate which
tries to get the allocation of the widget being destroyed.
2016-12-21 17:10:37 +01:00
377b357afb
Add Zoom/Expand icon
2016-12-20 18:48:10 +01:00
004431426d
Towards packing CairoWidgets on ArdourCanvas.
2016-12-19 13:36:42 +01:00
545f5bee87
changes to adapt to modified version of GTK/Quartz which uses only MOD2 for Command, everywhere.
...
The default version of GTK2/Quartz uses MOD2+META for keys and MOD2 for scroll, which is
basically insane
2016-12-13 07:02:08 -05:00
cdbf49b873
Revert "Pixel hunt cairo-packer (status-bar, selection-clock border)"
...
This reverts commit 6015481377
.
2016-12-11 02:19:10 +01:00
6015481377
Pixel hunt cairo-packer (status-bar, selection-clock border)
2016-12-11 01:32:27 +01:00
642b357376
CairoPacker draws outside of its widget allocation
...
This fixes fixes TimeInfoBox packing when the InfoBox position changes.
2016-12-10 21:30:33 +01:00
1468e270de
Tweak transport icons
2016-12-10 15:56:47 +01:00
Olivier Humbert
059bbbf23f
French translation update
2016-11-30 20:31:32 +01:00
8d70b76059
Fix restoration of key bindings assigned to Windows+key, bug #7037
...
Windows key generates Mod4+Super (at least with the version of Gdk we use on
linux) so for bindings using the Windows key to work, GDK_SUPER_MASK has to be
added to modifier mask.
2016-10-26 12:03:17 +10:00
Nathan Stewart
ca98c7a051
map::clear() calls erase. Cleans up cpp check warning 'iterator used after element has been erased'
2016-10-12 14:50:02 -04:00
99c8e51918
manually revert b9cab93fb1
and remove associated code.
...
For the last time, because of how GDK works, Keyboard::PrimaryModifier on MacOS MUST include MOD2 ***AND** META
2016-09-29 12:01:50 -04:00
5472498a50
enhance -D bindings output
2016-09-29 12:01:49 -04:00
0ff233d234
Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format
2016-08-30 07:15:00 +01:00
a83febb268
fix optimized build compilation
2016-08-19 22:38:10 +02:00
4ece16f348
For MSVC, 'using namespace whatever' doesn't help us to differentiate between ambiguous type names
...
so... given that 'Rectangle' is a type name that's commonly found in several different namespaces, we'll need to specify explicitly which one we want.
2016-08-19 14:11:00 +01:00
45cd3482a2
fix failure to remove keyvalue from Keyboard::state on key release
2016-08-19 08:32:44 -04:00
08df4e1920
Fix anchored popups with separators in them
...
The code computing the position of the popup menu used to compare the
given string to each MenuItem::get_label() result, but that method
actually replaces the content (child) of the MenuItem if that child is
not already a Gtk::Label. In particular, this breaks menu separators.
Avoid the issue by checking by hand if the only child of the MenuItem is
a Label, and directly compare the label text.
2016-08-17 01:45:47 +02:00
6a985df81e
Replace positioning function with popup helper
...
Because all uses of the function positioning menus anchored to a widget
were as callback argument to Gtk::Menu::popup() where the caller needed
to correctly bind arguments, this led to repeated and a bit obscure code.
Wrap the logic into an helper function that takes care of all that, and
update the callers.
2016-08-17 01:45:47 +02:00
nick_m
c62026b567
Ensure RelevantModifierKeyMask is updated on each modifier change.
...
- fixes bug where changing prefs in User Interaction
only took effect on restart.
2016-08-14 03:04:54 +10:00
e9752ff93e
remove debug output
2016-08-09 21:26:27 -04:00
b9cab93fb1
fix definition of PrimaryModifier for Keyboard for OS X
2016-08-08 17:59:11 -04:00
3d400f97dd
fix display of modifiers on OS X in the bindings editor
2016-08-08 17:47:11 -04:00
a51cd8689f
Move anchored menu placement strategy to Gtkmm2ext utils
...
So that it can be used by others.
2016-08-08 16:44:40 +02:00
Edgar Aichinger
595684ddf7
update german translation
2016-08-06 16:49:41 +02:00
Nils Philippsen
65c2e089ab
workaround changes in glibmm 2.49.x
...
Glib::RefPtr defines the operator bool() as explicit which breaks
comparisons like "some_ref_ptr == 0" or "... != 0".
https://bugzilla.gnome.org/show_bug.cgi?id=769502
2016-08-04 09:52:22 +02:00
3953879d4d
add a timeout to flush_pending()
...
In some circumstances UI::flush_pending never returns, and all UI
interactive ends up being driven by
while (gtk_events_pending()) { gtk_main_iteration(); }
This has various implications depending on the caller and usually results
in a crash at session-close or exit.
2016-07-25 14:13:52 +02:00
81211a91b1
minor safety fix for the Pane
2016-07-20 10:48:07 -04:00
82d3afb851
Gtkmm2ext::Pane: attempt to track child lifetime, since Gtkmm 2.4 doesn't do this correctly
2016-07-20 10:48:07 -04:00
727613b4b7
fix a compile of annoying compiler warnings with elcap clang
2016-07-18 14:42:34 -04:00
9f3a9ef02d
before pushing keybindings to GTK for menu display, make sure that we add back the META modifer that GTK expects
2016-07-18 14:42:13 -04:00
1a55e83e98
move show_gdk_event_state() utility function from gtk2_ardour to libs/gtkmm2ext
2016-07-18 14:41:25 -04:00
b8f5306d5b
fix incorrect restoration of pane positions on Apple.
...
Code to check if we were to close to an edge (for window resizing) blocked all divider setting,
because it would be called with a current widget allocation of 1x1
2016-07-18 12:49:36 -04:00
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
81a10a26e0
regenerate and manually fix all PO files so that ./waf i18n doesn't generate unnecessary errors
2016-07-14 06:19:19 -04:00
5335763f98
use initialization, not explicit assignment
2016-06-30 17:41:11 -04:00
37156d6761
more tweaks to HTML output when printing key bindings
2016-06-23 08:37:24 -04:00
791cff6f46
use new keyboard modifier names, and replace GDK names with better versions
2016-06-21 08:59:39 -04:00
ae4e84fd51
provide some Keyboard:: methods to get access to other versions of modifier names
2016-06-21 08:58:38 -04:00
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