slint/demos/printerdemo/ui/copy_page.slint
Simon Hausmann a98d4709be Move printer demo and energy-monitor into new top-level demos/ folder
These are showing off use-cases for Slint, but they're not examples showing individual Slint features.

Also removed the old printerdemo while at it.
2024-10-25 12:09:32 +02:00

108 lines
3 KiB
Text

// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: MIT
import { DemoPalette, Page, SpinBox, Label, ComboBox, PushButton, CheckBox } from "./common.slint";
import { PrinterQueue } from "./printer_queue.slint";
export component CopyPage inherits Page {
has-back-button: true;
header: @tr("Copy");
GridLayout {
padding-top: 46px /* header line height in design */
+ /* extra top-padding in design */ 27px;
spacing: 24px;
Row {
Text {
text: @tr("Choose Settings");
color: DemoPalette.secondary-foreground-color;
font-size: DemoPalette.base-font-size * 1.125;
font-weight: 800;
}
}
Row {
Label { text: @tr("Copies"); }
SpinBox {
value: 1;
minimum: 1;
}
Rectangle {}
Label { text: @tr("Size"); }
ComboBox {
value: @tr("DIN A4");
choices: [@tr("DIN A4"), @tr("DIN A3"), @tr("Letter")];
}
}
Row {
Label { text: @tr("Layout"); }
ComboBox {
value: @tr("Portrait");
choices: [@tr("Portrait"), @tr("Landscape")];
}
Rectangle {}
Label { text: @tr("Paper Tray"); }
ComboBox {
value: @tr("Special Tray");
choices: [@tr("Special Tray"), @tr("Normal Tray")];
}
}
Row {
Label { text: @tr("Quality"); }
ComboBox {
value: @tr("Best");
choices: [@tr("Best"), @tr("Medium"), @tr("Draft")];
}
Rectangle {}
Label { text: @tr("Paper Type"); }
ComboBox {
value: @tr("Standard");
choices: [@tr("Standard"), @tr("Non-standard")];
}
}
Row {
Label { text: @tr("Color"); }
ComboBox {
value: @tr("Grayscale");
choices: [@tr("Grayscale"), @tr("Color")];
}
Rectangle {}
Label { text: @tr("Paper Handling"); }
CheckBox {
checked: true;
text: @tr("Sort Pages");
}
}
Row {
HorizontalLayout {
col: 3;
colspan: 2;
Rectangle {
horizontal-stretch: 0;
width: 10%;
}
PushButton {
icon: @image-url("images/copy.svg");
text: @tr("Start copying");
clicked => {
PrinterQueue.start-job(@tr("Copy"));
}
}
Rectangle {
horizontal-stretch: 0;
width: 10%;
}
}
}
Row { Rectangle {} }
}
}