Commit Graph

131 Commits

Author SHA1 Message Date
Robin Gareus
d7af181037 Amend 28c8dbf128, unsubscribe from destroyed signal
This handles another edge case where the Frame is deleted
before the child widget.
2025-08-21 04:41:17 +02:00
Robin Gareus
28c8dbf128 Handle special case of using unmanaged widgets to Frame
This happens in in Ardour's Preference dialog with
e.g. BufferingOptions:

~OptionEditorContainer deletes the Option, which in turn
deletes the Widget BufferingOptions:_buffering_presets_combo
Since the widget is not managed it is not removed from its
parent.

Later ~OptionEditorContainer disposes the page layout, which
eventually also calls the Frame d'tor, causing a heap-use-after-free.
2025-08-20 16:19:25 +02:00
Robin Gareus
4859e4e57e ArdourDropdown: use action's short-label for display text 2025-08-19 18:18:41 +02:00
Robin Gareus
26ca954574 Allow to scroll though meta-button items #9976 2025-08-17 06:29:31 +02:00
Paul Davis
9f49e6379d ArdourDropdown: new utility methods 2025-07-29 18:16:35 -06:00
Robin Gareus
3cc13c1f1e Consolidate ArdourButton layout and size for derivative projects 2025-07-16 13:56:43 +02:00
Paul Davis
f82a755a22 NoCamelCase method names (libs) 2025-07-12 10:51:46 -06:00
Paul Davis
02abf956d7 a better way to build ArdourDropdowns from Actions 2025-06-25 22:17:53 -06:00
Ben Loftis
aa5685c585 Add icons for editor toolbar buttons: follow*, show_auto_on_touch 2025-06-12 18:57:56 +02:00
Ben Loftis
f644b83f3f Add new icons for LoopMode and AutoReturn 2025-06-12 18:57:27 +02:00
Robin Gareus
7c476f0468 Allow for blank separators 2025-06-11 23:57:55 +02:00
Ben Loftis
9463eabfe4 Expose corner_mask variable for ArdourButtons 2025-06-10 21:18:36 +02:00
Robin Gareus
ccf3addf5a Add spacer widget to maintain size with GUI scaling
This is intended for the (Mixbus) Group Bar
2025-06-10 21:18:35 +02:00
Ben Loftis
d9176fd862 Button-sizing Tweak:TransportIcon alternative to ExpandToSquare 2025-06-10 21:18:32 +02:00
Robin Gareus
95949e6267 Implement multi-touch support for ArdourKnobs 2025-04-15 21:59:40 +02:00
Robin Gareus
7e8230c3be Allow touch to tigger act-on-release events 2025-04-10 18:26:23 +02:00
Robin Gareus
349a3cf039 Add API to resize Fader widgets 2025-03-06 20:10:20 +01:00
Paul Davis
16535e9e1d expand ArdourButton API to expose ::is_led_click() for use by derived classes and owners 2025-02-08 09:28:53 -07:00
Paul Davis
fbc55a75b4 API changes to MetaButton, mostly to allow submenus to be hung from the built menu 2025-02-07 23:09:02 -07:00
Paul Davis
46507df2de expose Gtk::Menu member of ArdourDropdown 2025-02-03 14:29:35 -07:00
Robin Gareus
000c25edcc Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Robin Gareus
233fc890de Update gdkmm -> ydkmm header location (omnibus commit) 2025-02-01 15:01:52 +01:00
Robin Gareus
07866caf1e Update gdk -> ydk header location (omnibus commit) 2025-02-01 13:37:48 +01:00
Robin Gareus
6cdf6b6e42 Properly propagate un/map window events
This fixes issues with openGL rendering bleeding
behind when switching editor/mixer and other related
window events that depend on  on_unmap()
2025-01-28 17:43:33 +01:00
Robin Gareus
fb6b64f736 Allow left-click on MetaButton Dropdown indicator 2025-01-28 17:38:38 +01:00
Robin Gareus
ff2c33e42e Add MetaButton Widget
A Button that changes functionality.

