1786188233
This commit is contained in:
4
build
4
build
@@ -6,3 +6,7 @@ if [ $? -ne 0 ]; then
|
||||
fi
|
||||
scp target/release/dashboard trekstor:~/dashboard
|
||||
ssh -t trekstor -- "systemctl --user restart dashboard"
|
||||
|
||||
git add .
|
||||
git commit -am "$(date +%s)"
|
||||
git push
|
||||
|
||||
@@ -10,14 +10,35 @@ use tokio::sync::mpsc::{self, UnboundedReceiver, UnboundedSender};
|
||||
|
||||
slint::include_modules!();
|
||||
|
||||
#[derive(Clone)]
|
||||
enum C2sMessage {
|
||||
CallService(String, String, Option<Value>),
|
||||
}
|
||||
fn apply_state(app: &Weak<AppWindow>, state: State) {
|
||||
app.upgrade_in_event_loop(move |app| {
|
||||
// Lights
|
||||
let lights = state
|
||||
.domain("light")
|
||||
.iter()
|
||||
.filter(|light| {
|
||||
!(light.entity_id.ends_with("screen")
|
||||
|| light.entity_id.chars().any(char::is_numeric))
|
||||
})
|
||||
.map(Into::into)
|
||||
.collect::<Vec<LightData>>();
|
||||
app.set_lights(ModelRc::new(VecModel::from(lights)));
|
||||
|
||||
#[derive(Clone)]
|
||||
enum S2cMessage {
|
||||
EntityUpdated,
|
||||
// Thermometers
|
||||
let thermometers = state
|
||||
.domain("sensor")
|
||||
.iter()
|
||||
.filter(|sensor| sensor.entity_id.ends_with("thermometer_temperature"))
|
||||
.map(Into::into)
|
||||
.collect::<Vec<ThermometerData>>();
|
||||
app.set_thermometers(ModelRc::new(VecModel::from(thermometers)));
|
||||
|
||||
// Clock
|
||||
if let Some(date_time_iso) = state.get("sensor.date_time_iso").as_ref() {
|
||||
app.set_date_time(date_time_iso.into());
|
||||
}
|
||||
})
|
||||
.ok();
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
@@ -80,43 +101,14 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn apply_state(app: &Weak<AppWindow>, state: State) {
|
||||
app.upgrade_in_event_loop(move |app| {
|
||||
// Lights
|
||||
let lights = state
|
||||
.domain("light")
|
||||
.iter()
|
||||
.filter_map(|light| {
|
||||
if light.entity_id.ends_with("screen")
|
||||
|| light.entity_id.find(|c: char| c.is_numeric()).is_some()
|
||||
{
|
||||
return None;
|
||||
}
|
||||
#[derive(Clone)]
|
||||
enum C2sMessage {
|
||||
CallService(String, String, Option<Value>),
|
||||
}
|
||||
|
||||
Some(light.into())
|
||||
})
|
||||
.collect::<Vec<LightData>>();
|
||||
app.set_lights(ModelRc::new(VecModel::from(lights)));
|
||||
|
||||
// Thermometers
|
||||
let badges = state
|
||||
.domain("sensor")
|
||||
.iter()
|
||||
.filter_map(|sensor| {
|
||||
if sensor.entity_id.ends_with("thermometer_temperature") {
|
||||
return Some(sensor.into());
|
||||
}
|
||||
None
|
||||
})
|
||||
.collect::<Vec<ThermometerData>>();
|
||||
app.set_badges(ModelRc::new(VecModel::from(badges)));
|
||||
|
||||
// Clock
|
||||
if let Some(date_time_iso) = state.get("sensor.date_time_iso").as_ref() {
|
||||
app.set_date_time(date_time_iso.into());
|
||||
}
|
||||
})
|
||||
.ok();
|
||||
#[derive(Clone)]
|
||||
enum S2cMessage {
|
||||
EntityUpdated,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone)]
|
||||
|
||||
3
dashboard/ui/calendar.slint
Normal file
3
dashboard/ui/calendar.slint
Normal file
@@ -0,0 +1,3 @@
|
||||
export component Calendar inherits Rectangle {
|
||||
// ..
|
||||
}
|
||||
3
dashboard/ui/climate.slint
Normal file
3
dashboard/ui/climate.slint
Normal file
@@ -0,0 +1,3 @@
|
||||
export component Climate inherits Rectangle {
|
||||
// ..
|
||||
}
|
||||
3
dashboard/ui/energy.slint
Normal file
3
dashboard/ui/energy.slint
Normal file
@@ -0,0 +1,3 @@
|
||||
export component Energy inherits Rectangle {
|
||||
// ..
|
||||
}
|
||||
@@ -8,6 +8,10 @@ import {
|
||||
StandardTableView,
|
||||
} from "std-widgets.slint";
|
||||
|
||||
import { Climate } from "./climate.slint";
|
||||
import { Calendar } from "calendar.slint";
|
||||
import { Energy } from "energy.slint";
|
||||
|
||||
export struct LightData {
|
||||
id: string,
|
||||
name: string,
|
||||
@@ -54,7 +58,7 @@ component Clock {
|
||||
}
|
||||
|
||||
component Thermometer inherits Rectangle {
|
||||
in property <ThermometerData> badge;
|
||||
in property <ThermometerData> thermometer;
|
||||
border-radius: 16px + 19px;
|
||||
border-width: 2px;
|
||||
border-color: Palette.alternate-background;
|
||||
@@ -66,13 +70,13 @@ component Thermometer inherits Rectangle {
|
||||
padding-right: parent.border-radius / 2;
|
||||
|
||||
Text {
|
||||
text: badge.name;
|
||||
text: thermometer.name;
|
||||
height: 16px;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "\{badge.value} \{badge.unit}";
|
||||
text: "\{thermometer.value} \{thermometer.unit}";
|
||||
height: 19px;
|
||||
font-size: 19px;
|
||||
font-weight: 500;
|
||||
@@ -88,7 +92,7 @@ export component AppWindow inherits Window {
|
||||
property <int> page: 0;
|
||||
|
||||
in property <DateTimeData> date-time;
|
||||
in property <[ThermometerData]> badges;
|
||||
in property <[ThermometerData]> thermometers;
|
||||
|
||||
in property <[LightData]> lights;
|
||||
callback toggle-light(string);
|
||||
@@ -107,8 +111,8 @@ export component AppWindow inherits Window {
|
||||
height: parent.height;
|
||||
}
|
||||
|
||||
for badge[index] in root.badges: Thermometer {
|
||||
badge: badge;
|
||||
for thermometer[index] in root.thermometers: Thermometer {
|
||||
thermometer: thermometer;
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
@@ -126,40 +130,9 @@ export component AppWindow inherits Window {
|
||||
Rectangle {
|
||||
preferred-width: root.width;
|
||||
VerticalLayout {
|
||||
if root.page == 0: Rectangle {
|
||||
StandardTableView {
|
||||
width: parent.width;
|
||||
height: parent.height;
|
||||
columns: [
|
||||
{ title: "Header 1" },
|
||||
{ title: "Header 2" },
|
||||
];
|
||||
rows: [
|
||||
[
|
||||
{ text: "Item 1" },
|
||||
{ text: "Item 2" },
|
||||
],
|
||||
[
|
||||
{ text: "Item 1" },
|
||||
{ text: "Item 2" },
|
||||
],
|
||||
[
|
||||
{ text: "Item 1" },
|
||||
{ text: "Item 2" },
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if root.page == 1: Rectangle {
|
||||
background: red;
|
||||
// pages go here
|
||||
}
|
||||
|
||||
if root.page == 2: Rectangle {
|
||||
background: yellow;
|
||||
// pages go here
|
||||
}
|
||||
if root.page == 0: Climate { }
|
||||
if root.page == 1: Calendar { }
|
||||
if root.page == 2: Energy { }
|
||||
|
||||
Rectangle {
|
||||
height: 64px;
|
||||
|
||||
152
samples
152
samples
@@ -1,152 +0,0 @@
|
||||
Status Sample name
|
||||
[G...] aarch64-ol7u9-linux-gnu
|
||||
[G...] aarch64-ol8u10-linux-gnu
|
||||
[G...] aarch64-ol8u6-linux-gnu
|
||||
[G...] aarch64-ol8u7-linux-gnu
|
||||
[G...] aarch64-ol8u8-linux-gnu
|
||||
[G...] aarch64-ol8u9-linux-gnu
|
||||
[G...] aarch64-ol9u2-linux-gnu
|
||||
[G...] aarch64-ol9u3-linux-gnu
|
||||
[G...] aarch64-ol9u4-linux-gnu
|
||||
[G...] aarch64-ol9u5-linux-gnu
|
||||
[G...] aarch64-rpi3-linux-gnu
|
||||
[G...] aarch64-rpi4-linux-gnu
|
||||
[G...] aarch64-unknown-linux-gnu
|
||||
[G...] aarch64-unknown-linux-musl
|
||||
[G...] aarch64-unknown-linux-uclibc
|
||||
[G...] alphaev56-unknown-linux-gnu
|
||||
[G...] alphaev67-unknown-linux-gnu
|
||||
[G...] arc-arc700-linux-uclibc
|
||||
[G...] arc-archs-linux-gnu
|
||||
[G...] arc-multilib-elf32
|
||||
[G...] arc-multilib-linux-gnu
|
||||
[G...] arc-multilib-linux-uclibc
|
||||
[G...] arm-bare_newlib_cortex_m3_nommu-eabi
|
||||
[G...] arm-cortex_a15-linux-gnueabihf
|
||||
[G..X] arm-cortexa5-linux-uclibcgnueabihf
|
||||
[G...] arm-cortex_a8-linux-gnueabi
|
||||
[G..X] arm-cortexa9_neon-linux-gnueabihf
|
||||
[G..X] x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf
|
||||
[G...] armeb-unknown-eabi
|
||||
[G...] armeb-unknown-linux-gnueabi
|
||||
[G...] armeb-unknown-linux-uclibcgnueabi
|
||||
[G...] arm-multilib-linux-uclibcgnueabi
|
||||
[G...] arm-nano-eabi
|
||||
[G...] arm-none-eabi
|
||||
[G...] arm-ol7u9-linux-gnueabi
|
||||
[G...] arm-ol7u9-linux-gnueabihf
|
||||
[G..X] arm-picolibc-default
|
||||
[G..X] arm-picolibc-eabi
|
||||
[G..X] x86_64-unknown-linux-gnu,arm-picolibc-eabi
|
||||
[G...] arm-unknown-eabi
|
||||
[G...] arm-unknown-linux-gnueabi
|
||||
[G..X] arm-unknown-linux-musleabi
|
||||
[G...] arm-unknown-linux-uclibcgnueabi
|
||||
[G..X] arm-unknown-linux-uclibcgnueabihf
|
||||
[G...] armv6-nommu-linux-uclibcgnueabi
|
||||
[G...] armv6-unknown-linux-gnueabi
|
||||
[G...] armv6-unknown-linux-gnueabihf
|
||||
[G...] armv7-rpi2-linux-gnueabihf
|
||||
[G...] armv8-rpi3-linux-gnueabihf
|
||||
[G...] armv8-rpi4-linux-gnueabihf
|
||||
[G...] avr
|
||||
[G...] bpf-unknown-none
|
||||
[G..X] hppa-unknown-linux-gnu
|
||||
[G...] i586-geode-linux-uclibc
|
||||
[G...] i686-centos6-linux-gnu
|
||||
[G...] i686-centos7-linux-gnu
|
||||
[G...] i686-nptl-linux-gnu
|
||||
[G...] i686-ol8u6-linux-gnu
|
||||
[G...] i686-ol8u7-linux-gnu
|
||||
[G...] i686-ol8u8-linux-gnu
|
||||
[G...] i686-ol9u2-linux-gnu
|
||||
[G...] i686-ubuntu14.04-linux-gnu
|
||||
[G...] i686-ubuntu16.04-linux-gnu
|
||||
[G..X] i686-w64-mingw32
|
||||
[G..X] lm32-unknown-elf
|
||||
[G..X] loongarch64-unknown-linux-gnu
|
||||
[G..X] loongarch64-unknown-linux-musl
|
||||
[G...] m68k-unknown-elf
|
||||
[G...] m68k-unknown-linux-gnu
|
||||
[G...] m68k-unknown-uclinux-uclibc
|
||||
[G...] powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc
|
||||
[G...] mips64el-multilib-linux-uclibc
|
||||
[G...] mips64-ol9u5-linux-gnu
|
||||
[G...] mips64-unknown-linux-gnu
|
||||
[G...] mips-ar2315-linux-gnu
|
||||
[G...] mipsel-multilib-linux-gnu
|
||||
[G...] mipsel-sde-elf
|
||||
[G...] mipsel-unknown-linux-gnu
|
||||
[G...] mips-malta-linux-gnu
|
||||
[G...] mips-unknown-elf
|
||||
[G...] mips-unknown-linux-gnu
|
||||
[G...] mips-unknown-linux-uclibc
|
||||
[G..X] moxie-unknown-elf
|
||||
[G..X] moxie-unknown-moxiebox
|
||||
[G..X] x86_64-multilib-linux-uclibc,moxie-unknown-moxiebox
|
||||
[G..X] msp430-unknown-elf
|
||||
[G...] nios2-altera-linux-gnu
|
||||
[G..X] i686-w64-mingw32,nios2-spico-elf
|
||||
[G...] nios2-unknown-elf
|
||||
[G..X] or1k-unknown-elf
|
||||
[G..X] or1k-unknown-linux-gnu
|
||||
[G..X] or1k-unknown-linux-musl
|
||||
[G...] powerpc-405-linux-gnu
|
||||
[G...] powerpc64le-unknown-linux-gnu
|
||||
[G...] powerpc64-multilib-linux-gnu
|
||||
[G...] powerpc64-unknown-linux-gnu
|
||||
[G...] powerpc64-unknown-linux-musl
|
||||
[G...] powerpc-8540-linux-gnu
|
||||
[G...] powerpc-860-linux-gnu
|
||||
[G...] powerpc-e300c3-linux-gnu
|
||||
[G...] powerpc-e500v2-linux-gnuspe
|
||||
[G...] x86_64-multilib-linux-uclibc,powerpc-unknown-elf
|
||||
[G...] powerpc-unknown-linux-gnu
|
||||
[G...] powerpc-unknown-linux-uclibc
|
||||
[G...] powerpc-unknown_nofpu-linux-gnu
|
||||
[G...] pru
|
||||
[G...] riscv32-hifive1-elf
|
||||
[G...] riscv32-picolibc-elf
|
||||
[G...] riscv32-unknown-elf
|
||||
[G...] riscv64-multilib-elf
|
||||
[G...] riscv64-unknown-elf
|
||||
[G...] riscv64-unknown-linux-gnu
|
||||
[G..X] rx-unknown-elf
|
||||
[G..X] s390-ibm-linux-gnu
|
||||
[G..X] s390-unknown-linux-gnu
|
||||
[G...] s390x-ibm-linux-gnu
|
||||
[G...] s390x-unknown-linux-gnu
|
||||
[G...] sh4-multilib-linux-gnu
|
||||
[G...] sh4-multilib-linux-uclibc
|
||||
[G...] sh-unknown-elf
|
||||
[G...] sparc64-multilib-linux-gnu
|
||||
[G...] sparc-leon-linux-uclibc
|
||||
[G...] sparc-unknown-linux-gnu
|
||||
[G..X] tic6x-uclinux
|
||||
[G..X] tricore-none-eabi
|
||||
[G...] x86_64-centos7-linux-gnu
|
||||
[G...] x86_64-multilib-linux-gnu
|
||||
[G...] x86_64-multilib-linux-musl
|
||||
[G...] x86_64-multilib-linux-uclibc
|
||||
[G...] x86_64-ol8u10-linux-gnu
|
||||
[G...] x86_64-ol8u6-linux-gnu
|
||||
[G...] x86_64-ol8u7-linux-gnu
|
||||
[G...] x86_64-ol8u8-linux-gnu
|
||||
[G...] x86_64-ol8u9-linux-gnu
|
||||
[G...] x86_64-ol9u2-linux-gnu
|
||||
[G...] x86_64-ol9u3-linux-gnu
|
||||
[G...] x86_64-ol9u4-linux-gnu
|
||||
[G...] x86_64-ol9u5-linux-gnu
|
||||
[G..X] x86_64-w64-mingw32,x86_64-pc-linux-gnu
|
||||
[G...] x86_64-ubuntu14.04-linux-gnu
|
||||
[G...] x86_64-ubuntu16.04-linux-gnu
|
||||
[G...] x86_64-unknown-linux-gnu
|
||||
[G...] x86_64-unknown-linux-uclibc
|
||||
[G..X] x86_64-w64-mingw32
|
||||
[G..X] xtensa-fsf-elf
|
||||
[G...] xtensa-fsf-linux-uclibc
|
||||
L (Local) : sample was found in current directory
|
||||
G (Global) : sample was installed with crosstool-NG
|
||||
X (EXPERIMENTAL): sample may use EXPERIMENTAL features
|
||||
B (BROKEN) : sample is currently broken
|
||||
O (OBSOLETE) : sample needs to be upgraded
|
||||
293
tree
293
tree
@@ -1,293 +0,0 @@
|
||||
arrayvec v0.7.8
|
||||
├── kurbo v0.13.1
|
||||
│ ├── svgtypes v0.16.1
|
||||
│ │ ├── resvg v0.47.0
|
||||
│ │ │ ├── i-slint-common v1.17.1
|
||||
│ │ │ │ ├── i-slint-core v1.17.1
|
||||
│ │ │ │ │ ├── i-slint-backend-selector v1.17.1
|
||||
│ │ │ │ │ │ └── slint v1.17.1
|
||||
│ │ │ │ │ │ ├── dashboard v0.1.0 (/home/avii/source/rust/trekstor/dashboard)
|
||||
│ │ │ │ │ │ └── trekstor v0.1.0 (/home/avii/source/rust/trekstor/trekstor)
|
||||
│ │ │ │ │ │ └── dashboard v0.1.0 (/home/avii/source/rust/trekstor/dashboard)
|
||||
│ │ │ │ │ ├── i-slint-renderer-software v1.17.1
|
||||
│ │ │ │ │ │ └── slint v1.17.1 (*)
|
||||
│ │ │ │ │ └── slint v1.17.1 (*)
|
||||
│ │ │ │ ├── i-slint-renderer-software v1.17.1 (*)
|
||||
│ │ │ │ └── slint v1.17.1 (*)
|
||||
│ │ │ └── i-slint-core v1.17.1 (*)
|
||||
│ │ └── usvg v0.47.0
|
||||
│ │ └── resvg v0.47.0 (*)
|
||||
│ └── usvg v0.47.0 (*)
|
||||
├── lyon_geom v1.0.19
|
||||
│ ├── i-slint-core v1.17.1 (*)
|
||||
│ └── lyon_path v1.0.19
|
||||
│ ├── i-slint-core v1.17.1 (*)
|
||||
│ ├── i-slint-renderer-software v1.17.1 (*)
|
||||
│ ├── lyon_algorithms v1.0.20
|
||||
│ │ └── i-slint-core v1.17.1 (*)
|
||||
│ └── lyon_extra v1.1.0
|
||||
│ └── i-slint-core v1.17.1 (*)
|
||||
├── polycool v0.4.0
|
||||
│ └── kurbo v0.13.1 (*)
|
||||
├── taffy v0.10.1
|
||||
│ └── i-slint-core v1.17.1 (*)
|
||||
└── tiny-skia v0.12.0
|
||||
└── resvg v0.47.0 (*)
|
||||
|
||||
arrayvec v0.7.8
|
||||
└── lyon_geom v1.0.19
|
||||
└── lyon_path v1.0.19
|
||||
├── i-slint-compiler v1.17.1
|
||||
│ └── slint-macros v1.17.1 (proc-macro)
|
||||
│ └── slint v1.17.1 (*)
|
||||
└── lyon_extra v1.1.0
|
||||
└── i-slint-compiler v1.17.1 (*)
|
||||
|
||||
euclid v0.22.14
|
||||
├── i-slint-core v1.17.1 (*)
|
||||
├── i-slint-renderer-software v1.17.1 (*)
|
||||
└── lyon_geom v1.0.19 (*)
|
||||
|
||||
euclid v0.22.14
|
||||
└── lyon_geom v1.0.19 (*)
|
||||
|
||||
font-types v0.11.3
|
||||
└── read-fonts v0.39.2
|
||||
├── fontique v0.10.0
|
||||
│ ├── i-slint-common v1.17.1 (*)
|
||||
│ └── parley v0.10.0
|
||||
│ └── i-slint-core v1.17.1 (*)
|
||||
├── harfrust v0.8.4
|
||||
│ └── parley v0.10.0 (*)
|
||||
└── skrifa v0.42.1
|
||||
├── i-slint-common v1.17.1 (*)
|
||||
├── i-slint-core v1.17.1 (*)
|
||||
├── i-slint-renderer-software v1.17.1 (*)
|
||||
└── parley v0.10.0 (*)
|
||||
|
||||
font-types v0.12.2
|
||||
└── read-fonts v0.41.0
|
||||
└── skrifa v0.44.0
|
||||
└── swash v0.2.10
|
||||
├── i-slint-core v1.17.1 (*)
|
||||
└── i-slint-renderer-software v1.17.1 (*)
|
||||
|
||||
hashbrown v0.14.5
|
||||
└── rowan v0.16.1
|
||||
└── i-slint-compiler v1.17.1 (*)
|
||||
|
||||
hashbrown v0.16.1
|
||||
└── clru v0.6.3
|
||||
├── i-slint-core v1.17.1 (*)
|
||||
└── i-slint-renderer-software v1.17.1 (*)
|
||||
|
||||
hashbrown v0.17.1
|
||||
└── indexmap v2.14.0
|
||||
└── toml_edit v0.25.13+spec-1.1.0
|
||||
└── proc-macro-crate v3.5.0
|
||||
└── num_enum_derive v0.7.6 (proc-macro)
|
||||
└── num_enum v0.7.6
|
||||
└── i-slint-compiler v1.17.1 (*)
|
||||
|
||||
hashbrown v0.17.1
|
||||
├── fontique v0.10.0 (*)
|
||||
└── parley v0.10.0 (*)
|
||||
|
||||
i-slint-common v1.17.1 (*)
|
||||
|
||||
i-slint-common v1.17.1
|
||||
└── i-slint-compiler v1.17.1 (*)
|
||||
[build-dependencies]
|
||||
└── i-slint-backend-selector v1.17.1 (*)
|
||||
|
||||
lyon_extra v1.1.0 (*)
|
||||
|
||||
lyon_extra v1.1.0 (*)
|
||||
|
||||
lyon_geom v1.0.19 (*)
|
||||
|
||||
lyon_geom v1.0.19 (*)
|
||||
|
||||
lyon_path v1.0.19 (*)
|
||||
|
||||
lyon_path v1.0.19 (*)
|
||||
|
||||
num-traits v0.2.19
|
||||
├── chrono v0.4.45
|
||||
│ └── i-slint-core v1.17.1 (*)
|
||||
├── euclid v0.22.14 (*)
|
||||
├── i-slint-core v1.17.1 (*)
|
||||
├── i-slint-renderer-software v1.17.1 (*)
|
||||
├── image v0.25.10
|
||||
│ └── i-slint-core v1.17.1 (*)
|
||||
├── integer-sqrt v0.1.5
|
||||
│ └── i-slint-renderer-software v1.17.1 (*)
|
||||
├── lyon_algorithms v1.0.20 (*)
|
||||
├── lyon_geom v1.0.19 (*)
|
||||
├── lyon_path v1.0.19 (*)
|
||||
├── moxcms v0.8.1
|
||||
│ └── image v0.25.10 (*)
|
||||
└── slint v1.17.1 (*)
|
||||
|
||||
num-traits v0.2.19
|
||||
├── euclid v0.22.14 (*)
|
||||
├── lyon_geom v1.0.19 (*)
|
||||
└── lyon_path v1.0.19 (*)
|
||||
|
||||
read-fonts v0.39.2 (*)
|
||||
|
||||
read-fonts v0.41.0 (*)
|
||||
|
||||
skrifa v0.42.1 (*)
|
||||
|
||||
skrifa v0.44.0 (*)
|
||||
|
||||
smallvec v1.15.2
|
||||
└── idna v1.1.0
|
||||
└── url v2.5.8
|
||||
└── i-slint-compiler v1.17.1 (*)
|
||||
|
||||
smallvec v1.15.2
|
||||
├── fixed_decimal v0.7.2
|
||||
│ └── icu_decimal v2.2.0
|
||||
│ └── i-slint-common v1.17.1 (*)
|
||||
├── fontique v0.10.0 (*)
|
||||
├── harfrust v0.8.4 (*)
|
||||
├── icu_normalizer v2.2.0
|
||||
│ ├── i-slint-compiler v1.17.1 (*)
|
||||
│ ├── i-slint-core v1.17.1 (*)
|
||||
│ ├── idna_adapter v1.2.2
|
||||
│ │ └── idna v1.1.0 (*)
|
||||
│ └── parley v0.10.0 (*)
|
||||
├── kurbo v0.13.1 (*)
|
||||
└── rustybuzz v0.20.1
|
||||
└── usvg v0.47.0 (*)
|
||||
|
||||
syn v2.0.119
|
||||
├── const-field-offset-macro v0.2.0 (proc-macro)
|
||||
│ └── const-field-offset v0.2.0
|
||||
│ ├── i-slint-core v1.17.1 (*)
|
||||
│ ├── slint v1.17.1 (*)
|
||||
│ └── vtable v0.4.0
|
||||
│ ├── i-slint-core v1.17.1 (*)
|
||||
│ └── slint v1.17.1 (*)
|
||||
├── derive_more-impl v2.1.1 (proc-macro)
|
||||
│ └── derive_more v2.1.1
|
||||
│ ├── i-slint-common v1.17.1 (*)
|
||||
│ ├── i-slint-common v1.17.1 (*)
|
||||
│ ├── i-slint-compiler v1.17.1 (*)
|
||||
│ ├── i-slint-core v1.17.1 (*)
|
||||
│ └── i-slint-renderer-software v1.17.1 (*)
|
||||
├── i-slint-core-macros v1.17.1 (proc-macro)
|
||||
│ ├── i-slint-backend-selector v1.17.1 (*)
|
||||
│ ├── i-slint-core v1.17.1 (*)
|
||||
│ └── slint v1.17.1 (*)
|
||||
├── num_enum_derive v0.7.6 (proc-macro) (*)
|
||||
├── pin-project-internal v1.1.13 (proc-macro)
|
||||
│ └── pin-project v1.1.13
|
||||
│ └── i-slint-core v1.17.1 (*)
|
||||
├── strum_macros v0.28.0 (proc-macro)
|
||||
│ └── strum v0.28.0
|
||||
│ ├── i-slint-compiler v1.17.1 (*)
|
||||
│ └── i-slint-core v1.17.1 (*)
|
||||
├── synstructure v0.13.2
|
||||
│ ├── yoke-derive v0.8.2 (proc-macro)
|
||||
│ │ └── yoke v0.8.3
|
||||
│ │ ├── icu_collections v2.2.0
|
||||
│ │ │ ├── icu_locale v2.2.0
|
||||
│ │ │ │ ├── icu_decimal v2.2.0 (*)
|
||||
│ │ │ │ └── icu_segmenter v2.2.0
|
||||
│ │ │ │ └── parley v0.10.0 (*)
|
||||
│ │ │ ├── icu_normalizer v2.2.0 (*)
|
||||
│ │ │ ├── icu_properties v2.2.0
|
||||
│ │ │ │ ├── idna_adapter v1.2.2 (*)
|
||||
│ │ │ │ ├── parley v0.10.0 (*)
|
||||
│ │ │ │ └── parley_data v0.10.0
|
||||
│ │ │ │ └── parley v0.10.0 (*)
|
||||
│ │ │ └── icu_segmenter v2.2.0 (*)
|
||||
│ │ ├── icu_provider v2.2.0
|
||||
│ │ │ ├── i-slint-common v1.17.1 (*)
|
||||
│ │ │ ├── icu_decimal v2.2.0 (*)
|
||||
│ │ │ ├── icu_locale v2.2.0 (*)
|
||||
│ │ │ ├── icu_normalizer v2.2.0 (*)
|
||||
│ │ │ ├── icu_properties v2.2.0 (*)
|
||||
│ │ │ └── icu_segmenter v2.2.0 (*)
|
||||
│ │ ├── zerotrie v0.2.4
|
||||
│ │ │ ├── icu_properties v2.2.0 (*)
|
||||
│ │ │ └── icu_provider v2.2.0 (*)
|
||||
│ │ └── zerovec v0.11.6
|
||||
│ │ ├── icu_collections v2.2.0 (*)
|
||||
│ │ ├── icu_decimal v2.2.0 (*)
|
||||
│ │ ├── icu_locale v2.2.0 (*)
|
||||
│ │ ├── icu_locale_core v2.2.0
|
||||
│ │ │ ├── i-slint-common v1.17.1 (*)
|
||||
│ │ │ ├── icu_decimal v2.2.0 (*)
|
||||
│ │ │ ├── icu_locale v2.2.0 (*)
|
||||
│ │ │ ├── icu_properties v2.2.0 (*)
|
||||
│ │ │ └── icu_provider v2.2.0 (*)
|
||||
│ │ ├── icu_normalizer v2.2.0 (*)
|
||||
│ │ ├── icu_properties v2.2.0 (*)
|
||||
│ │ ├── icu_provider v2.2.0 (*)
|
||||
│ │ ├── icu_segmenter v2.2.0 (*)
|
||||
│ │ ├── potential_utf v0.1.5
|
||||
│ │ │ ├── icu_collections v2.2.0 (*)
|
||||
│ │ │ ├── icu_locale v2.2.0 (*)
|
||||
│ │ │ └── icu_segmenter v2.2.0 (*)
|
||||
│ │ └── tinystr v0.8.3
|
||||
│ │ ├── icu_locale v2.2.0 (*)
|
||||
│ │ └── icu_locale_core v2.2.0 (*)
|
||||
│ └── zerofrom-derive v0.1.7 (proc-macro)
|
||||
│ └── zerofrom v0.1.8
|
||||
│ ├── icu_collections v2.2.0 (*)
|
||||
│ ├── icu_provider v2.2.0 (*)
|
||||
│ ├── yoke v0.8.3 (*)
|
||||
│ ├── zerotrie v0.2.4 (*)
|
||||
│ └── zerovec v0.11.6 (*)
|
||||
├── vtable-macro v0.4.0 (proc-macro)
|
||||
│ └── vtable v0.4.0 (*)
|
||||
├── yoke-derive v0.8.2 (proc-macro) (*)
|
||||
├── zerofrom-derive v0.1.7 (proc-macro) (*)
|
||||
└── zerovec-derive v0.11.3 (proc-macro)
|
||||
└── zerovec v0.11.6 (*)
|
||||
|
||||
syn v3.0.3
|
||||
├── auto_enums v0.8.10 (proc-macro)
|
||||
│ └── i-slint-core v1.17.1 (*)
|
||||
├── bytemuck_derive v1.12.0 (proc-macro)
|
||||
│ └── bytemuck v1.25.2
|
||||
│ ├── font-types v0.11.3 (*)
|
||||
│ ├── font-types v0.12.2 (*)
|
||||
│ ├── harfrust v0.8.4 (*)
|
||||
│ ├── i-slint-renderer-software v1.17.1 (*)
|
||||
│ ├── image v0.25.10 (*)
|
||||
│ ├── read-fonts v0.39.2 (*)
|
||||
│ ├── read-fonts v0.41.0 (*)
|
||||
│ ├── rgb v0.8.53
|
||||
│ │ ├── i-slint-core v1.17.1 (*)
|
||||
│ │ └── resvg v0.47.0 (*)
|
||||
│ ├── rustybuzz v0.20.1 (*)
|
||||
│ ├── skrifa v0.42.1 (*)
|
||||
│ ├── skrifa v0.44.0 (*)
|
||||
│ ├── tiny-skia v0.12.0 (*)
|
||||
│ └── tiny-skia-path v0.12.0
|
||||
│ ├── tiny-skia v0.12.0 (*)
|
||||
│ └── usvg v0.47.0 (*)
|
||||
├── derive_utils v0.16.0
|
||||
│ └── auto_enums v0.8.10 (proc-macro) (*)
|
||||
├── displaydoc v0.2.7 (proc-macro)
|
||||
│ ├── fixed_decimal v0.7.2 (*)
|
||||
│ ├── icu_collections v2.2.0 (*)
|
||||
│ ├── icu_decimal v2.2.0 (*)
|
||||
│ ├── icu_locale_core v2.2.0 (*)
|
||||
│ ├── icu_provider v2.2.0 (*)
|
||||
│ ├── tinystr v0.8.3 (*)
|
||||
│ └── zerotrie v0.2.4 (*)
|
||||
└── thiserror-impl v2.0.19 (proc-macro)
|
||||
├── thiserror v2.0.19
|
||||
│ └── lyon_extra v1.1.0 (*)
|
||||
└── thiserror v2.0.19
|
||||
└── lyon_extra v1.1.0 (*)
|
||||
|
||||
thiserror v2.0.19 (*)
|
||||
|
||||
thiserror v2.0.19 (*)
|
||||
Reference in New Issue
Block a user