From 8e685e07946736c349b01b701787da8b453d342c Mon Sep 17 00:00:00 2001 From: PancakeTAS Date: Mon, 22 Dec 2025 20:39:46 +0100 Subject: [PATCH] refactor(cleanup): begin ui rewrite in qt --- CMakeLists.txt | 5 + lsfg-vk-ui/.clang-tidy | 38 + lsfg-vk-ui/CMakeLists.txt | 32 + lsfg-vk-ui/rsc/UI.qml | 115 ++ lsfg-vk-ui/rsc/panes/Group.qml | 32 + lsfg-vk-ui/rsc/panes/GroupEntry.qml | 34 + lsfg-vk-ui/rsc/panes/Pane.qml | 16 + lsfg-vk-ui/rsc/panes/ProfileList.qml | 16 + lsfg-vk-ui/rsc/widgets/FileEdit.qml | 17 + lsfg-vk-ui/rsc/widgets/FlowSlider.qml | 21 + lsfg-vk-ui/src/main.cpp | 21 + lsfg-vk-ui/src/ui.cpp | 10 + lsfg-vk-ui/src/ui.hpp | 16 + ui/Cargo.lock | 1411 ------------------------- ui/Cargo.toml | 15 - ui/build.rs | 7 - ui/rsc/entry/entry.ui | 33 - ui/rsc/lsfg-vk.xml | 16 - ui/rsc/pane/main.ui | 126 --- ui/rsc/pane/sidebar.ui | 61 -- ui/rsc/pref/dropdown.ui | 52 - ui/rsc/pref/entry.ui | 61 -- ui/rsc/pref/number.ui | 61 -- ui/rsc/pref/slider.ui | 61 -- ui/rsc/pref/switch.ui | 52 - ui/rsc/window.ui | 23 - ui/src/main.rs | 37 - ui/src/wrapper.rs | 79 -- ui/src/wrapper/entry.rs | 18 - ui/src/wrapper/entry/entry.rs | 41 - ui/src/wrapper/pane.rs | 35 - ui/src/wrapper/pane/main.rs | 49 - ui/src/wrapper/pane/sidebar.rs | 36 - ui/src/wrapper/pref.rs | 79 -- ui/src/wrapper/pref/dropdown.rs | 49 - ui/src/wrapper/pref/entry.rs | 53 - ui/src/wrapper/pref/number.rs | 45 - ui/src/wrapper/pref/slider.rs | 45 - ui/src/wrapper/pref/switch.rs | 47 - 39 files changed, 373 insertions(+), 2592 deletions(-) create mode 100644 lsfg-vk-ui/.clang-tidy create mode 100644 lsfg-vk-ui/CMakeLists.txt create mode 100644 lsfg-vk-ui/rsc/UI.qml create mode 100644 lsfg-vk-ui/rsc/panes/Group.qml create mode 100644 lsfg-vk-ui/rsc/panes/GroupEntry.qml create mode 100644 lsfg-vk-ui/rsc/panes/Pane.qml create mode 100644 lsfg-vk-ui/rsc/panes/ProfileList.qml create mode 100644 lsfg-vk-ui/rsc/widgets/FileEdit.qml create mode 100644 lsfg-vk-ui/rsc/widgets/FlowSlider.qml create mode 100644 lsfg-vk-ui/src/main.cpp create mode 100644 lsfg-vk-ui/src/ui.cpp create mode 100644 lsfg-vk-ui/src/ui.hpp delete mode 100644 ui/Cargo.lock delete mode 100644 ui/Cargo.toml delete mode 100644 ui/build.rs delete mode 100644 ui/rsc/entry/entry.ui delete mode 100644 ui/rsc/lsfg-vk.xml delete mode 100644 ui/rsc/pane/main.ui delete mode 100644 ui/rsc/pane/sidebar.ui delete mode 100644 ui/rsc/pref/dropdown.ui delete mode 100644 ui/rsc/pref/entry.ui delete mode 100644 ui/rsc/pref/number.ui delete mode 100644 ui/rsc/pref/slider.ui delete mode 100644 ui/rsc/pref/switch.ui delete mode 100644 ui/rsc/window.ui delete mode 100644 ui/src/main.rs delete mode 100644 ui/src/wrapper.rs delete mode 100644 ui/src/wrapper/entry.rs delete mode 100644 ui/src/wrapper/entry/entry.rs delete mode 100644 ui/src/wrapper/pane.rs delete mode 100644 ui/src/wrapper/pane/main.rs delete mode 100644 ui/src/wrapper/pane/sidebar.rs delete mode 100644 ui/src/wrapper/pref.rs delete mode 100644 ui/src/wrapper/pref/dropdown.rs delete mode 100644 ui/src/wrapper/pref/entry.rs delete mode 100644 ui/src/wrapper/pref/number.rs delete mode 100644 ui/src/wrapper/pref/slider.rs delete mode 100644 ui/src/wrapper/pref/switch.rs diff --git a/CMakeLists.txt b/CMakeLists.txt index b357d96..c4962cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,8 @@ project(lsfg-vk LANGUAGES CXX) # === user facing options option(LSFGVK_BUILD_VULKAN_LAYER "Build the Vulkan layer" ON) +option(LSFGVK_BUILD_USER_INTERFACE + "Build the user interface" ON) option(LSFGVK_BUILD_DEBUG_TOOL "Build the debug tool for testing and debugging" OFF) @@ -47,6 +49,9 @@ add_subdirectory(lsfg-vk-backend) if(LSFGVK_BUILD_VULKAN_LAYER) add_subdirectory(lsfg-vk-layer) endif() +if(LSFGVK_BUILD_USER_INTERFACE) + add_subdirectory(lsfg-vk-ui) +endif() if(LSFGVK_BUILD_DEBUG_TOOL) add_subdirectory(lsfg-vk-debug) endif() diff --git a/lsfg-vk-ui/.clang-tidy b/lsfg-vk-ui/.clang-tidy new file mode 100644 index 0000000..50758ca --- /dev/null +++ b/lsfg-vk-ui/.clang-tidy @@ -0,0 +1,38 @@ +Checks: +# enable basic checks +- "clang-analyzer-*" +# configure performance checks +- "performance-*" +- "-performance-enum-size" +# configure readability and bugprone checks +- "readability-*" +- "bugprone-*" +- "misc-*" +- "-readability-braces-around-statements" +- "-readability-function-cognitive-complexity" +- "-readability-identifier-length" +- "-readability-implicit-bool-conversion" +- "-readability-magic-numbers" +- "-readability-math-missing-parentheses" +- "-readability-named-parameter" +- "-bugprone-easily-swappable-parameters" +# configure modernization +- "modernize-*" +- "-modernize-use-trailing-return-type" +# configure cppcoreguidelines +- "cppcoreguidelines-*" +- "-cppcoreguidelines-avoid-magic-numbers" +- "-cppcoreguidelines-pro-type-reinterpret-cast" +- "-cppcoreguidelines-macro-usage" +- "-cppcoreguidelines-pro-type-member-init" +- "-cppcoreguidelines-prefer-member-initializer" +# disable slow and pointless checks +- "-modernize-use-std-numbers" +- "-modernize-type-traits" +- "-cppcoreguidelines-owning-memory" +- "-cppcoreguidelines-macro-to-enum" +- "-readability-container-contains" +- "-bugprone-reserved-identifier" +- "-bugprone-stringview-nullptr" +- "-bugprone-standalone-empty" +- "-misc-unused-using-decls" diff --git a/lsfg-vk-ui/CMakeLists.txt b/lsfg-vk-ui/CMakeLists.txt new file mode 100644 index 0000000..15c0c5f --- /dev/null +++ b/lsfg-vk-ui/CMakeLists.txt @@ -0,0 +1,32 @@ +find_package(Qt6 REQUIRED COMPONENTS Quick) + +set(UI_SOURCES + "src/ui.cpp" + "src/main.cpp") + +set(UI_RESOURCES + "rsc/panes/Group.qml" + "rsc/panes/GroupEntry.qml" + "rsc/panes/Pane.qml" + "rsc/panes/ProfileList.qml" + "rsc/widgets/FileEdit.qml" + "rsc/widgets/FlowSlider.qml" + "rsc/UI.qml") + +qt_add_executable(lsfg-vk-ui ${UI_SOURCES}) + +qt_add_resources(lsfg-vk-ui RESOURCES + PREFIX "/" + FILES ${UI_RESOURCES}) + +set_target_properties(lsfg-vk-ui PROPERTIES + AUTOMOC ON + AUTOUIC ON) + +add_compile_options( + -Wno-ctad-maybe-unsupported + -Wno-unsafe-buffer-usage-in-libc-call + -Wno-global-constructors) + +target_link_libraries(lsfg-vk-ui PRIVATE + Qt6::Quick) diff --git a/lsfg-vk-ui/rsc/UI.qml b/lsfg-vk-ui/rsc/UI.qml new file mode 100644 index 0000000..a9f0430 --- /dev/null +++ b/lsfg-vk-ui/rsc/UI.qml @@ -0,0 +1,115 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import QtQuick.Window +import "panes" +import "widgets" + +ApplicationWindow { + title: "lsfg-vk Configuration Window" + width: 900 + height: 475 + minimumWidth: 700 + minimumHeight: 400 + visible: true + + SplitView { + anchors.fill: parent + orientation: Qt.Horizontal + + Pane { + SplitView.minimumWidth: 200 + SplitView.preferredWidth: 250 + SplitView.maximumWidth: 300 + + Label { + text: "Profiles" + Layout.fillWidth: true + font.bold: true + horizontalAlignment: Text.AlignHCenter + } + + ProfileList { + + } + + Button { + text: "Create New Profile" + Layout.fillWidth: true + } + Button { + text: "Rename Profile" + Layout.fillWidth: true + } + Button { + text: "Delete Profile" + Layout.fillWidth: true + } + } + + Pane { + SplitView.fillWidth: true + + Group { + name: "Global Settings" + + GroupEntry { + title: "Browse for Lossless.dll" + description: "Change the location of Lossless.dll" + + FileEdit {} + } + + GroupEntry { + title: "Allow half-precision" + description: "Allow acceleration through half-precision" + + CheckBox {} + } + } + + Group { + name: "Profile Settings" + + GroupEntry { + title: "Multiplier" + description: "Control the amount of generated frames" + + SpinBox { from: 2; to: 100 } + } + + GroupEntry { + title: "Flow Scale" + description: "Lower the internal motion estimation resolution" + + FlowSlider { from: 0.25; to: 1.00 } + } + + GroupEntry { + title: "Performance Mode" + description: "Use a significantly lighter frame generation modeln" + + CheckBox {} + } + + GroupEntry { + title: "Pacing Mode" + description: "Change how frames are presented to the display" + + ComboBox { model: ["None"] } + } + + GroupEntry { + title: "GPU" + description: "Select which GPU to use for frame generation" + + ComboBox { model: ["Auto"] } + } + } + + Item { + Layout.fillHeight: true + } + } + } +} diff --git a/lsfg-vk-ui/rsc/panes/Group.qml b/lsfg-vk-ui/rsc/panes/Group.qml new file mode 100644 index 0000000..cd2a117 --- /dev/null +++ b/lsfg-vk-ui/rsc/panes/Group.qml @@ -0,0 +1,32 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +GroupBox { + property string name + default property alias content: inner.children + + Layout.fillWidth: true + id: root + topPadding: label.implicitHeight + 8 + label: Label { + text: root.name + anchors.horizontalCenter: parent.horizontalCenter + + anchors.top: parent.top + anchors.topMargin: 4 + padding: 4 + } + background: Rectangle { + color: palette.alternateBase + border.color: palette.light + radius: 4 + } + + ColumnLayout { + id: inner + + anchors.fill: parent + spacing: 12 + } +} diff --git a/lsfg-vk-ui/rsc/panes/GroupEntry.qml b/lsfg-vk-ui/rsc/panes/GroupEntry.qml new file mode 100644 index 0000000..c58983d --- /dev/null +++ b/lsfg-vk-ui/rsc/panes/GroupEntry.qml @@ -0,0 +1,34 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +RowLayout { + property string title + property string description + + id: root + spacing: 12 + + ColumnLayout { + spacing: 0 + + Label { + text: root.title + font.bold: true + } + + Label { + text: root.description + color: Qt.rgba( + palette.text.r, + palette.text.g, + palette.text.b, + 0.7 + ) + } + } + + Item { + Layout.fillWidth: true + } +} diff --git a/lsfg-vk-ui/rsc/panes/Pane.qml b/lsfg-vk-ui/rsc/panes/Pane.qml new file mode 100644 index 0000000..ff29d1d --- /dev/null +++ b/lsfg-vk-ui/rsc/panes/Pane.qml @@ -0,0 +1,16 @@ +import QtQuick +import QtQuick.Layouts + +Rectangle { + default property alias content: inner.children + + id: root + color: "transparent" + + ColumnLayout { + id: inner + anchors.fill: parent + anchors.margins: 12 + spacing: 4 + } +} diff --git a/lsfg-vk-ui/rsc/panes/ProfileList.qml b/lsfg-vk-ui/rsc/panes/ProfileList.qml new file mode 100644 index 0000000..57caa33 --- /dev/null +++ b/lsfg-vk-ui/rsc/panes/ProfileList.qml @@ -0,0 +1,16 @@ +import QtQuick +import QtQuick.Layouts + +Rectangle { + Layout.fillWidth: true + Layout.fillHeight: true + id: root + color: palette.dark + border.color: palette.light + border.width: 1 + radius: 4 + + ListView { + anchors.fill: parent + } +} diff --git a/lsfg-vk-ui/rsc/widgets/FileEdit.qml b/lsfg-vk-ui/rsc/widgets/FileEdit.qml new file mode 100644 index 0000000..eb020f4 --- /dev/null +++ b/lsfg-vk-ui/rsc/widgets/FileEdit.qml @@ -0,0 +1,17 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +RowLayout { + id: root + spacing: 4 + + TextField { + Layout.fillWidth: true; + Layout.maximumWidth: 450; + } + + Button { + icon.name: "folder-open" + } +} diff --git a/lsfg-vk-ui/rsc/widgets/FlowSlider.qml b/lsfg-vk-ui/rsc/widgets/FlowSlider.qml new file mode 100644 index 0000000..b314b4c --- /dev/null +++ b/lsfg-vk-ui/rsc/widgets/FlowSlider.qml @@ -0,0 +1,21 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +RowLayout { + property real from + property real to + id: root + spacing: 4 + + Slider { + Layout.fillWidth: true; + Layout.maximumWidth: 450; + } + + Label { + Layout.preferredWidth: 40; + text: "0%" + horizontalAlignment: Text.AlignHCenter + } +} diff --git a/lsfg-vk-ui/src/main.cpp b/lsfg-vk-ui/src/main.cpp new file mode 100644 index 0000000..dabe473 --- /dev/null +++ b/lsfg-vk-ui/src/main.cpp @@ -0,0 +1,21 @@ +#include "ui.hpp" +#include +#include +#include +#include + +using namespace lsfgvk::ui; + +int main(int argc, char* argv[]) { + const QGuiApplication app(argc, argv); + QGuiApplication::setApplicationName("lsfg-vk-ui"); + QGuiApplication::setApplicationDisplayName("lsfg-vk-ui"); + + QQmlApplicationEngine engine; + UI ui; + + engine.rootContext()->setContextProperty("ui", &ui); + engine.load("qrc:/rsc/UI.qml"); + + return QGuiApplication::exec(); +} diff --git a/lsfg-vk-ui/src/ui.cpp b/lsfg-vk-ui/src/ui.cpp new file mode 100644 index 0000000..100a642 --- /dev/null +++ b/lsfg-vk-ui/src/ui.cpp @@ -0,0 +1,10 @@ +#include "ui.hpp" + +#include +#include + +using namespace lsfgvk::ui; + +UI::UI(QObject* parent) : QObject(parent) { + std::cerr << "Hello, world!" << '\n'; +} diff --git a/lsfg-vk-ui/src/ui.hpp b/lsfg-vk-ui/src/ui.hpp new file mode 100644 index 0000000..b900d1b --- /dev/null +++ b/lsfg-vk-ui/src/ui.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include + +namespace lsfgvk::ui { + + class UI : public QObject { + Q_OBJECT + + public: + explicit UI(QObject* parent = nullptr); + private: + + }; + +} diff --git a/ui/Cargo.lock b/ui/Cargo.lock deleted file mode 100644 index ab3bb12..0000000 --- a/ui/Cargo.lock +++ /dev/null @@ -1,1411 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "adler2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.98" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" - -[[package]] -name = "autocfg" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" - -[[package]] -name = "bindgen" -version = "0.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn", -] - -[[package]] -name = "bitflags" -version = "2.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" - -[[package]] -name = "bumpalo" -version = "3.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" - -[[package]] -name = "cairo-rs" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6466a563dea2e99f59f6ffbb749fd0bdf75764f5e6e93976b5e7bd73c4c9efb" -dependencies = [ - "bitflags", - "cairo-sys-rs", - "glib", - "libc", -] - -[[package]] -name = "cairo-sys-rs" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab7e9f13c802625aad1ad2b4ae3989f4ce9339ff388f335a6f109f9338705e2" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "cc" -version = "1.2.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" -dependencies = [ - "shlex", -] - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[package]] -name = "cfg-expr" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0390889d58f934f01cd49736275b4c2da15bcfc328c78ff2349907e6cabf22" -dependencies = [ - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cfg-if" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" - -[[package]] -name = "chrono" -version = "0.4.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "num-traits", - "windows-link", -] - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "crc32fast" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "errno" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" -dependencies = [ - "libc", - "windows-sys 0.60.2", -] - -[[package]] -name = "field-offset" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" -dependencies = [ - "memoffset", - "rustc_version", -] - -[[package]] -name = "flate2" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-core", - "futures-macro", - "futures-task", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "gdk-pixbuf" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688dc7eaf551dbac1f5b11d000d089c3db29feb25562455f47c1a2080cc60bda" -dependencies = [ - "gdk-pixbuf-sys", - "gio", - "glib", - "libc", -] - -[[package]] -name = "gdk-pixbuf-sys" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5af1823d3d1cb72616873ba0a593bd440eb92da700fdfb047505a21ee3ec3e10" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gdk4" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a67b064d2f35e649232455c7724f56f977555d2608c43300eabc530eaa4e359" -dependencies = [ - "cairo-rs", - "gdk-pixbuf", - "gdk4-sys", - "gio", - "glib", - "libc", - "pango", -] - -[[package]] -name = "gdk4-sys" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2edbda0d879eb85317bdb49a3da591ed70a804a10776e358ef416be38c6db2c5" -dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gio" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "273d64c833fbbf7cd86c4cdced893c5d3f2f5d6aeb30fd0c30d172456ce8be2e" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "gio-sys", - "glib", - "libc", - "pin-project-lite", - "smallvec", -] - -[[package]] -name = "gio-sys" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c8130f5810a839d74afc3a929c34a700bf194972bb034f2ecfe639682dd13cc" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", - "windows-sys 0.60.2", -] - -[[package]] -name = "glib" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "690e8bcf8a819b5911d6ae79879226191d01253a4f602748072603defd5b9553" -dependencies = [ - "bitflags", - "futures-channel", - "futures-core", - "futures-executor", - "futures-task", - "futures-util", - "gio-sys", - "glib-macros", - "glib-sys", - "gobject-sys", - "libc", - "memchr", - "smallvec", -] - -[[package]] -name = "glib-build-tools" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86aebe63bb050d4918cb1d629880cb35fcba7ccda6f6fc0ec1beffdaa1b9d5c3" -dependencies = [ - "gio", -] - -[[package]] -name = "glib-macros" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e772291ebea14c28eb11bb75741f62f4a4894f25e60ce80100797b6b010ef0f9" -dependencies = [ - "heck", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "glib-sys" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2be4c74454fb4a6bd3328320737d0fa3d6939e2d570f5d846da00cb222f6a0" -dependencies = [ - "libc", - "system-deps", -] - -[[package]] -name = "glob" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" - -[[package]] -name = "gobject-sys" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab318a786f9abd49d388013b9161fa0ef8218ea6118ee7111c95e62186f7d31f" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "graphene-rs" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0487f78e8a772ec89020458fbabadd1332bc1e3236ca1c63ef1d61afd4e5f2cc" -dependencies = [ - "glib", - "graphene-sys", - "libc", -] - -[[package]] -name = "graphene-sys" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "270cefb6b270fcb2ef9708c3a35c0e25c2e831dac28d75c4f87e5ad3540c9543" -dependencies = [ - "glib-sys", - "libc", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gsk4" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5dbe33ceed6fc20def67c03d36e532f5a4a569ae437ae015a7146094f31e10c" -dependencies = [ - "cairo-rs", - "gdk4", - "glib", - "graphene-rs", - "gsk4-sys", - "libc", - "pango", -] - -[[package]] -name = "gsk4-sys" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d76011d55dd19fde16ffdedee08877ae6ec942818cfa7bc08a91259bc0b9fc9" -dependencies = [ - "cairo-sys-rs", - "gdk4-sys", - "glib-sys", - "gobject-sys", - "graphene-sys", - "libc", - "pango-sys", - "system-deps", -] - -[[package]] -name = "gtk4" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938d68ad43080ad5ee710c30d467c1bc022ee5947856f593855691d726305b3e" -dependencies = [ - "cairo-rs", - "field-offset", - "futures-channel", - "gdk-pixbuf", - "gdk4", - "gio", - "glib", - "graphene-rs", - "gsk4", - "gtk4-macros", - "gtk4-sys", - "libc", - "pango", -] - -[[package]] -name = "gtk4-macros" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0912d2068695633002b92c5966edc108b2e4f54b58c509d1eeddd4cbceb7315c" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "gtk4-sys" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a923bdcf00e46723801162de24432cbce38a6810e0178a2d0b6dd4ecc26a1c74" -dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk4-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "graphene-sys", - "gsk4-sys", - "libc", - "pango-sys", - "system-deps", -] - -[[package]] -name = "hashbrown" -version = "0.15.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "iana-time-zone" -version = "0.1.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "indexmap" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" -dependencies = [ - "equivalent", - "hashbrown", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "libadwaita" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4df6715d1257bd8c093295b77a276ed129d73543b10304fec5829ced5d5b7c41" -dependencies = [ - "gdk4", - "gio", - "glib", - "gtk4", - "libadwaita-sys", - "libc", - "pango", -] - -[[package]] -name = "libadwaita-sys" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf8950090cc180250cdb1ff859a39748feeda7a53a9f28ead3a17a14cc37ae2" -dependencies = [ - "gdk4-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "gtk4-sys", - "libc", - "pango-sys", - "system-deps", -] - -[[package]] -name = "libc" -version = "0.2.174" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" - -[[package]] -name = "libloading" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" -dependencies = [ - "cfg-if", - "windows-targets 0.53.2", -] - -[[package]] -name = "libproc" -version = "0.14.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" -dependencies = [ - "bindgen", - "errno", - "libc", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - -[[package]] -name = "log" -version = "0.4.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" - -[[package]] -name = "lsfg-vk-ui" -version = "0.0.0" -dependencies = [ - "anyhow", - "glib-build-tools", - "gtk4", - "libadwaita", - "proc-maps", - "procfs", - "serde", - "toml 0.9.2", -] - -[[package]] -name = "mach2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" -dependencies = [ - "libc", -] - -[[package]] -name = "memchr" -version = "2.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" -dependencies = [ - "adler2", -] - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "once_cell" -version = "1.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" - -[[package]] -name = "pango" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d4803f086c4f49163c31ac14db162112a22401c116435080e4be8678c507d61" -dependencies = [ - "gio", - "glib", - "libc", - "pango-sys", -] - -[[package]] -name = "pango-sys" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66872b3cfd328ad6d1a4f89ebd5357119bd4c592a4ddbb8f6bc2386f8ce7b898" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "prettyplease" -version = "0.2.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff24dfcda44452b9816fff4cd4227e1bb73ff5a2f1bc1105aa92fb8565ce44d2" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "proc-macro-crate" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" -dependencies = [ - "toml_edit", -] - -[[package]] -name = "proc-macro2" -version = "1.0.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "proc-maps" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db44c5aa60e193a25fcd93bb9ed27423827e8f118897866f946e2cf936c44fb" -dependencies = [ - "anyhow", - "bindgen", - "libc", - "libproc", - "mach2", - "winapi", -] - -[[package]] -name = "procfs" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" -dependencies = [ - "bitflags", - "chrono", - "flate2", - "hex", - "procfs-core", - "rustix", -] - -[[package]] -name = "procfs-core" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" -dependencies = [ - "bitflags", - "chrono", - "hex", -] - -[[package]] -name = "quote" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "regex" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustversion" -version = "1.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" - -[[package]] -name = "semver" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_spanned" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" -dependencies = [ - "serde", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "slab" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" - -[[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "syn" -version = "2.0.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "system-deps" -version = "7.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4be53aa0cba896d2dc615bd42bbc130acdcffa239e0a2d965ea5b3b2a86ffdb" -dependencies = [ - "cfg-expr", - "heck", - "pkg-config", - "toml 0.8.23", - "version-compare", -] - -[[package]] -name = "target-lexicon" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" - -[[package]] -name = "toml" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" -dependencies = [ - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.11", - "toml_edit", -] - -[[package]] -name = "toml" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac" -dependencies = [ - "indexmap", - "serde", - "serde_spanned 1.0.0", - "toml_datetime 0.7.0", - "toml_parser", - "toml_writer", - "winnow", -] - -[[package]] -name = "toml_datetime" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_datetime" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.22.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" -dependencies = [ - "indexmap", - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.11", - "winnow", -] - -[[package]] -name = "toml_parser" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30" -dependencies = [ - "winnow", -] - -[[package]] -name = "toml_writer" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" - -[[package]] -name = "unicode-ident" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - -[[package]] -name = "version-compare" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link", - "windows-result", - "windows-strings", -] - -[[package]] -name = "windows-implement" -version = "0.60.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "windows-interface" -version = "0.59.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" -dependencies = [ - "windows-targets 0.53.2", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.53.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" -dependencies = [ - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" - -[[package]] -name = "winnow" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" -dependencies = [ - "memchr", -] diff --git a/ui/Cargo.toml b/ui/Cargo.toml deleted file mode 100644 index bce798b..0000000 --- a/ui/Cargo.toml +++ /dev/null @@ -1,15 +0,0 @@ -[package] -name = "lsfg-vk-ui" -edition = "2021" - -[dependencies] -gtk = { version = "0.10.0", package = "gtk4", features = ["v4_10"] } -adw = { version = "0.8.0", package = "libadwaita", features = ["v1_4"] } -serde = { version = "1.0", features = ["derive"] } -toml = "0.9.2" -anyhow = "1.0" -procfs = "0.17.0" -proc-maps = "0.4.0" - -[build-dependencies] -glib-build-tools = "0.21.0" diff --git a/ui/build.rs b/ui/build.rs deleted file mode 100644 index 7ad38a0..0000000 --- a/ui/build.rs +++ /dev/null @@ -1,7 +0,0 @@ -fn main() { - glib_build_tools::compile_resources( - &["rsc"], - "rsc/lsfg-vk.xml", - "lsfg-vk.gresource", - ); -} diff --git a/ui/rsc/entry/entry.ui b/ui/rsc/entry/entry.ui deleted file mode 100644 index 6c066e3..0000000 --- a/ui/rsc/entry/entry.ui +++ /dev/null @@ -1,33 +0,0 @@ - - - - diff --git a/ui/rsc/lsfg-vk.xml b/ui/rsc/lsfg-vk.xml deleted file mode 100644 index 0d02470..0000000 --- a/ui/rsc/lsfg-vk.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - entry/entry.ui - pane/main.ui - pane/sidebar.ui - popup/process.ui - popup/process_entry.ui - pref/dropdown.ui - pref/number.ui - pref/entry.ui - pref/slider.ui - pref/switch.ui - window.ui - - diff --git a/ui/rsc/pane/main.ui b/ui/rsc/pane/main.ui deleted file mode 100644 index 437cd85..0000000 --- a/ui/rsc/pane/main.ui +++ /dev/null @@ -1,126 +0,0 @@ - - - - diff --git a/ui/rsc/pane/sidebar.ui b/ui/rsc/pane/sidebar.ui deleted file mode 100644 index bb49530..0000000 --- a/ui/rsc/pane/sidebar.ui +++ /dev/null @@ -1,61 +0,0 @@ - - - - diff --git a/ui/rsc/pref/dropdown.ui b/ui/rsc/pref/dropdown.ui deleted file mode 100644 index 263b179..0000000 --- a/ui/rsc/pref/dropdown.ui +++ /dev/null @@ -1,52 +0,0 @@ - - - - diff --git a/ui/rsc/pref/entry.ui b/ui/rsc/pref/entry.ui deleted file mode 100644 index 4211c01..0000000 --- a/ui/rsc/pref/entry.ui +++ /dev/null @@ -1,61 +0,0 @@ - - - - diff --git a/ui/rsc/pref/number.ui b/ui/rsc/pref/number.ui deleted file mode 100644 index 314d3ce..0000000 --- a/ui/rsc/pref/number.ui +++ /dev/null @@ -1,61 +0,0 @@ - - - - diff --git a/ui/rsc/pref/slider.ui b/ui/rsc/pref/slider.ui deleted file mode 100644 index a790f11..0000000 --- a/ui/rsc/pref/slider.ui +++ /dev/null @@ -1,61 +0,0 @@ - - - - diff --git a/ui/rsc/pref/switch.ui b/ui/rsc/pref/switch.ui deleted file mode 100644 index e5fa6c1..0000000 --- a/ui/rsc/pref/switch.ui +++ /dev/null @@ -1,52 +0,0 @@ - - - - diff --git a/ui/rsc/window.ui b/ui/rsc/window.ui deleted file mode 100644 index 3294055..0000000 --- a/ui/rsc/window.ui +++ /dev/null @@ -1,23 +0,0 @@ - - - - diff --git a/ui/src/main.rs b/ui/src/main.rs deleted file mode 100644 index b9cadd0..0000000 --- a/ui/src/main.rs +++ /dev/null @@ -1,37 +0,0 @@ -use std::sync::{Arc, OnceLock, RwLock}; - -use gtk::{gio, prelude::*}; -use adw; - -mod ui; -mod wrapper; -mod config; -mod utils; - -const APP_ID: &str = "gay.pancake.lsfg-vk-ui"; - -#[derive(Debug)] -struct State { - selected_game: Option -} - -static STATE: OnceLock>> = OnceLock::new(); - -fn main() { - gio::resources_register_include!("lsfg-vk.gresource") - .expect("Failed to register resources"); - config::load_config() - .expect("Failed to load configuration"); - - // prepare the application state - STATE.set(Arc::new(RwLock::new(State { - selected_game: None - }))).expect("Failed to set application state"); - - // start the application - let app = adw::Application::builder() - .application_id(APP_ID) - .build(); - app.connect_activate(ui::build); - app.run(); -} diff --git a/ui/src/wrapper.rs b/ui/src/wrapper.rs deleted file mode 100644 index a1fdf92..0000000 --- a/ui/src/wrapper.rs +++ /dev/null @@ -1,79 +0,0 @@ -use gtk::glib; -use gtk; -use adw; -use gtk::glib::types::StaticTypeExt; - -pub mod entry; -pub mod pane; -pub mod pref; -pub mod popup; - -pub mod imp { - use gtk::subclass::prelude::*; - use adw::subclass::prelude::*; - use crate::wrapper::pane::*; - use gtk::{glib, CompositeTemplate}; - - #[derive(CompositeTemplate, Default)] - #[template(resource = "/gay/pancake/lsfg-vk/window.ui")] - pub struct Window { - #[template_child] - pub main: TemplateChild, - #[template_child] - pub sidebar: TemplateChild, - } - - #[glib::object_subclass] - impl ObjectSubclass for Window { - const NAME: &'static str = "LSApplicationWindow"; - type Type = super::Window; - type ParentType = adw::ApplicationWindow; - - fn class_init(klass: &mut Self::Class) { - klass.bind_template(); - } - - fn instance_init(obj: &glib::subclass::InitializingObject) { - obj.init_template(); - } - } - - impl ObjectImpl for Window { - fn constructed(&self) { - self.parent_constructed(); - } - } - - impl WidgetImpl for Window {} - impl WindowImpl for Window {} - impl ApplicationWindowImpl for Window {} - impl AdwWindowImpl for Window {} - impl AdwApplicationWindowImpl for Window {} -} - -glib::wrapper! { - pub struct Window(ObjectSubclass) - @extends - adw::ApplicationWindow, adw::Window, - gtk::ApplicationWindow, gtk::Window, gtk::Widget, - @implements - gtk::gio::ActionGroup, gtk::gio::ActionMap, - gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, - gtk::Native, gtk::Root, gtk::ShortcutManager; -} - -impl Window { - pub fn new(app: &adw::Application) -> Self { - pref::PrefDropdown::ensure_type(); - pref::PrefEntry::ensure_type(); - pref::PrefNumber::ensure_type(); - pref::PrefSlider::ensure_type(); - pref::PrefSwitch::ensure_type(); - pane::PaneMain::ensure_type(); - pane::PaneSidebar::ensure_type(); - - glib::Object::builder() - .property("application", app) - .build() - } -} diff --git a/ui/src/wrapper/entry.rs b/ui/src/wrapper/entry.rs deleted file mode 100644 index 90e2a88..0000000 --- a/ui/src/wrapper/entry.rs +++ /dev/null @@ -1,18 +0,0 @@ -use gtk::glib; -use gtk; - -pub mod entry; - -glib::wrapper! { - pub struct Entry(ObjectSubclass) - @extends - gtk::ListBoxRow, gtk::Widget, - @implements - gtk::Accessible, gtk::Actionable, gtk::Buildable, gtk::ConstraintTarget; -} - -impl Entry { - pub fn new() -> Self { - glib::Object::new() - } -} diff --git a/ui/src/wrapper/entry/entry.rs b/ui/src/wrapper/entry/entry.rs deleted file mode 100644 index 301e974..0000000 --- a/ui/src/wrapper/entry/entry.rs +++ /dev/null @@ -1,41 +0,0 @@ -use std::cell::RefCell; - -use gtk::glib; -use gtk::subclass::prelude::*; -use gtk::prelude::*; - -#[derive(gtk::CompositeTemplate, glib::Properties, Default)] -#[properties(wrapper_type = super::Entry)] -#[template(resource = "/gay/pancake/lsfg-vk/entry/entry.ui")] -pub struct Entry { - #[property(get, set)] - exe: RefCell, - - #[template_child] - pub delete: TemplateChild, -} - -#[glib::object_subclass] -impl ObjectSubclass for Entry { - const NAME: &'static str = "LSEntry"; - type Type = super::Entry; - type ParentType = gtk::ListBoxRow; - - fn class_init(klass: &mut Self::Class) { - klass.bind_template(); - } - - fn instance_init(obj: &glib::subclass::InitializingObject) { - obj.init_template(); - } -} - -#[glib::derived_properties] -impl ObjectImpl for Entry { - fn constructed(&self) { - self.parent_constructed(); - } -} - -impl WidgetImpl for Entry {} -impl ListBoxRowImpl for Entry {} diff --git a/ui/src/wrapper/pane.rs b/ui/src/wrapper/pane.rs deleted file mode 100644 index e9ac12e..0000000 --- a/ui/src/wrapper/pane.rs +++ /dev/null @@ -1,35 +0,0 @@ -use gtk::glib; -use gtk; -use adw; - -pub mod main; -pub mod sidebar; - -glib::wrapper! { - pub struct PaneMain(ObjectSubclass) - @extends - adw::NavigationPage, gtk::Widget, - @implements - gtk::Accessible, gtk::Actionable, gtk::Buildable, gtk::ConstraintTarget; -} - -glib::wrapper! { - pub struct PaneSidebar(ObjectSubclass) - @extends - adw::NavigationPage, gtk::Widget, - @implements - gtk::Accessible, gtk::Actionable, gtk::Buildable, gtk::ConstraintTarget; -} - - -impl PaneMain { - pub fn new() -> Self { - glib::Object::new() - } -} - -impl PaneSidebar { - pub fn new() -> Self { - glib::Object::new() - } -} diff --git a/ui/src/wrapper/pane/main.rs b/ui/src/wrapper/pane/main.rs deleted file mode 100644 index 9fb4e0d..0000000 --- a/ui/src/wrapper/pane/main.rs +++ /dev/null @@ -1,49 +0,0 @@ -use gtk::glib; -use gtk::subclass::prelude::*; -use adw::subclass::prelude::*; -use crate::wrapper::pref::*; - -#[derive(gtk::CompositeTemplate, Default)] -#[template(resource = "/gay/pancake/lsfg-vk/pane/main.ui")] -pub struct PaneMain { - #[template_child] - pub dll: TemplateChild, - #[template_child] - pub no_fp16: TemplateChild, - #[template_child] - pub profile_name: TemplateChild, - #[template_child] - pub multiplier: TemplateChild, - #[template_child] - pub flow_scale: TemplateChild, - #[template_child] - pub performance_mode: TemplateChild, - #[template_child] - pub hdr_mode: TemplateChild, - #[template_child] - pub experimental_present_mode: TemplateChild -} - -#[glib::object_subclass] -impl ObjectSubclass for PaneMain { - const NAME: &'static str = "LSPaneMain"; - type Type = super::PaneMain; - type ParentType = adw::NavigationPage; - - fn class_init(klass: &mut Self::Class) { - klass.bind_template(); - } - - fn instance_init(obj: &glib::subclass::InitializingObject) { - obj.init_template(); - } -} - -impl ObjectImpl for PaneMain { - fn constructed(&self) { - self.parent_constructed(); - } -} - -impl WidgetImpl for PaneMain {} -impl NavigationPageImpl for PaneMain {} diff --git a/ui/src/wrapper/pane/sidebar.rs b/ui/src/wrapper/pane/sidebar.rs deleted file mode 100644 index 20ea990..0000000 --- a/ui/src/wrapper/pane/sidebar.rs +++ /dev/null @@ -1,36 +0,0 @@ -use gtk::glib; -use gtk::subclass::prelude::*; -use adw::subclass::prelude::*; - -#[derive(gtk::CompositeTemplate, Default)] -#[template(resource = "/gay/pancake/lsfg-vk/pane/sidebar.ui")] -pub struct PaneSidebar { - #[template_child] - pub profiles: TemplateChild, - #[template_child] - pub create: TemplateChild -} - -#[glib::object_subclass] -impl ObjectSubclass for PaneSidebar { - const NAME: &'static str = "LSPaneSidebar"; - type Type = super::PaneSidebar; - type ParentType = adw::NavigationPage; - - fn class_init(klass: &mut Self::Class) { - klass.bind_template(); - } - - fn instance_init(obj: &glib::subclass::InitializingObject) { - obj.init_template(); - } -} - -impl ObjectImpl for PaneSidebar { - fn constructed(&self) { - self.parent_constructed(); - } -} - -impl WidgetImpl for PaneSidebar {} -impl NavigationPageImpl for PaneSidebar {} diff --git a/ui/src/wrapper/pref.rs b/ui/src/wrapper/pref.rs deleted file mode 100644 index 7541955..0000000 --- a/ui/src/wrapper/pref.rs +++ /dev/null @@ -1,79 +0,0 @@ -use gtk::glib; -use gtk; -use adw; - -pub mod dropdown; -pub mod entry; -pub mod number; -pub mod slider; -pub mod switch; - -glib::wrapper! { - pub struct PrefDropdown(ObjectSubclass) - @extends - adw::PreferencesRow, gtk::ListBoxRow, gtk::Widget, - @implements - gtk::Accessible, gtk::Actionable, gtk::Buildable, gtk::ConstraintTarget; -} - -glib::wrapper! { - pub struct PrefSwitch(ObjectSubclass) - @extends - adw::PreferencesRow, gtk::ListBoxRow, gtk::Widget, - @implements - gtk::Accessible, gtk::Actionable, gtk::Buildable, gtk::ConstraintTarget; -} - -glib::wrapper! { - pub struct PrefNumber(ObjectSubclass) - @extends - adw::PreferencesRow, gtk::ListBoxRow, gtk::Widget, - @implements - gtk::Accessible, gtk::Actionable, gtk::Buildable, gtk::ConstraintTarget; -} - -glib::wrapper! { - pub struct PrefSlider(ObjectSubclass) - @extends - adw::PreferencesRow, gtk::ListBoxRow, gtk::Widget, - @implements - gtk::Accessible, gtk::Actionable, gtk::Buildable, gtk::ConstraintTarget; -} - -glib::wrapper! { - pub struct PrefEntry(ObjectSubclass) - @extends - adw::PreferencesRow, gtk::ListBoxRow, gtk::Widget, - @implements - gtk::Accessible, gtk::Actionable, gtk::Buildable, gtk::ConstraintTarget; -} - -impl PrefDropdown { - pub fn new() -> Self { - glib::Object::new() - } -} - -impl PrefSwitch { - pub fn new() -> Self { - glib::Object::new() - } -} - -impl PrefNumber { - pub fn new() -> Self { - glib::Object::new() - } -} - -impl PrefSlider { - pub fn new() -> Self { - glib::Object::new() - } -} - -impl PrefEntry { - pub fn new() -> Self { - glib::Object::new() - } -} diff --git a/ui/src/wrapper/pref/dropdown.rs b/ui/src/wrapper/pref/dropdown.rs deleted file mode 100644 index 2020a6a..0000000 --- a/ui/src/wrapper/pref/dropdown.rs +++ /dev/null @@ -1,49 +0,0 @@ -use std::cell::RefCell; - -use gtk::glib; -use gtk::subclass::prelude::*; -use adw::subclass::prelude::*; -use adw::prelude::*; - -#[derive(gtk::CompositeTemplate, glib::Properties, Default)] -#[properties(wrapper_type = super::PrefDropdown)] -#[template(resource = "/gay/pancake/lsfg-vk/pref/dropdown.ui")] -pub struct PrefDropdown { - #[property(get, set)] - opt_name: RefCell, - #[property(get, set)] - opt_subtitle: RefCell, - #[property(get, set)] - default_selection: RefCell, - #[property(get, set)] - options: RefCell, - - #[template_child] - pub dropdown: TemplateChild, -} - -#[glib::object_subclass] -impl ObjectSubclass for PrefDropdown { - const NAME: &'static str = "LSPrefDropdown"; - type Type = super::PrefDropdown; - type ParentType = adw::PreferencesRow; - - fn class_init(klass: &mut Self::Class) { - klass.bind_template(); - } - - fn instance_init(obj: &glib::subclass::InitializingObject) { - obj.init_template(); - } -} - -#[glib::derived_properties] -impl ObjectImpl for PrefDropdown { - fn constructed(&self) { - self.parent_constructed(); - } -} - -impl WidgetImpl for PrefDropdown {} -impl ListBoxRowImpl for PrefDropdown {} -impl PreferencesRowImpl for PrefDropdown {} diff --git a/ui/src/wrapper/pref/entry.rs b/ui/src/wrapper/pref/entry.rs deleted file mode 100644 index f274193..0000000 --- a/ui/src/wrapper/pref/entry.rs +++ /dev/null @@ -1,53 +0,0 @@ -use std::cell::RefCell; - -use gtk::glib; -use gtk::subclass::prelude::*; -use adw::subclass::prelude::*; -use adw::prelude::*; - -#[derive(gtk::CompositeTemplate, glib::Properties, Default)] -#[properties(wrapper_type = super::PrefEntry)] -#[template(resource = "/gay/pancake/lsfg-vk/pref/entry.ui")] -pub struct PrefEntry { - #[property(get, set)] - opt_name: RefCell, - #[property(get, set)] - opt_subtitle: RefCell, - #[property(get, set)] - default_text: RefCell, - #[property(get, set)] - tooltip_text: RefCell, - #[property(get, set)] - icon_name: RefCell, - - #[template_child] - pub entry: TemplateChild, - #[template_child] - pub btn: TemplateChild, -} - -#[glib::object_subclass] -impl ObjectSubclass for PrefEntry { - const NAME: &'static str = "LSPrefEntry"; - type Type = super::PrefEntry; - type ParentType = adw::PreferencesRow; - - fn class_init(klass: &mut Self::Class) { - klass.bind_template(); - } - - fn instance_init(obj: &glib::subclass::InitializingObject) { - obj.init_template(); - } -} - -#[glib::derived_properties] -impl ObjectImpl for PrefEntry { - fn constructed(&self) { - self.parent_constructed(); - } -} - -impl WidgetImpl for PrefEntry {} -impl ListBoxRowImpl for PrefEntry {} -impl PreferencesRowImpl for PrefEntry {} diff --git a/ui/src/wrapper/pref/number.rs b/ui/src/wrapper/pref/number.rs deleted file mode 100644 index fc6bad3..0000000 --- a/ui/src/wrapper/pref/number.rs +++ /dev/null @@ -1,45 +0,0 @@ -use std::cell::RefCell; - -use gtk::glib; -use gtk::subclass::prelude::*; -use adw::subclass::prelude::*; -use adw::prelude::*; - -#[derive(gtk::CompositeTemplate, glib::Properties, Default)] -#[properties(wrapper_type = super::PrefNumber)] -#[template(resource = "/gay/pancake/lsfg-vk/pref/number.ui")] -pub struct PrefNumber { - #[property(get, set)] - opt_name: RefCell, - #[property(get, set)] - opt_subtitle: RefCell, - - #[template_child] - pub number: TemplateChild, -} - -#[glib::object_subclass] -impl ObjectSubclass for PrefNumber { - const NAME: &'static str = "LSPrefNumber"; - type Type = super::PrefNumber; - type ParentType = adw::PreferencesRow; - - fn class_init(klass: &mut Self::Class) { - klass.bind_template(); - } - - fn instance_init(obj: &glib::subclass::InitializingObject) { - obj.init_template(); - } -} - -#[glib::derived_properties] -impl ObjectImpl for PrefNumber { - fn constructed(&self) { - self.parent_constructed(); - } -} - -impl WidgetImpl for PrefNumber {} -impl ListBoxRowImpl for PrefNumber {} -impl PreferencesRowImpl for PrefNumber {} diff --git a/ui/src/wrapper/pref/slider.rs b/ui/src/wrapper/pref/slider.rs deleted file mode 100644 index 207cbd0..0000000 --- a/ui/src/wrapper/pref/slider.rs +++ /dev/null @@ -1,45 +0,0 @@ -use std::cell::RefCell; - -use gtk::glib; -use gtk::subclass::prelude::*; -use adw::subclass::prelude::*; -use adw::prelude::*; - -#[derive(gtk::CompositeTemplate, glib::Properties, Default)] -#[properties(wrapper_type = super::PrefSlider)] -#[template(resource = "/gay/pancake/lsfg-vk/pref/slider.ui")] -pub struct PrefSlider { - #[property(get, set)] - opt_name: RefCell, - #[property(get, set)] - opt_subtitle: RefCell, - - #[template_child] - pub slider: TemplateChild, -} - -#[glib::object_subclass] -impl ObjectSubclass for PrefSlider { - const NAME: &'static str = "LSPrefSlider"; - type Type = super::PrefSlider; - type ParentType = adw::PreferencesRow; - - fn class_init(klass: &mut Self::Class) { - klass.bind_template(); - } - - fn instance_init(obj: &glib::subclass::InitializingObject) { - obj.init_template(); - } -} - -#[glib::derived_properties] -impl ObjectImpl for PrefSlider { - fn constructed(&self) { - self.parent_constructed(); - } -} - -impl WidgetImpl for PrefSlider {} -impl ListBoxRowImpl for PrefSlider {} -impl PreferencesRowImpl for PrefSlider {} diff --git a/ui/src/wrapper/pref/switch.rs b/ui/src/wrapper/pref/switch.rs deleted file mode 100644 index 7f3d77b..0000000 --- a/ui/src/wrapper/pref/switch.rs +++ /dev/null @@ -1,47 +0,0 @@ -use std::cell::RefCell; - -use gtk::glib; -use gtk::subclass::prelude::*; -use adw::subclass::prelude::*; -use adw::prelude::*; - -#[derive(gtk::CompositeTemplate, glib::Properties, Default)] -#[properties(wrapper_type = super::PrefSwitch)] -#[template(resource = "/gay/pancake/lsfg-vk/pref/switch.ui")] -pub struct PrefSwitch { - #[property(get, set)] - opt_name: RefCell, - #[property(get, set)] - opt_subtitle: RefCell, - #[property(get, set)] - default_state: RefCell, - - #[template_child] - pub switch: TemplateChild, -} - -#[glib::object_subclass] -impl ObjectSubclass for PrefSwitch { - const NAME: &'static str = "LSPrefSwitch"; - type Type = super::PrefSwitch; - type ParentType = adw::PreferencesRow; - - fn class_init(klass: &mut Self::Class) { - klass.bind_template(); - } - - fn instance_init(obj: &glib::subclass::InitializingObject) { - obj.init_template(); - } -} - -#[glib::derived_properties] -impl ObjectImpl for PrefSwitch { - fn constructed(&self) { - self.parent_constructed(); - } -} - -impl WidgetImpl for PrefSwitch {} -impl ListBoxRowImpl for PrefSwitch {} -impl PreferencesRowImpl for PrefSwitch {}