diff options
author | Aylur <[email protected]> | 2024-07-14 16:32:12 +0200 |
---|---|---|
committer | Aylur <[email protected]> | 2024-07-14 16:32:12 +0200 |
commit | e046d9428473fba74e4508776063904ec786aab4 (patch) | |
tree | 594fdb50424af0513f22fdd367a04df1a036f0ff /src | |
parent | 67931840f4f718426fd2ddb948eb6e0077b83be6 (diff) |
feat(slider): dragged signal
Diffstat (limited to 'src')
-rw-r--r-- | src/widget/slider.vala | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/widget/slider.vala b/src/widget/slider.vala index e41e2e8..4fa1216 100644 --- a/src/widget/slider.vala +++ b/src/widget/slider.vala @@ -6,6 +6,9 @@ public class Slider : Gtk.Scale { set { orientation = value ? Gtk.Orientation.VERTICAL : Gtk.Orientation.HORIZONTAL; } } + // emitted when the user drags the slider + public signal void dragged (); + construct { if (adjustment == null) adjustment = new Gtk.Adjustment(0,0,0,0,0,0); @@ -30,13 +33,18 @@ public class Slider : Gtk.Scale { value += step; dragging = false; }); + + value_changed.connect(() => { + if (dragging) + dragged(); + }); } public bool dragging { get; private set; } public double value { get { return adjustment.value; } - set { adjustment.value = value; } + set { if (!dragging) adjustment.value = value; } } public double min { |