13
0
Commit Graph

592 Commits

Author SHA1 Message Date
Mads Kiilerich
b4ff4f356c Make header files more self-contained - add missing Ardour and lib includes 2024-10-20 03:30:46 +02:00
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
2d7cce44f1
Replace PBD::Signals (1/2) 2024-10-18 20:41:08 +02:00
75f56cd3e1 the great onceification (libs)
Replace use of #ifndef header guards with #pragma once

Modern C++, baby!
2024-10-17 07:44:31 -06:00
e7731f2e89 add -D actions to gtkmm2ext 2024-10-17 07:44:30 -06:00
83984a7884 emit a new signal when a ProcessorElement is added to the selection inside a DnDVBox<ProcessorEntry> 2024-07-29 10:19:52 -06:00
941bc3a4f2 NO-OP: braces, please! 2024-07-29 10:19:52 -06:00
Mads Kiilerich
f063bfef03
format: Improve header robustness against #include reordering 2024-07-23 17:03:56 +02:00
03689d8070
Remove/fix unused namespace [forward] declarations (2/x) 2024-05-26 16:46:39 +02:00
46fa056da6 add unrounded rectangle methods to Gtkmm2ext for use in truly boxy buttons 2024-04-25 13:03:52 -06:00
f3823e8d7c
Fix redeclaration of DnDVbox 2024-04-23 21:51:55 +02:00
73b44532f1
Allow to override visibility tracker
This is in preparation to keep track of external UI plugin UIs
2023-11-26 20:06:35 +01:00
d5ad9ff033 libpbd/guis: move __invalidator() into PBD::EventLoop
we allow use of/dependency on sigc::trackable there, so this is
both legal but also sensible.

Leave the macro definition of invalidator(x) in gtkmm2ext/gui_thread.h
because it doesn't hurt and makes some sense for it to be there. No
reason for a source module that needs invalidator(x) to load EventLoop
decl.
2023-08-30 16:06:14 -06:00
5e37a320c0 remove use-selection modifier 2023-07-26 18:24:43 -06:00
29c2b06d0e add a name for a modifier to be used to indicate "use selection" 2023-07-26 13:18:02 -06:00
3be6ae57ba gtkmm2ext: provide an additional ink extents method to get descender 2023-07-01 21:07:25 -06:00
509504acf2 Add API to set openGL backing scale 2023-02-04 22:25:52 +01:00
ffafa5cfc7 NSGLView: clean up, allow optional scaling 2023-02-04 21:36:01 +01:00
f107c063e7 Add conveniece API to set trasient-parent for Proxy Windows
On macOS, a transient parant should only be set for a single child
window. sibling windows to a single parent cannot be re-stacked.
2022-11-15 03:03:49 +01:00
5ef2d04cd8
Remove unused size_request-for_text helpers 2022-09-20 03:33:12 +02:00
a2e4897a49 move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (libs) 2022-08-10 21:11:46 -06:00
e0d33bb726 cairowidget: add supplementary set_source_rgb_a() method that uses the uint32 Color type 2022-08-10 18:15:25 -06:00
71ee12af6a
Add API to format keyboard modifiers for tooltips 2022-06-21 22:11:49 +02:00
5b03bf72fa
NO-OP: code style 2022-06-21 22:11:08 +02:00
af38528174
Physical modifier abstraction is constant 2022-06-21 22:09:54 +02:00
8a5fc65df4
Expose newly added semantic modifiers 2022-06-21 21:38:37 +02:00
3266b1acb0
Add API to query currently held modifiers keys 2022-06-21 21:37:14 +02:00
f1eb45e129
NO-OP: clang format 2022-06-21 21:37:08 +02:00
e557245bf7 implement group_override_modifier() (lib part)
Consistently use Tertiary for Group Override on all platforms (and be consistent about it)

Consistently use Primary-mod for Momentary on all platforms (partially reverts 47932f)
Primary modifier is used for fine-adjust on knobs and sliders, with no analogous operation on switches.
2022-06-21 13:01:30 -05:00
fd9a76073b modifiers: add momentary_push_name (for tooltips) 2022-06-17 11:07:58 -05:00
12e703414d modifiers: make a new abstraction for momentary-click, instead of button_2 (lib part)
is_button2_event()  was used to detect the user's desire for a
  momentary-click on some buttons (mute, solo, mixer scenes)

is_momentary_push_event() disambiguates this action from is_button2_event()

for the special case of momentary, we can drop the workarounds for
  the lack of middle-mouse buttons on Mac, and instead just use
  shift+left-click on all platforms.
2022-06-17 11:07:49 -05:00
71833911a4 modifiers: publish button2_name (for use in tooltips) 2022-06-17 10:52:06 -05:00
c0b1f0e63c fix buglet in RAII mgmt of Bindings::_drags_active 2022-04-18 12:21:57 -06:00
729f930974 bindings: add a mechanism to prevent binding activation during drag 2022-04-18 11:38:21 -06:00
f9d80c32d6
Allow to destroy Widgets when removing them from a container
This is useful when the container uses manage()d Widgets,
which are otherwise not destroyed.
2022-04-14 16:35:02 +02:00
7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06:00
50abcc74b5
Replace Glib::Threads with PBD::Thread (2/2) 2022-03-01 01:34:35 +01:00
6dc66ea78f
Prioritize self-deletion
This addresses the issue described in 83719fba1a.
First process all queued self_delete() requests before scheduling
Editor::redisplay_track_views() which uses PRIORITY_DEFAULT.
2022-01-29 05:17:00 +01:00
036ad841bf
Remove using namespace Gtk; from headers
This causes issues if the header is included early on
in particular a conflict with gdkx.h
The reference to ‘Window’ is ambiguous `Gtk::Window` vs [X11]Window.
2022-01-26 22:32:28 +01:00
62a098811c
Allow DnDTreeView drag w/o object reference 2022-01-19 17:13:51 +01:00
1078dc7eda
DnD-TV: Allow to specify TargetFlags 2022-01-10 20:40:46 +01:00
e057088195 remove unused, empty glib event source/callback code (was from an experiment during nutempo2 development) 2021-09-04 07:39:27 -06:00
772d70ae4c use glib event callback to invoke per-thread code every time the GUI event loop does stuff 2021-08-13 12:51:29 -06:00
783e33dc0c new implementations for Gtkmm2ext::HSV::{darker,lighter} that follow "common sense" rather than Google.
HSV::shade() still follows the google model
2021-08-13 12:51:26 -06:00
fc25e074ac add Gtkmm2ext::random_color() 2021-08-13 12:51:25 -06:00
6db261d566 libgtkmm2ext: modify Keyboard handling of close-current-dialog
1) if there is no current dialog, allow some other window to handle the keyboard event
2) make the binding (which is hard coded) visible as static members of Keyboard
2021-04-26 10:48:20 -06:00
70ad205bc1
Separate static widget theme into abstract class
This allow the style to be used in classed that are not
directly derived from Ardour's CairoWidget, notably
container widgets or plugin UIs.
2021-01-26 23:37:54 +01:00
e4e94e77c9
Transmitter::Debug implementation 1/2
This also sorts switch() and listen_to() statements in order
of severity: debug, info, warning, error, fatal, throw.
2020-10-13 21:58:26 +02:00
85034d0bca
Pass through DnDTV signal_drag_motion event 2020-06-25 02:24:02 +02:00
7ac9c7e88a fix mask used to extract keycode from KeyboardKey object
Previous 16 bit mask would do the wrong thing if the keycode was > 65536,
which is not often true but is certainly a valid value (and seen on some
platforms)
2020-05-18 13:33:54 -06:00