* right click: show a drop-down to pick what left click will do
* left click: activate selected action
2025-01-28 07:52:35 +01:00
Robin Gareus
d280c46d44 Add API to add sizing-texts to ArdourButton 2025-01-28 07:52:34 +01:00
Paul Davis
15a093df76 wrap Tabbable contents in an EventBox so we can get events from "the whole thing" 2025-01-22 18:20:25 -07:00
Robin Gareus
f0ffee4a13 NO-OP: fix off by one in comments 2025-01-14 00:37:58 +01:00
Robin Gareus
64078909bb Fix Top-level layout (amend 26527ba608) 2025-01-14 00:23:50 +01:00
Robin Gareus
2a17746af9 Remove UTF-8 digraphs from layout ASCII art 2025-01-14 00:23:50 +01:00
Robin Gareus
26527ba608 Update Top-Level Layout
* Right sidebar extends to the bottom
* Add additional full height right-side box for monitor-section
2025-01-13 22:45:34 +01:00
Ben Loftis
577d7230cd Report when tabbable attachments change, and expose the state 2025-01-11 01:15:44 +01:00
Ben Loftis
08d3c4260a Add ConfigMenu icon (config gear with an arrow) 2025-01-11 00:18:48 +01:00
Robin Gareus
772d14fca3 Add icon for cue/triggger page 2025-01-02 18:47:13 +01:00
Paul Davis
791bb3a50d add a new Drum icon 2024-12-29 14:34:57 -07:00
Paul Davis
0133400b8a add ArdourButton::remove_elements() 2024-12-29 14:34:57 -07:00
Robin Gareus
bae7c52f01 The return of the tape-reel icon
This was removed with destructive record mode
a4d7b45fe0

This new version is no longer red by default, and
also works with light theme
2024-12-14 16:39:06 +01:00
Robin Gareus
940e1bc2df NO-OP: rename layout widgets for clarity 2024-11-20 18:56:20 +01:00
Robin Gareus
218b264c60 Use evenbox as parent for main window content
This fixes an issue with mouse-cursor contexts.
Eventbox is backed by a [gdk] window, each of which
has their own Gdk::Window::set_cursor.
2024-11-20 18:42:38 +01:00
Robin Gareus
3625c28d54 Remove ambiguous enum bit combinations 2024-11-16 19:39:20 +01:00
Robin Gareus
983466fc38 Flexible Layout, resizable bottom pane. 2024-11-16 19:30:04 +01:00
Robin Gareus
438a514c2b NO-OP: clarify Tabbable layout and attachment enum 2024-11-15 14:10:56 +01:00
Robin Gareus
5c8bd6e977 Tweak Tabbable Layout
* allow for left side resizable pane
* automatically set attachment button sensitivity
* remove right-side pane box when unused
2024-11-15 04:38:43 +01:00
Robin Gareus
f3ff1a1100 Add Attachment icons 2024-11-10 23:27:36 +01:00
Robin Gareus
82a9fc4abb Remove unused tabbed-changed callback 2024-11-10 23:27:35 +01:00
Robin Gareus
b2e4dd91b9 Update Tabbable c'tor to allow member as top-level widget
Derived classes cannot use `Tabbable (_content_vbox,..)`
`_content_vbox` is a member of Tabbable (which has not
yet been initialized) at the point of construction.

This breaks internal API, hence the omnibus commit
2024-11-10 23:27:34 +01:00
Robin Gareus
8ca9e6bcdd Tabbable overhaul: consistent toplevel packing 2024-11-10 23:27:34 +01:00
Robin Gareus
2066f7018d ArdourButton: add option to expand buttons to be square 2024-11-10 23:27:30 +01:00
Robin Gareus
000a1aaa46 Touch Support for Ardour Fader 2024-10-24 23:33:31 +02:00