mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
115 lines
4.5 KiB
Plaintext
115 lines
4.5 KiB
Plaintext
import { SystemToggle, SystemSlider, SystemDropdown, RogItem } from "../widgets/common.slint";
|
|
import { VerticalBox, ScrollView, GroupBox } from "std-widgets.slint";
|
|
import { RogPalette } from "../themes/rog_theme.slint";
|
|
import { SlashPageData } from "../types/slash_types.slint";
|
|
|
|
export { SlashPageData }
|
|
|
|
export component PageSlash inherits Rectangle {
|
|
background: RogPalette.background;
|
|
|
|
ScrollView {
|
|
VerticalBox {
|
|
padding: 20px;
|
|
spacing: 20px;
|
|
alignment: start;
|
|
|
|
// Header
|
|
Rectangle {
|
|
height: 40px;
|
|
background: RogPalette.control-background;
|
|
border-radius: RogPalette.border-radius;
|
|
border-width: 1px;
|
|
border-color: RogPalette.control-border;
|
|
|
|
Text {
|
|
text: @tr("Slash Lighting Control");
|
|
color: RogPalette.accent;
|
|
font-size: 18px;
|
|
font-weight: 700;
|
|
horizontal-alignment: center;
|
|
vertical-alignment: center;
|
|
}
|
|
}
|
|
|
|
// Main Control
|
|
RogItem {
|
|
VerticalBox {
|
|
SystemToggle {
|
|
text: @tr("Enable Slash Lighting");
|
|
checked <=> SlashPageData.enabled;
|
|
toggled => { SlashPageData.cb_enabled(self.checked); }
|
|
}
|
|
|
|
SystemDropdown {
|
|
text: @tr("Lighting Mode");
|
|
model <=> SlashPageData.modes;
|
|
current_index <=> SlashPageData.mode_index;
|
|
current_value: SlashPageData.modes[SlashPageData.mode_index];
|
|
selected => {
|
|
SlashPageData.cb_mode_index(self.current_index);
|
|
}
|
|
}
|
|
|
|
SystemSlider {
|
|
title: @tr("Brightness");
|
|
text: @tr("Brightness");
|
|
value <=> SlashPageData.brightness;
|
|
minimum: 0;
|
|
maximum: 255;
|
|
help_text: "";
|
|
released(val) => { SlashPageData.cb_brightness(val); }
|
|
}
|
|
|
|
SystemSlider {
|
|
title: @tr("Interval / Speed");
|
|
text: @tr("Interval / Speed");
|
|
value <=> SlashPageData.interval;
|
|
minimum: 0;
|
|
maximum: 255;
|
|
help_text: "";
|
|
released(val) => { SlashPageData.cb_interval(val); }
|
|
}
|
|
}
|
|
}
|
|
|
|
// Behaviors
|
|
GroupBox {
|
|
title: @tr("Behavior Settings");
|
|
VerticalBox {
|
|
SystemToggle {
|
|
text: @tr("Show Battery Warning");
|
|
checked <=> SlashPageData.show_battery_warning;
|
|
toggled => { SlashPageData.cb_show_battery_warning(self.checked); }
|
|
}
|
|
SystemToggle {
|
|
text: @tr("Active on Battery");
|
|
checked <=> SlashPageData.show_on_battery;
|
|
toggled => { SlashPageData.cb_show_on_battery(self.checked); }
|
|
}
|
|
SystemToggle {
|
|
text: @tr("Active on Boot");
|
|
checked <=> SlashPageData.show_on_boot;
|
|
toggled => { SlashPageData.cb_show_on_boot(self.checked); }
|
|
}
|
|
SystemToggle {
|
|
text: @tr("Active on Shutdown");
|
|
checked <=> SlashPageData.show_on_shutdown;
|
|
toggled => { SlashPageData.cb_show_on_shutdown(self.checked); }
|
|
}
|
|
SystemToggle {
|
|
text: @tr("Active on Sleep");
|
|
checked <=> SlashPageData.show_on_sleep;
|
|
toggled => { SlashPageData.cb_show_on_sleep(self.checked); }
|
|
}
|
|
SystemToggle {
|
|
text: @tr("Active when Lid Closed");
|
|
checked <=> SlashPageData.show_on_lid_closed;
|
|
toggled => { SlashPageData.cb_show_on_lid_closed(self.checked); }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|