Started Rust Development #10

Merged
mysticmomba merged 10 commits from development into master 2025-01-28 15:36:14 -05:00
11 changed files with 1412 additions and 16 deletions
Showing only changes of commit 18ab70c299 - Show all commits
Generated
+605 -5
View File
@@ -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"
+2
View File
@@ -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
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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();
}
+157
View File
@@ -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";
}
}
}
}
}
+117
View File
@@ -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;
}
}
}
}
}
}
}
}
}
+5
View File
@@ -0,0 +1,5 @@
import { AboutSlint, VerticalBox, ComboBox, Button, StandardListView, TabWidget } from "std-widgets.slint";
export component SettingsModules inherits Window {
}
+259
View File
@@ -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";
}
}
}
}
}
+137
View File
@@ -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
View File
@@ -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 { }
}
}