chocobar-x11/ui/square-icon-widget.slint
Candifloss 962bed3dad Add reusable SquareIconWidget
- Avoid code duplication
- Base square icon button component with common appearance, properties, callbacks
- Refactor BatteryWidget to inherit SquareIconWidget
2025-11-21 19:47:25 +05:30

39 lines
1.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export component SquareIconWidget {
// Skeleton of suqre-shaped icon widgets
// with similar basic functions and appearance
in property <int> bar_height;
in property <string> icon_text;
in property <string> tooltip_text;
callback square_btn_callback();
height: bar_height * 1px; // Same height as the bar
width: bar_height * 1px; // Square shape
Rectangle {
background: touch_area.pressed ? #4a5f70
: touch_area.has-hover ? #6d8a4d
: #8e9162;
border-radius: 3px;
HorizontalLayout {
padding-left: 3px;
padding-right: 3px;
Text {
text: icon_text; // Every `SquareIconWidget` has an icon
color: white;
vertical-alignment: center;
horizontal-alignment: center;
}
}
touch_area := TouchArea {
// Action when the icon is clicked
clicked => { square_btn_callback(); }
}
}
// Tooltip will be added later — Slints ToolTip element is window-global
}