From 06d118060e5bc4ee80a077283ef655740acadb38 Mon Sep 17 00:00:00 2001 From: Savanni D'Gerinel Date: Thu, 25 Jan 2024 09:03:17 -0500 Subject: [PATCH] Add a test program for gnome icons --- Cargo.lock | 11 +++++++++++ Cargo.toml | 1 + flake.nix | 1 + icon-test/Cargo.toml | 12 ++++++++++++ icon-test/src/main.rs | 38 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+) create mode 100644 icon-test/Cargo.toml create mode 100644 icon-test/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index f1f2ffb..145efcb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -933,6 +933,7 @@ dependencies = [ "dimensioned 0.8.0", "emseries", "ft-core", + "gdk4", "gio", "glib", "glib-build-tools 0.18.0", @@ -1794,6 +1795,16 @@ dependencies = [ "cc", ] +[[package]] +name = "icon-test" +version = "0.1.0" +dependencies = [ + "gio", + "glib", + "gtk4", + "libadwaita", +] + [[package]] name = "idna" version = "0.1.5" diff --git a/Cargo.toml b/Cargo.toml index bf860b2..1812447 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,6 +16,7 @@ members = [ "geo-types", "gm-control-panel", "hex-grid", + "icon-test", "ifc", "kifu/core", "kifu/gtk", diff --git a/flake.nix b/flake.nix index 91bc76d..70bc31b 100644 --- a/flake.nix +++ b/flake.nix @@ -32,6 +32,7 @@ pkgs.gst_all_1.gstreamer pkgs.gtk4 pkgs.libadwaita + pkgs.librsvg pkgs.nodejs pkgs.openssl pkgs.pipewire diff --git a/icon-test/Cargo.toml b/icon-test/Cargo.toml new file mode 100644 index 0000000..27b7f1c --- /dev/null +++ b/icon-test/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "icon-test" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +adw = { version = "0.5", package = "libadwaita", features = [ "v1_4" ] } +gio = { version = "0.18" } +glib = { version = "0.18" } +gtk = { version = "0.7", package = "gtk4", features = [ "v4_10" ] } diff --git a/icon-test/src/main.rs b/icon-test/src/main.rs new file mode 100644 index 0000000..7349f55 --- /dev/null +++ b/icon-test/src/main.rs @@ -0,0 +1,38 @@ +use adw::prelude::*; + +fn main() { + let adw_app = adw::Application::builder().build(); + + adw_app.connect_activate(move |adw_app| { + let window = gtk::ApplicationWindow::builder() + .application(adw_app) + .width_request(400) + .height_request(400) + .build(); + + let sunrise_button = gtk::Button::builder() + .icon_name("daytime-sunrise-symbolic") + .width_request(64) + .height_request(64) + .build(); + + let walking_button = gtk::Button::builder() + .icon_name("walking2-symbolic") + .width_request(64) + .height_request(64) + .build(); + + let layout = gtk::Box::builder() + .orientation(gtk::Orientation::Horizontal) + .valign(gtk::Align::Start) + .build(); + layout.append(&sunrise_button); + layout.append(&walking_button); + + window.set_child(Some(&layout)); + window.present(); + }); + + let args: Vec = std::env::args().collect(); + ApplicationExtManual::run_with_args(&adw_app, &args); +}