From daac4c8ff01133a7846c6401eb7b552d55444da2 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Tue, 26 Jul 2022 17:34:46 +0200 Subject: [PATCH] 0.1.1 - added more system data in about dialog - updated core library --- Cargo.toml | 6 +++++- anime-game-core | 2 +- assets/icons/64x64.ico | Bin 0 -> 16958 bytes assets/resources.xml | 7 +++++-- assets/ui/main.blp | 2 +- src/main.rs | 9 ++++++++- src/ui/main.rs | 24 ++++++++++++++++++++++-- 7 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 assets/icons/64x64.ico diff --git a/Cargo.toml b/Cargo.toml index 8b4218a..aa30a88 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,16 @@ [package] name = "anime-game-launcher" -version = "0.1.0" +version = "0.1.1" description = "Anime Game launcher" authors = ["Nikita Podvirnyy "] license = "GPL-3.0" edition = "2021" build = "build.rs" +[profile.release] +strip = true +lto = true + [build-dependencies] gtk4 = "0.4" diff --git a/anime-game-core b/anime-game-core index 93cff0f..f5c91f0 160000 --- a/anime-game-core +++ b/anime-game-core @@ -1 +1 @@ -Subproject commit 93cff0fc6a6b1904bedbff8e42f925602947befb +Subproject commit f5c91f01561cd12873e92bb51b37c7d68ca0cd99 diff --git a/assets/icons/64x64.ico b/assets/icons/64x64.ico new file mode 100644 index 0000000000000000000000000000000000000000..8025d8b928100c5ccb551613097eeb25a8076981 GIT binary patch literal 16958 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 literal 0 HcmV?d00001 diff --git a/assets/resources.xml b/assets/resources.xml index 4a66f5a..c440f83 100644 --- a/assets/resources.xml +++ b/assets/resources.xml @@ -1,6 +1,9 @@ - - images/icon.png + + images/icon.png + + + icons/64x64.ico diff --git a/assets/ui/main.blp b/assets/ui/main.blp index ecc879f..1b100da 100644 --- a/assets/ui/main.blp +++ b/assets/ui/main.blp @@ -5,7 +5,7 @@ Adw.ApplicationWindow window { default-width: 900; default-height: 600; - styles ["devel"] + icon-name: "resource:///org/app/assets/icons/64x64"; content: Adw.ToastOverlay toast_overlay { Adw.Leaflet leaflet { diff --git a/src/main.rs b/src/main.rs index 7526d86..440e3ed 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,9 @@ use gtk4::{self as gtk, prelude::*}; use libadwaita::{self as adw, prelude::*}; -use gtk::{CssProvider, StyleContext, gdk::Display, STYLE_PROVIDER_PRIORITY_APPLICATION}; +use gtk::{CssProvider, StyleContext, STYLE_PROVIDER_PRIORITY_APPLICATION}; +use gtk::gdk::Display; +use gtk::glib::set_application_name; pub mod ui; pub mod lib; @@ -10,6 +12,7 @@ use ui::*; pub const APP_ID: &str = "com.gitlab.an-anime-team.an-anime-game-launcher-gtk"; pub const APP_VERSION: &str = env!("CARGO_PKG_VERSION"); +pub const APP_DEBUG: bool = cfg!(debug_assertions); #[tokio::main] async fn main() { @@ -20,6 +23,10 @@ async fn main() { gtk::gio::resources_register_include!(".assets.gresource") .expect("Failed to register resources"); + // Set application's title + // FIXME: doesn't work? + set_application_name("An Anime Game Launcher"); + // Create app let application = gtk::Application::new( Some(APP_ID), diff --git a/src/ui/main.rs b/src/ui/main.rs index fdc678b..fbcbff3 100644 --- a/src/ui/main.rs +++ b/src/ui/main.rs @@ -74,16 +74,36 @@ impl AppWidgets { preferences_stack: PreferencesStack::new(window, toast_overlay)? }; + // Set devel style to ApplicationWindow if it's debug mode + if crate::APP_DEBUG { + result.window.add_css_class("devel"); + } + // Set default About Dialog values - result.about.set_version(Some(crate::APP_VERSION)); + if crate::APP_DEBUG { + result.about.set_version(Some(format!("{} (development)", crate::APP_VERSION).as_str())); + } + + else { + result.about.set_version(Some(crate::APP_VERSION)); + } + result.about.set_license_type(gtk::License::Gpl30); result.about.set_authors(&[ "Nikita Podvirnyy " ]); + let curl_info = anime_game_core::curl_sys::Version::get(); + result.about.set_system_information(Some(&[ - format!("Anime Game core library version: {}", anime_game_core::VERSION) + format!("Anime Game core library version: {}", anime_game_core::VERSION), + format!(" Curl version: {}", curl_info.version()), + format!(" SSL version: {}", curl_info.ssl_version().unwrap_or("?")), + String::new(), + format!("GTK version: {}.{}.{}", gtk::major_version(), gtk::minor_version(), gtk::micro_version()), + format!("Libadwaita version: {}.{}.{}", adw::major_version(), adw::minor_version(), adw::micro_version()), + format!("Pango version: {}", gtk::pango::version_string().unwrap_or("?".into())), ].join("\n"))); // Add preferences page to the leaflet