eb48c14ec4
some ActionMap infrastructure to start removing ActionManager
2018-12-05 17:33:05 -05:00
4d7e9d5706
add new variant of ActionMap::find_action()
...
This is more useful when replacing ActionManager::get_action
2018-12-05 17:33:05 -05:00
fc24b9f0b7
Fix uninitialized variable
2018-11-29 02:10:08 +01:00
a22a501537
NO-OP: whitespace
2018-11-29 02:07:29 +01:00
7c3fd2fe79
Glib throws a const FileError exception
2018-10-26 13:40:03 +02:00
8ed33f1bc7
remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead
2018-10-14 22:06:11 -04:00
b27a8169d2
Ignore small (or negative) radii.
...
Some calls use e.g. (corner_radius - 1.5). With small radii or boxy
layout the radius can become negative.
2018-10-09 19:31:01 +02:00
b32b9ceb58
Constant radian/degree factor
2018-10-09 19:31:01 +02:00
e01582dd9a
Prepare a boxy, no round borders, button-style
2018-10-02 21:28:49 +02:00
cf652331ad
Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
...
Stage 3 of 3
2018-09-30 09:19:28 +01:00
6ca8ec5141
remove debug output
2018-09-23 13:48:19 -04:00
12d5eb9a34
remove debug output
2018-09-23 13:48:19 -04:00
d48dd0ccd5
defer creating a visibility tracker for a window until the window is mapped
...
Without this, the visibility tracker will report that the window is not visible at startup, and
this overrides the XML _visible property which denotes that the window should be made visible
2018-09-23 13:48:19 -04:00
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