the-honkers-railway-launcher/src/ui/components/wine_group.rs
Observer KRypt0n_ 5fee051c43
Added temp folder path param to config
it fixes issue with huge data downloading. You can specify `null` as temp path
and then default system temp folder will be used
Also added `unwrap` everywhere I could add it
just not to see warnings in the code editor
2022-07-23 22:03:11 +02:00

44 lines
1.1 KiB
Rust

use gtk4::{self as gtk, prelude::*};
use libadwaita::{self as adw, prelude::*};
use crate::lib::wine::Group;
use super::wine_row::WineRow;
#[derive(Debug, Clone)]
pub struct WineGroup {
pub group: Group,
pub version_components: Vec<WineRow>,
pub expander_row: adw::ExpanderRow
}
impl WineGroup {
pub fn new(group: Group) -> Self {
let expander_row = adw::ExpanderRow::new();
expander_row.set_title(&group.title);
expander_row.set_subtitle(group.subtitle.as_ref().unwrap_or(&String::new()));
let mut version_components = Vec::new();
for version in &group.versions {
let component = WineRow::new(version.clone());
expander_row.add_row(&component.row);
version_components.push(component);
}
Self {
group,
version_components,
expander_row
}
}
pub fn update_states<T: ToString>(&self, runners_folder: T) {
for component in &self.version_components {
component.update_state(runners_folder.to_string());
}
}
}