mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-01-16 17:50:10 +00:00
42 lines
1.1 KiB
Rust
42 lines
1.1 KiB
Rust
|
use adw::{prelude::AdwDialogExt, AboutDialog};
|
||
|
use gtk::{prelude::IsA, License};
|
||
|
|
||
|
pub struct About {
|
||
|
gobject: AboutDialog,
|
||
|
}
|
||
|
|
||
|
impl About {
|
||
|
// Construct
|
||
|
pub fn new() -> Self {
|
||
|
// Collect debug info
|
||
|
let debug = &[
|
||
|
format!(
|
||
|
"GTK {}.{}.{}",
|
||
|
gtk::major_version(),
|
||
|
gtk::minor_version(),
|
||
|
gtk::micro_version()
|
||
|
),
|
||
|
format!("SQLite {}", sqlite::version()),
|
||
|
// @TODO
|
||
|
];
|
||
|
|
||
|
// Init gobject
|
||
|
let gobject = AboutDialog::builder()
|
||
|
.application_name(env!("CARGO_PKG_NAME"))
|
||
|
.debug_info(debug.join("\n"))
|
||
|
.developer_name(env!("CARGO_PKG_DESCRIPTION"))
|
||
|
.issue_url(env!("CARGO_PKG_REPOSITORY"))
|
||
|
.license_type(License::MitX11)
|
||
|
.version(env!("CARGO_PKG_VERSION"))
|
||
|
.build();
|
||
|
|
||
|
// Return new struct
|
||
|
Self { gobject }
|
||
|
}
|
||
|
|
||
|
// Actions
|
||
|
pub fn present(&self, parent: Option<&impl IsA<gtk::Widget>>) {
|
||
|
self.gobject.present(parent);
|
||
|
}
|
||
|
}
|