slint/demos/usecases/ui/views/header_view.slint

46 lines
1.4 KiB
Text

// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: MIT
import { ComboBox, Palette, HorizontalBox, Switch, StyleMetrics } from "std-widgets.slint";
import { Icons } from "../assets.slint";
import { UsecasesPalette } from "../widgets.slint";
export component HeaderView {
min-height: max(32px, layout.min-height);
callback select-language(index: int);
Rectangle {
background: UsecasesPalette.use-material ? Palette.alternate-background : transparent;
layout := HorizontalLayout {
padding: UsecasesPalette.use-material ? 8px : StyleMetrics.layout-padding;
spacing: 8px;
Image {
max-height: 32px;
source: Icons.slint-logo;
horizontal-alignment: left;
}
// spacer
Rectangle { }
ComboBox {
model: [@tr("English"), @tr("German")];
current-value: @tr("English");
selected() => {
root.select-language(self.current-index);
}
}
Switch {
text: @tr("Dark Mode");
checked: Palette.color-scheme == ColorScheme.dark;
toggled => {
Palette.color-scheme = self.checked ? ColorScheme.dark : ColorScheme.light;
}
}
}
}
}