mirror of
https://github.com/an-anime-team/sleepy-launcher.git
synced 2025-02-16 09:49:46 +03:00
Moved to libadwaita 1.2
This commit is contained in:
parent
6fd220e633
commit
5d26f84659
32 changed files with 81 additions and 126 deletions
11
Cargo.lock
generated
11
Cargo.lock
generated
|
@ -1130,10 +1130,12 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
|||
|
||||
[[package]]
|
||||
name = "libadwaita"
|
||||
version = "0.1.1"
|
||||
version = "0.2.0-alpha.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2ae453d28e3b91f03749f02b1531e8cfe315a1d0762b77a61797d2ab80bb87d"
|
||||
checksum = "73815fa30ca62d1db2713fe87cfd1cea41cad076ccdece6bb8328032db152f47"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"futures-channel",
|
||||
"gdk-pixbuf",
|
||||
"gdk4",
|
||||
"gio",
|
||||
|
@ -1147,9 +1149,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "libadwaita-sys"
|
||||
version = "0.1.0"
|
||||
version = "0.2.0-alpha.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f18b6ac4cadd252a89f5cba0a5a4e99836131795d6fad37b859ac79e8cb7d2c8"
|
||||
checksum = "b91960ec236b6fecdace0491ae1e4aac938d1c6adffd5939f811f3ed6592a59e"
|
||||
dependencies = [
|
||||
"gdk4-sys",
|
||||
"gio-sys",
|
||||
|
@ -1157,6 +1159,7 @@ dependencies = [
|
|||
"gobject-sys",
|
||||
"gtk4-sys",
|
||||
"libc",
|
||||
"pango-sys",
|
||||
"system-deps",
|
||||
]
|
||||
|
||||
|
|
|
@ -13,11 +13,11 @@ lto = true
|
|||
opt-level = 3
|
||||
|
||||
[build-dependencies]
|
||||
gtk4 = "0.4"
|
||||
gtk = { package = "gtk4", version = "0.4", features = ["v4_8"] }
|
||||
|
||||
[dependencies]
|
||||
gtk4 = "0.4"
|
||||
libadwaita = "0.1"
|
||||
gtk = { package = "gtk4", version = "0.4", features = ["v4_8"] }
|
||||
adw = { package = "libadwaita", version = "0.2.0-alpha.3", features = ["v1_2"] }
|
||||
rfd = { version = "0.10", features = ["xdg-portal"], default-features = false }
|
||||
|
||||
anime-game-core = { path = "anime-game-core", features = ["all", "static", "genshin"] }
|
||||
|
|
|
@ -108,11 +108,12 @@ Adw.ApplicationWindow window {
|
|||
};
|
||||
}
|
||||
|
||||
Gtk.AboutDialog about {
|
||||
program-name: "An Anime Game Launcher";
|
||||
Adw.AboutWindow about {
|
||||
application-name: "An Anime Game Launcher";
|
||||
application-icon: "moe.launcher.an-anime-game-launcher-gtk";
|
||||
|
||||
logo: "resource:///org/app/assets/images/icon.png";
|
||||
website: "https://github.com/an-anime-team/an-anime-game-launcher-gtk";
|
||||
issue-url: "https://github.com/an-anime-team/an-anime-game-launcher-gtk/issues";
|
||||
|
||||
modal: true;
|
||||
transient-for: window;
|
||||
|
|
|
@ -11,72 +11,48 @@ Adw.PreferencesWindow window {
|
|||
Adw.PreferencesGroup {
|
||||
title: "Game resolution";
|
||||
|
||||
Adw.ActionRow {
|
||||
Adw.EntryRow game_width {
|
||||
title: "Width";
|
||||
|
||||
Gtk.Entry game_width {
|
||||
placeholder-text: "0";
|
||||
valign: center;
|
||||
input-purpose: digits;
|
||||
}
|
||||
input-purpose: digits;
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
Adw.EntryRow game_height {
|
||||
title: "Height";
|
||||
|
||||
Gtk.Entry game_height {
|
||||
placeholder-text: "0";
|
||||
valign: center;
|
||||
input-purpose: digits;
|
||||
}
|
||||
input-purpose: digits;
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup {
|
||||
title: "Gamescope resolution";
|
||||
|
||||
Adw.ActionRow {
|
||||
Adw.EntryRow gamescope_width {
|
||||
title: "Width";
|
||||
|
||||
Gtk.Entry gamescope_width {
|
||||
placeholder-text: "0";
|
||||
valign: center;
|
||||
input-purpose: digits;
|
||||
}
|
||||
input-purpose: digits;
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
Adw.EntryRow gamescope_height {
|
||||
title: "Height";
|
||||
|
||||
Gtk.Entry gamescope_height {
|
||||
placeholder-text: "0";
|
||||
valign: center;
|
||||
input-purpose: digits;
|
||||
}
|
||||
input-purpose: digits;
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup {
|
||||
title: "Other settings";
|
||||
|
||||
Adw.ActionRow {
|
||||
Adw.EntryRow framerate_limit {
|
||||
title: "Framerate limit";
|
||||
|
||||
Gtk.Entry framerate_limit {
|
||||
placeholder-text: "0";
|
||||
valign: center;
|
||||
input-purpose: digits;
|
||||
}
|
||||
input-purpose: digits;
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
Adw.EntryRow framerate_unfocused_limit {
|
||||
title: "Unfocused framerate limit";
|
||||
|
||||
Gtk.Entry framerate_unfocused_limit {
|
||||
placeholder-text: "0";
|
||||
valign: center;
|
||||
input-purpose: digits;
|
||||
}
|
||||
input-purpose: digits;
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
|
|
2
build.rs
2
build.rs
|
@ -77,7 +77,7 @@ fn main() {
|
|||
blp_process_dir(String::new());
|
||||
|
||||
if let Ok(_) = read_to_string("assets/resources.xml") {
|
||||
gtk4::gio::compile_resources(
|
||||
gtk::gio::compile_resources(
|
||||
"assets",
|
||||
"assets/resources.xml",
|
||||
".assets.gresource",
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
use gtk4 as gtk;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
|
||||
pub enum Fps {
|
||||
/// 90
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
use gtk4 as gtk;
|
||||
|
||||
use std::collections::HashMap;
|
||||
|
||||
use serde::{Serialize, Deserialize};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
use gtk4 as gtk;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
|
||||
pub enum Resolution {
|
||||
// qHD; 960x540
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita as adw;
|
||||
use gtk::prelude::*;
|
||||
|
||||
use gtk::{CssProvider, StyleContext, STYLE_PROVIDER_PRIORITY_APPLICATION};
|
||||
use gtk::gdk::Display;
|
||||
|
@ -19,8 +18,7 @@ pub const APP_VERSION: &str = env!("CARGO_PKG_VERSION");
|
|||
pub const APP_DEBUG: bool = cfg!(debug_assertions);
|
||||
|
||||
fn main() {
|
||||
gtk::init().expect("GTK initialization failed");
|
||||
adw::init();
|
||||
adw::init().expect("Libadwaita initialization failed");
|
||||
|
||||
// Register and include resources
|
||||
gtk::gio::resources_register_include!(".assets.gresource")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use libadwaita::{self as adw, prelude::*};
|
||||
use adw::prelude::*;
|
||||
|
||||
use crate::lib::dxvk::Group;
|
||||
use super::dxvk_row::DxvkRow;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use gtk::prelude::*;
|
||||
use adw::prelude::*;
|
||||
|
||||
use crate::lib::dxvk::Version;
|
||||
use crate::ui::traits::download_component::*;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita as adw;
|
||||
use gtk::prelude::*;
|
||||
|
||||
use gtk::glib;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use gtk::prelude::*;
|
||||
use adw::prelude::*;
|
||||
|
||||
use std::path::PathBuf;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use libadwaita::{self as adw, prelude::*};
|
||||
use adw::prelude::*;
|
||||
|
||||
use crate::lib::wine::Group;
|
||||
use super::wine_row::WineRow;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use gtk::prelude::*;
|
||||
use adw::prelude::*;
|
||||
|
||||
use crate::lib::wine::Version;
|
||||
use crate::ui::traits::download_component::*;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use gtk4 as gtk;
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use adw::prelude::*;
|
||||
|
||||
use gtk::glib;
|
||||
use gtk::glib::clone;
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
use gtk4 as gtk;
|
||||
|
||||
use std::process::{Command, Stdio};
|
||||
|
||||
use crate::ui::*;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use gtk4 as gtk;
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use adw::prelude::*;
|
||||
|
||||
use crate::lib::wine::{Version as WineVersion, List as WineList};
|
||||
use crate::lib::dxvk::{Version as DxvkVersion, List as DxvkList};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
use gtk4 as gtk;
|
||||
|
||||
use crate::ui::*;
|
||||
|
||||
#[derive(Clone)]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita as adw;
|
||||
use gtk::prelude::*;
|
||||
|
||||
use gtk::glib;
|
||||
use gtk::glib::clone;
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
use gtk4 as gtk;
|
||||
|
||||
use crate::ui::*;
|
||||
|
||||
#[derive(Clone)]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use gtk4 as gtk;
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use gtk::prelude::*;
|
||||
use adw::prelude::*;
|
||||
|
||||
use anime_game_core::genshin::voice_data::prelude::*;
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
use gtk4 as gtk;
|
||||
|
||||
use crate::ui::*;
|
||||
|
||||
#[derive(Clone)]
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita as adw;
|
||||
use gtk::prelude::*;
|
||||
|
||||
use gtk4::glib;
|
||||
use gtk4::glib::clone;
|
||||
use gtk::glib;
|
||||
use gtk::glib::clone;
|
||||
|
||||
use std::rc::Rc;
|
||||
use std::cell::Cell;
|
||||
|
@ -42,7 +41,7 @@ pub struct AppWidgets {
|
|||
pub toast_overlay: adw::ToastOverlay,
|
||||
|
||||
pub menu: gtk::MenuButton,
|
||||
pub about: gtk::AboutDialog,
|
||||
pub about: adw::AboutWindow,
|
||||
|
||||
pub leaflet: adw::Leaflet,
|
||||
pub status_page: adw::StatusPage,
|
||||
|
@ -100,40 +99,40 @@ impl AppWidgets {
|
|||
|
||||
// Set default About Dialog values
|
||||
if crate::APP_DEBUG {
|
||||
result.about.set_version(Some(format!("{} (development)", crate::APP_VERSION).as_str()));
|
||||
result.about.set_version(&format!("{}-dev", crate::APP_VERSION));
|
||||
}
|
||||
|
||||
else {
|
||||
result.about.set_version(Some(crate::APP_VERSION));
|
||||
result.about.set_version(crate::APP_VERSION);
|
||||
}
|
||||
|
||||
result.about.set_license_type(gtk::License::Gpl30);
|
||||
|
||||
result.about.set_authors(&[
|
||||
result.about.set_developers(&[
|
||||
"Nikita Podvirnyy https://github.com/krypt0nn"
|
||||
]);
|
||||
|
||||
result.about.add_credit_section("Logo", &[
|
||||
result.about.add_credit_section(Some("Logo"), &[
|
||||
"@nightany https://pinterest.com/pin/356206651788051017"
|
||||
]);
|
||||
|
||||
result.about.add_credit_section("An Anime Team", &[
|
||||
result.about.add_credit_section(Some("An Anime Team"), &[
|
||||
"@Marie https://github.com/Mar0xy",
|
||||
"@lane https://github.com/laurinneff"
|
||||
]);
|
||||
|
||||
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!(" Curl version: {}", curl_info.version()),
|
||||
format!(" SSL version: {}", curl_info.ssl_version().unwrap_or("?")),
|
||||
result.about.set_debug_info(&[
|
||||
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())),
|
||||
format!("Cairo version: {}", gtk::cairo::version_string()),
|
||||
].join("\n")));
|
||||
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())),
|
||||
format!("Cairo version: {}", gtk::cairo::version_string()),
|
||||
].join("\n"));
|
||||
|
||||
// Add preferences page to the leaflet
|
||||
result.leaflet.append(&result.preferences_stack.preferences).set_name(Some("preferences_page"));
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita as adw;
|
||||
use gtk::prelude::*;
|
||||
|
||||
pub mod first_run;
|
||||
pub mod main;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use gtk4 as gtk;
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use gtk::prelude::*;
|
||||
use adw::prelude::*;
|
||||
|
||||
use gtk::glib;
|
||||
use gtk::glib::clone;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
use gtk4 as gtk;
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use gtk::prelude::*;
|
||||
use adw::prelude::*;
|
||||
|
||||
use gtk4::glib;
|
||||
use gtk4::glib::clone;
|
||||
use gtk::glib;
|
||||
use gtk::glib::clone;
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::rc::Rc;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use gtk4 as gtk;
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use gtk::prelude::*;
|
||||
|
||||
use gtk::glib;
|
||||
|
||||
|
@ -17,14 +16,14 @@ use crate::ui::*;
|
|||
pub struct AppWidgets {
|
||||
pub window: adw::PreferencesWindow,
|
||||
|
||||
pub game_width: gtk::Entry,
|
||||
pub game_height: gtk::Entry,
|
||||
pub game_width: adw::EntryRow,
|
||||
pub game_height: adw::EntryRow,
|
||||
|
||||
pub gamescope_width: gtk::Entry,
|
||||
pub gamescope_height: gtk::Entry,
|
||||
pub gamescope_width: adw::EntryRow,
|
||||
pub gamescope_height: adw::EntryRow,
|
||||
|
||||
pub framerate_limit: gtk::Entry,
|
||||
pub framerate_unfocused_limit: gtk::Entry,
|
||||
pub framerate_limit: adw::EntryRow,
|
||||
pub framerate_unfocused_limit: adw::EntryRow,
|
||||
pub integer_scaling: gtk::Switch,
|
||||
pub fsr: gtk::Switch,
|
||||
pub nis: gtk::Switch,
|
||||
|
@ -227,7 +226,7 @@ impl App {
|
|||
|
||||
status_page.set_description(Some("Loading gamescope..."));
|
||||
|
||||
fn set_text(widget: >k::Entry, value: u64) {
|
||||
fn set_text(widget: &adw::EntryRow, value: u64) {
|
||||
widget.set_text(&if value == 0 { String::new() } else { value.to_string() });
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita::{self as adw, prelude::*};
|
||||
use gtk::prelude::*;
|
||||
use adw::prelude::*;
|
||||
|
||||
use gtk::glib;
|
||||
use gtk::glib::clone;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita as adw;
|
||||
use gtk::prelude::*;
|
||||
|
||||
use gtk::glib;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use gtk::prelude::*;
|
||||
|
||||
use gtk::glib;
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use gtk4::{self as gtk, prelude::*};
|
||||
use libadwaita as adw;
|
||||
use gtk::prelude::*;
|
||||
|
||||
use crate::ui::add_action;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue