mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-07-01 10:41:03 +02:00
feat(custom): option to toggle slider label
Adds new `show_label` option. Resolves #115 (for real this time).
This commit is contained in:
parent
dc16b1e15a
commit
033d0f7e6e
2 changed files with 4 additions and 0 deletions
|
@ -87,6 +87,7 @@ If your input program requires an integer, you will need to round it.
|
||||||
| `max` | `float` | `100` | Maximum slider value. |
|
| `max` | `float` | `100` | Maximum slider value. |
|
||||||
| `step` | `float` | - | The increment to change when scrolling with the mouse wheel. If left blank, will use the default determined by the environment. |
|
| `step` | `float` | - | The increment to change when scrolling with the mouse wheel. If left blank, will use the default determined by the environment. |
|
||||||
| `length` | `integer` | `null` | Slider length. GTK will automatically size if left unset. |
|
| `length` | `integer` | `null` | Slider length. GTK will automatically size if left unset. |
|
||||||
|
| `show_label` | `boolean` | `true` | Whether to show the value label above the slider. |
|
||||||
|
|
||||||
The example slider widget below shows a volume control for MPC,
|
The example slider widget below shows a volume control for MPC,
|
||||||
which updates the server when changed, and polls the server for volume changes to keep the slider in sync.
|
which updates the server when changed, and polls the server for volume changes to keep the slider in sync.
|
||||||
|
|
|
@ -24,6 +24,8 @@ pub struct SliderWidget {
|
||||||
max: f64,
|
max: f64,
|
||||||
step: Option<f64>,
|
step: Option<f64>,
|
||||||
length: Option<i32>,
|
length: Option<i32>,
|
||||||
|
#[serde(default = "crate::config::default_true")]
|
||||||
|
show_label: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
const fn default_min() -> f64 {
|
const fn default_min() -> f64 {
|
||||||
|
@ -51,6 +53,7 @@ impl CustomWidget for SliderWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
scale.set_range(self.min, self.max);
|
scale.set_range(self.min, self.max);
|
||||||
|
scale.set_draw_value(self.show_label);
|
||||||
|
|
||||||
if let Some(on_change) = self.on_change {
|
if let Some(on_change) = self.on_change {
|
||||||
let min = self.min;
|
let min = self.min;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue