1. Finished GUI
2. Implemented Geolocation API
This commit is contained in:
Generated
+605
-5
@@ -110,6 +110,15 @@ dependencies = [
|
||||
"winit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.24.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "adler2"
|
||||
version = "2.0.0"
|
||||
@@ -451,6 +460,21 @@ version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.74"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"miniz_oxide",
|
||||
"object",
|
||||
"rustc-demangle",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.22.1"
|
||||
@@ -684,6 +708,8 @@ dependencies = [
|
||||
name = "champ"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"reqwest",
|
||||
"serde_json",
|
||||
"slint",
|
||||
"slint-build",
|
||||
]
|
||||
@@ -840,7 +866,7 @@ dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"core-foundation 0.9.4",
|
||||
"core-graphics-types 0.1.3",
|
||||
"foreign-types",
|
||||
"foreign-types 0.5.0",
|
||||
"libc",
|
||||
]
|
||||
|
||||
@@ -853,7 +879,7 @@ dependencies = [
|
||||
"bitflags 2.8.0",
|
||||
"core-foundation 0.10.0",
|
||||
"core-graphics-types 0.2.0",
|
||||
"foreign-types",
|
||||
"foreign-types 0.5.0",
|
||||
"libc",
|
||||
]
|
||||
|
||||
@@ -887,7 +913,7 @@ checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5"
|
||||
dependencies = [
|
||||
"core-foundation 0.9.4",
|
||||
"core-graphics 0.23.2",
|
||||
"foreign-types",
|
||||
"foreign-types 0.5.0",
|
||||
"libc",
|
||||
]
|
||||
|
||||
@@ -1179,6 +1205,15 @@ version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
|
||||
|
||||
[[package]]
|
||||
name = "encoding_rs"
|
||||
version = "0.8.35"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "endi"
|
||||
version = "1.1.0"
|
||||
@@ -1389,6 +1424,15 @@ dependencies = [
|
||||
"ttf-parser 0.21.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
|
||||
dependencies = [
|
||||
"foreign-types-shared 0.1.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types"
|
||||
version = "0.5.0"
|
||||
@@ -1396,7 +1440,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
|
||||
dependencies = [
|
||||
"foreign-types-macros",
|
||||
"foreign-types-shared",
|
||||
"foreign-types-shared 0.3.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1410,6 +1454,12 @@ dependencies = [
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types-shared"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types-shared"
|
||||
version = "0.3.1"
|
||||
@@ -1590,6 +1640,12 @@ dependencies = [
|
||||
"weezl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.31.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
|
||||
|
||||
[[package]]
|
||||
name = "gl_generator"
|
||||
version = "0.14.0"
|
||||
@@ -1697,6 +1753,25 @@ dependencies = [
|
||||
"gl_generator",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "h2"
|
||||
version = "0.4.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e"
|
||||
dependencies = [
|
||||
"atomic-waker",
|
||||
"bytes",
|
||||
"fnv",
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
"http",
|
||||
"indexmap",
|
||||
"slab",
|
||||
"tokio",
|
||||
"tokio-util",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "half"
|
||||
version = "2.4.1"
|
||||
@@ -1760,6 +1835,118 @@ dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "http"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"fnv",
|
||||
"itoa",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "http-body"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"http",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "http-body-util"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-util",
|
||||
"http",
|
||||
"http-body",
|
||||
"pin-project-lite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "httparse"
|
||||
version = "1.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a"
|
||||
|
||||
[[package]]
|
||||
name = "hyper"
|
||||
version = "1.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-channel",
|
||||
"futures-util",
|
||||
"h2",
|
||||
"http",
|
||||
"http-body",
|
||||
"httparse",
|
||||
"itoa",
|
||||
"pin-project-lite",
|
||||
"smallvec",
|
||||
"tokio",
|
||||
"want",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-rustls"
|
||||
version = "0.27.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"http",
|
||||
"hyper",
|
||||
"hyper-util",
|
||||
"rustls",
|
||||
"rustls-pki-types",
|
||||
"tokio",
|
||||
"tokio-rustls",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-tls"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"http-body-util",
|
||||
"hyper",
|
||||
"hyper-util",
|
||||
"native-tls",
|
||||
"tokio",
|
||||
"tokio-native-tls",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-util"
|
||||
version = "0.1.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-channel",
|
||||
"futures-util",
|
||||
"http",
|
||||
"http-body",
|
||||
"hyper",
|
||||
"pin-project-lite",
|
||||
"socket2",
|
||||
"tokio",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "i-slint-backend-linuxkms"
|
||||
version = "1.9.2"
|
||||
@@ -2282,6 +2469,12 @@ dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ipnet"
|
||||
version = "2.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.12.1"
|
||||
@@ -2567,6 +2760,12 @@ dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mime"
|
||||
version = "0.3.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
||||
|
||||
[[package]]
|
||||
name = "minimal-lexical"
|
||||
version = "0.2.1"
|
||||
@@ -2583,6 +2782,34 @@ dependencies = [
|
||||
"simd-adler32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mio"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"wasi",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "native-tls"
|
||||
version = "0.2.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"log",
|
||||
"openssl",
|
||||
"openssl-probe",
|
||||
"openssl-sys",
|
||||
"schannel",
|
||||
"security-framework",
|
||||
"security-framework-sys",
|
||||
"tempfile",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ndk"
|
||||
version = "0.9.0"
|
||||
@@ -2899,6 +3126,15 @@ dependencies = [
|
||||
"objc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.36.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.20.2"
|
||||
@@ -2909,6 +3145,50 @@ dependencies = [
|
||||
"portable-atomic",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl"
|
||||
version = "0.10.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f5e534d133a060a3c19daec1eb3e98ec6f4685978834f2dbadfe2ec215bab64e"
|
||||
dependencies = [
|
||||
"bitflags 2.8.0",
|
||||
"cfg-if",
|
||||
"foreign-types 0.3.2",
|
||||
"libc",
|
||||
"once_cell",
|
||||
"openssl-macros",
|
||||
"openssl-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-macros"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-probe"
|
||||
version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
|
||||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.104"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "orbclient"
|
||||
version = "0.3.48"
|
||||
@@ -3261,6 +3541,51 @@ version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
version = "0.12.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"bytes",
|
||||
"encoding_rs",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"h2",
|
||||
"http",
|
||||
"http-body",
|
||||
"http-body-util",
|
||||
"hyper",
|
||||
"hyper-rustls",
|
||||
"hyper-tls",
|
||||
"hyper-util",
|
||||
"ipnet",
|
||||
"js-sys",
|
||||
"log",
|
||||
"mime",
|
||||
"native-tls",
|
||||
"once_cell",
|
||||
"percent-encoding",
|
||||
"pin-project-lite",
|
||||
"rustls-pemfile",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_urlencoded",
|
||||
"sync_wrapper",
|
||||
"system-configuration",
|
||||
"tokio",
|
||||
"tokio-native-tls",
|
||||
"tower",
|
||||
"tower-service",
|
||||
"url",
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"windows-registry",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "resvg"
|
||||
version = "0.44.0"
|
||||
@@ -3284,6 +3609,21 @@ dependencies = [
|
||||
"bytemuck",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ring"
|
||||
version = "0.17.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"getrandom",
|
||||
"libc",
|
||||
"spin",
|
||||
"untrusted",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rowan"
|
||||
version = "0.16.1"
|
||||
@@ -3302,6 +3642,12 @@ version = "0.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-demangle"
|
||||
version = "0.1.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-hash"
|
||||
version = "1.1.0"
|
||||
@@ -3330,6 +3676,45 @@ dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls"
|
||||
version = "0.23.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"rustls-pki-types",
|
||||
"rustls-webpki",
|
||||
"subtle",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls-pemfile"
|
||||
version = "2.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
|
||||
dependencies = [
|
||||
"rustls-pki-types",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls-pki-types"
|
||||
version = "1.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c"
|
||||
|
||||
[[package]]
|
||||
name = "rustls-webpki"
|
||||
version = "0.102.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9"
|
||||
dependencies = [
|
||||
"ring",
|
||||
"rustls-pki-types",
|
||||
"untrusted",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.19"
|
||||
@@ -3387,6 +3772,15 @@ dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "schannel"
|
||||
version = "0.1.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d"
|
||||
dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "scoped-tls"
|
||||
version = "1.0.1"
|
||||
@@ -3418,6 +3812,29 @@ dependencies = [
|
||||
"tiny-skia",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "security-framework"
|
||||
version = "2.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
|
||||
dependencies = [
|
||||
"bitflags 2.8.0",
|
||||
"core-foundation 0.9.4",
|
||||
"core-foundation-sys",
|
||||
"libc",
|
||||
"security-framework-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "security-framework-sys"
|
||||
version = "2.14.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32"
|
||||
dependencies = [
|
||||
"core-foundation-sys",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "1.0.25"
|
||||
@@ -3476,6 +3893,18 @@ dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_urlencoded"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
|
||||
dependencies = [
|
||||
"form_urlencoded",
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha1"
|
||||
version = "0.10.6"
|
||||
@@ -3675,6 +4104,16 @@ dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "socket2"
|
||||
version = "0.5.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "softbuffer"
|
||||
version = "0.4.6"
|
||||
@@ -3686,7 +4125,7 @@ dependencies = [
|
||||
"cfg_aliases",
|
||||
"core-graphics 0.24.0",
|
||||
"fastrand",
|
||||
"foreign-types",
|
||||
"foreign-types 0.5.0",
|
||||
"js-sys",
|
||||
"log",
|
||||
"memmap2",
|
||||
@@ -3706,6 +4145,12 @@ dependencies = [
|
||||
"x11rb",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "spin"
|
||||
version = "0.9.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
|
||||
|
||||
[[package]]
|
||||
name = "spin_on"
|
||||
version = "0.1.1"
|
||||
@@ -3758,6 +4203,12 @@ dependencies = [
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "subtle"
|
||||
version = "2.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
|
||||
|
||||
[[package]]
|
||||
name = "svgtypes"
|
||||
version = "0.15.3"
|
||||
@@ -3779,6 +4230,15 @@ dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sync_wrapper"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "synstructure"
|
||||
version = "0.13.1"
|
||||
@@ -3799,6 +4259,27 @@ dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "system-configuration"
|
||||
version = "0.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
|
||||
dependencies = [
|
||||
"bitflags 2.8.0",
|
||||
"core-foundation 0.9.4",
|
||||
"system-configuration-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "system-configuration-sys"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
|
||||
dependencies = [
|
||||
"core-foundation-sys",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tar"
|
||||
version = "0.4.43"
|
||||
@@ -3934,6 +4415,54 @@ version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.43.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes",
|
||||
"libc",
|
||||
"mio",
|
||||
"pin-project-lite",
|
||||
"socket2",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-native-tls"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
|
||||
dependencies = [
|
||||
"native-tls",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-rustls"
|
||||
version = "0.26.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37"
|
||||
dependencies = [
|
||||
"rustls",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-util"
|
||||
version = "0.7.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
"pin-project-lite",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.8.19"
|
||||
@@ -3968,6 +4497,33 @@ dependencies = [
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tower"
|
||||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"pin-project-lite",
|
||||
"sync_wrapper",
|
||||
"tokio",
|
||||
"tower-layer",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tower-layer"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
|
||||
|
||||
[[package]]
|
||||
name = "tower-service"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
|
||||
|
||||
[[package]]
|
||||
name = "tracing"
|
||||
version = "0.1.41"
|
||||
@@ -4000,6 +4556,12 @@ dependencies = [
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "try-lock"
|
||||
version = "0.2.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
|
||||
|
||||
[[package]]
|
||||
name = "ttf-parser"
|
||||
version = "0.21.1"
|
||||
@@ -4125,6 +4687,12 @@ version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
|
||||
|
||||
[[package]]
|
||||
name = "untrusted"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "2.5.4"
|
||||
@@ -4176,6 +4744,12 @@ version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
|
||||
|
||||
[[package]]
|
||||
name = "vcpkg"
|
||||
version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.5"
|
||||
@@ -4215,6 +4789,15 @@ dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "want"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
|
||||
dependencies = [
|
||||
"try-lock",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.11.0+wasi-snapshot-preview1"
|
||||
@@ -4524,6 +5107,17 @@ dependencies = [
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-registry"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
|
||||
dependencies = [
|
||||
"windows-result",
|
||||
"windows-strings",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-result"
|
||||
version = "0.2.0"
|
||||
@@ -5115,6 +5709,12 @@ dependencies = [
|
||||
"synstructure",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zeroize"
|
||||
version = "1.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
|
||||
|
||||
[[package]]
|
||||
name = "zerovec"
|
||||
version = "0.10.4"
|
||||
|
||||
@@ -4,6 +4,8 @@ version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
reqwest = { version = "0.12.12", features = ["blocking"] }
|
||||
serde_json = "1.0.137"
|
||||
slint = "1.9.2"
|
||||
|
||||
[build-dependencies]
|
||||
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
Rectangle {
|
||||
x: 7px;
|
||||
y: 11px;
|
||||
border-color: #00FFFF;
|
||||
border-width: 1px;
|
||||
border-radius: 10px;
|
||||
height: 360px;
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
Text {
|
||||
x: 15px;
|
||||
y: 15px;
|
||||
text: "Search User";
|
||||
}
|
||||
|
||||
ComboBox {
|
||||
x: 15px;
|
||||
y: 58px;
|
||||
width: 135px;
|
||||
model: ["Username", "Last Name"];
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
width: 135px;
|
||||
x: 15px;
|
||||
y: 104px;
|
||||
}
|
||||
|
||||
Button {
|
||||
width: 135px;
|
||||
x: 15px;
|
||||
y: 288px;
|
||||
text: "Seach";
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
x: 167px;
|
||||
y: 11px;
|
||||
border-color: #00FFFF;
|
||||
border-width: 1px;
|
||||
border-radius: 10px;
|
||||
height: 560px;
|
||||
width: 350px;
|
||||
}
|
||||
|
||||
Text {
|
||||
x: 175px;
|
||||
y: 15px;
|
||||
text: "Account Information";
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
x: 527px;
|
||||
y: 11px;
|
||||
border-color: #00FFFF;
|
||||
border-width: 1px;
|
||||
border-radius: 10px;
|
||||
height: 560px;
|
||||
width: 350px;
|
||||
}
|
||||
|
||||
Text {
|
||||
x: 535px;
|
||||
y: 15px;
|
||||
text: "Group Information";
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
fn main() {
|
||||
let config = slint_build::CompilerConfiguration::new()
|
||||
.with_style("cosmic-dark".into());
|
||||
.with_style("fluent-dark".into());
|
||||
slint_build::compile_with_config("ui/template.slint", config).unwrap();
|
||||
}
|
||||
+38
-3
@@ -1,8 +1,43 @@
|
||||
slint::slint!();
|
||||
slint::include_modules!();
|
||||
use reqwest;
|
||||
use serde_json::Value;
|
||||
use slint::ToSharedString;
|
||||
|
||||
fn main() {
|
||||
fn main() {
|
||||
let app: MainWindow = MainWindow::new().unwrap();
|
||||
let _weak = app.as_weak();
|
||||
let othertoolmodulecallbacks = app.global::<OtherToolCallbacks>();
|
||||
othertoolmodulecallbacks.on_ipapi({
|
||||
let app_weak = app.as_weak();
|
||||
move || {
|
||||
let app = app_weak.unwrap();
|
||||
let mut url = String::from("http://ip-api.com/json/");
|
||||
url.push_str(&app.global::<OtherToolCallbacks>().get_ipaddressbar());
|
||||
let resp: String = reqwest::blocking::get(url)
|
||||
.unwrap()
|
||||
.text()
|
||||
.ok()
|
||||
.unwrap()
|
||||
.into();
|
||||
let apitest = geolocateapi(&resp);
|
||||
let isp = apitest["isp"].to_shared_string();
|
||||
let country = apitest["country"].to_shared_string();
|
||||
let region = apitest["regionName"].to_shared_string();
|
||||
let city = apitest["city"].to_shared_string();
|
||||
app.global::<OtherToolCallbacks>()
|
||||
.set_isp(slint::SharedString::from(isp));
|
||||
app.global::<OtherToolCallbacks>()
|
||||
.set_country(slint::SharedString::from(country));
|
||||
app.global::<OtherToolCallbacks>()
|
||||
.set_state(slint::SharedString::from(region));
|
||||
app.global::<OtherToolCallbacks>()
|
||||
.set_city(slint::SharedString::from(city));
|
||||
}
|
||||
});
|
||||
app.run().unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
fn geolocateapi(data: &String) -> Value {
|
||||
let parsed: Value = serde_json::from_str(data).unwrap();
|
||||
return (parsed).clone();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
import { AboutSlint, VerticalBox, GridBox, Button, LineEdit, HorizontalBox, TextEdit, SpinBox } from "std-widgets.slint";
|
||||
|
||||
export component ComputerModules inherits Window {
|
||||
VerticalLayout {
|
||||
spacing: 5px;
|
||||
padding: 15px;
|
||||
HorizontalLayout {
|
||||
VerticalLayout {
|
||||
padding: 5px;
|
||||
spacing: 5px;
|
||||
height: 75px;
|
||||
Text {
|
||||
text: "Computer Tag / IP:";
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
height: 35px;
|
||||
}
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
height: 200px;
|
||||
padding: 5px;
|
||||
spacing: 5px;
|
||||
Button {
|
||||
text: "Computer File Explorer";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Current Logged on User";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "LAPS Password Viewer";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Reboot Computer";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Reboot w/ Auto Remote In";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "SCCM Log Parser";
|
||||
}
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
padding: 5px;
|
||||
height: 350px;
|
||||
width: 400px;
|
||||
TextEdit {
|
||||
height: 400px;
|
||||
wrap: word-wrap;
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
HorizontalLayout {
|
||||
alignment: start;
|
||||
spacing: 5px;
|
||||
padding-top: 20px;
|
||||
padding: 5px;
|
||||
Text {
|
||||
text: "Timeout for Computer Modules:";
|
||||
}
|
||||
}
|
||||
|
||||
HorizontalLayout {
|
||||
spacing: 5px;
|
||||
SpinBox {
|
||||
minimum: 2;
|
||||
maximum: 10;
|
||||
step-size: 1;
|
||||
horizontal-alignment: center;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
Text {
|
||||
vertical-alignment: center;
|
||||
text: "Seconds";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
spacing: 5px;
|
||||
padding: 5px;
|
||||
width: 150px;
|
||||
Button {
|
||||
text: "Bitlocker";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Director";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "HSC IT";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Imprivata";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "ISE";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Kronos";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Kuiper";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "One Content";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Printer Logic";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Site Scan";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "SnapComm";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "TelecommNG";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "UMS";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Unify";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Whats Up";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Workday";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
import { AboutSlint, VerticalBox, TabWidget, Button, LineEdit } from "std-widgets.slint";
|
||||
|
||||
export global OtherToolCallbacks {
|
||||
pure callback killCherwell();
|
||||
pure callback ipapi();
|
||||
in-out property <string> ipaddressbar;
|
||||
in property <string> isp;
|
||||
in property <string> country;
|
||||
in property <string> state;
|
||||
in property <string> city;
|
||||
}
|
||||
|
||||
export component OtherTools inherits Window {
|
||||
TabWidget {
|
||||
Tab {
|
||||
title: @tr("General");
|
||||
Button {
|
||||
text: "Kill all local Cherwell Processes";
|
||||
clicked => {
|
||||
OtherToolCallbacks.killCherwell();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Tab {
|
||||
title: @tr("Helpdesk");
|
||||
}
|
||||
|
||||
Tab {
|
||||
title: @tr("PC Technician");
|
||||
}
|
||||
|
||||
Tab {
|
||||
title: @tr("IRT");
|
||||
TabWidget {
|
||||
Tab {
|
||||
title: @tr("IP Geolocation API");
|
||||
HorizontalLayout {
|
||||
alignment: center;
|
||||
spacing: 5px;
|
||||
padding: 15px;
|
||||
height: 200px;
|
||||
VerticalLayout {
|
||||
spacing: 5px;
|
||||
padding: 15px;
|
||||
Text {
|
||||
height: 30px;
|
||||
text: "IP Address:";
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
height: 35px;
|
||||
edited(text) => {
|
||||
OtherToolCallbacks.ipaddressbar = self.text;
|
||||
}
|
||||
}
|
||||
|
||||
Button {
|
||||
height: 35px;
|
||||
text: "Search";
|
||||
clicked => {
|
||||
OtherToolCallbacks.ipapi();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HorizontalLayout {
|
||||
spacing: 5px;
|
||||
width: 400px;
|
||||
VerticalLayout {
|
||||
y: 10px;
|
||||
Text {
|
||||
text: "ISP:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Country:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "State:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "City:";
|
||||
}
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
spacing: 5px;
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
text: OtherToolCallbacks.isp;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
text: OtherToolCallbacks.country;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
text: OtherToolCallbacks.state;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
text: OtherToolCallbacks.city;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import { AboutSlint, VerticalBox, ComboBox, Button, StandardListView, TabWidget } from "std-widgets.slint";
|
||||
|
||||
export component SettingsModules inherits Window {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
import { AboutSlint, VerticalBox, GridBox, Button, LineEdit, HorizontalBox, TextEdit, SpinBox, StandardListView } from "std-widgets.slint";
|
||||
|
||||
export component UserModules inherits Window {
|
||||
VerticalLayout {
|
||||
spacing: 5px;
|
||||
padding: 15px;
|
||||
HorizontalLayout {
|
||||
spacing: 5px;
|
||||
VerticalLayout {
|
||||
padding: 5px;
|
||||
spacing: 5px;
|
||||
height: 75px;
|
||||
Text {
|
||||
text: "Search User";
|
||||
}
|
||||
|
||||
StandardListView {
|
||||
height: 80px;
|
||||
model: [{ text: "Username" }, { text: "Last Name" }];
|
||||
current-item: 0;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
height: 35px;
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
padding: 10px;
|
||||
Button {
|
||||
text: "Search";
|
||||
primary: true;
|
||||
}
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
padding-top: 30px;
|
||||
Button {
|
||||
text: "Clear Search";
|
||||
primary: false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HorizontalLayout {
|
||||
spacing: 5px;
|
||||
VerticalLayout {
|
||||
y: 10px;
|
||||
Text {
|
||||
text: "Account Creation Date:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Account Enabled:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "MyIdentity Claimed:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Display Name:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Email:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Enterprise ID:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Job Title:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Last Bad Password:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Last Logon Time:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Organizational Unit:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Mobile Email:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Outlook Client:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Passord Last Set:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "Password Expired:";
|
||||
}
|
||||
|
||||
Text {
|
||||
text: "VPN User:";
|
||||
}
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
spacing: 5px;
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
|
||||
LineEdit {
|
||||
read-only: true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
padding: 5px;
|
||||
height: 350px;
|
||||
width: 400px;
|
||||
Text {
|
||||
text: "Group Memberships";
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
TextEdit {
|
||||
height: 500px;
|
||||
wrap: word-wrap;
|
||||
read-only: true;
|
||||
}
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
spacing: 5px;
|
||||
padding: 5px;
|
||||
width: 150px;
|
||||
Button {
|
||||
text: "Bitlocker";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Director";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "HSC IT";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Imprivata";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "ISE";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Kronos";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Kuiper";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "One Content";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Printer Logic";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Site Scan";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "SnapComm";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "TelecommNG";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "UMS";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Unify";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Whats Up";
|
||||
}
|
||||
|
||||
Button {
|
||||
text: "Workday";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
import { HorizontalBox, VerticalBox, Palette } from "std-widgets.slint";
|
||||
|
||||
component SideBarItem inherits Rectangle {
|
||||
in property <int> tab-index;
|
||||
in property <bool> selected;
|
||||
in property <bool> has-focus;
|
||||
in-out property <string> text <=> label.text;
|
||||
|
||||
callback clicked <=> touch.clicked;
|
||||
|
||||
min-height: l.preferred-height;
|
||||
accessible-role: tab;
|
||||
accessible-label: root.text;
|
||||
accessible-item-index: root.tab-index;
|
||||
accessible-item-selectable: true;
|
||||
accessible-item-selected: root.selected;
|
||||
accessible-action-default => { self.clicked(); }
|
||||
|
||||
states [
|
||||
pressed when touch.pressed : {
|
||||
state.opacity: 0.8;
|
||||
}
|
||||
hover when touch.has-hover : {
|
||||
state.opacity: 0.6;
|
||||
}
|
||||
selected when root.selected : {
|
||||
state.opacity: 1;
|
||||
}
|
||||
focused when root.has-focus : {
|
||||
state.opacity: 0.8;
|
||||
}
|
||||
]
|
||||
|
||||
state := Rectangle {
|
||||
opacity: 0;
|
||||
background: Palette.background;
|
||||
|
||||
animate opacity { duration: 150ms; }
|
||||
}
|
||||
|
||||
l := HorizontalBox {
|
||||
y: (parent.height - self.height) / 2;
|
||||
spacing: 0px;
|
||||
|
||||
label := Text {
|
||||
vertical-alignment: center;
|
||||
accessible-role: none;
|
||||
}
|
||||
}
|
||||
|
||||
touch := TouchArea {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
export component SideBar inherits Rectangle {
|
||||
in property <[string]> model: [];
|
||||
in property <string> title <=> label.text;
|
||||
out property <int> current-item: 0;
|
||||
out property <int> current-focused: fs.has-focus ? fs.focused-tab : -1; // The currently focused tab
|
||||
|
||||
width: 180px;
|
||||
forward-focus: fs;
|
||||
accessible-role: tab-list;
|
||||
accessible-delegate-focus: root.current-focused >= 0 ? root.current-focused : root.current-item;
|
||||
accessible-label: root.title;
|
||||
accessible-item-count: root.model.length;
|
||||
|
||||
Rectangle {
|
||||
background: Palette.background.darker(0.2);
|
||||
|
||||
fs := FocusScope {
|
||||
key-pressed(event) => {
|
||||
if (event.text == "\n") {
|
||||
root.current-item = root.current-focused;
|
||||
return accept;
|
||||
}
|
||||
if (event.text == Key.UpArrow) {
|
||||
self.focused-tab = Math.max(self.focused-tab - 1, 0);
|
||||
return accept;
|
||||
}
|
||||
if (event.text == Key.DownArrow) {
|
||||
self.focused-tab = Math.min(self.focused-tab + 1, root.model.length - 1);
|
||||
return accept;
|
||||
}
|
||||
return reject;
|
||||
}
|
||||
|
||||
key-released(event) => {
|
||||
if (event.text == " ") {
|
||||
root.current-item = root.current-focused;
|
||||
return accept;
|
||||
}
|
||||
return reject;
|
||||
}
|
||||
|
||||
property <int> focused-tab: 0;
|
||||
|
||||
x: 0;
|
||||
width: 0; // Do not react on clicks
|
||||
}
|
||||
}
|
||||
|
||||
VerticalBox {
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
alignment: start;
|
||||
|
||||
label := Text {
|
||||
font-size: 16px;
|
||||
horizontal-alignment: center;
|
||||
}
|
||||
|
||||
navigation := VerticalLayout {
|
||||
alignment: start;
|
||||
vertical-stretch: 0;
|
||||
for item[index] in root.model : SideBarItem {
|
||||
clicked => { root.current-item = index; }
|
||||
|
||||
tab-index: index;
|
||||
has-focus: index == root.current-focused;
|
||||
text: item;
|
||||
selected: index == root.current-item;
|
||||
}
|
||||
}
|
||||
|
||||
VerticalLayout {
|
||||
bottom := VerticalBox {
|
||||
padding-top: 0px;
|
||||
padding-bottom: 0px;
|
||||
|
||||
@children
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
-7
@@ -1,12 +1,29 @@
|
||||
import { AboutSlint, VerticalBox } from "std-widgets.slint";
|
||||
import { StandardListView } from "std-widgets.slint";
|
||||
import { UserModules} from "pages/usermodules.slint";
|
||||
import { ComputerModules } from "pages/computermodules.slint";
|
||||
import { OtherTools } from "pages/othertools.slint";
|
||||
import { SettingsModules } from "pages/settings.slint";
|
||||
import { SideBar } from "sidebar.slint";
|
||||
export { OtherToolCallbacks } from "pages/othertools.slint";
|
||||
|
||||
export component MainWindow inherits Window {
|
||||
VerticalBox {
|
||||
Text {
|
||||
text: "Hello World!";
|
||||
}
|
||||
AboutSlint {
|
||||
preferred-height: 150px;
|
||||
title: @tr("CHAMP");
|
||||
preferred-width: 984px;
|
||||
preferred-height: 661px;
|
||||
HorizontalLayout {
|
||||
side-bar := SideBar {
|
||||
title: @tr("Menu");
|
||||
model: [
|
||||
@tr("Menu" => "User Modules"),
|
||||
@tr("Menu" => "Computer Modules"),
|
||||
@tr("Menu" => "Other Tools"),
|
||||
@tr("Menu" => "Settings")
|
||||
];
|
||||
}
|
||||
|
||||
if(side-bar.current-item == 0): UserModules { }
|
||||
if(side-bar.current-item == 1): ComputerModules { }
|
||||
if(side-bar.current-item == 2): OtherTools { }
|
||||
if(side-bar.current-item == 3): SettingsModules { }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user