mirror of
https://github.com/13hannes11/toolbx-tuner.git
synced 2024-09-03 23:21:00 +02:00
implement factory for toolbox_apps
This commit is contained in:
@@ -1,10 +1,6 @@
|
||||
use std::cell::Cell;
|
||||
|
||||
|
||||
use gtk::Orientation;
|
||||
use gtk::PolicyType;
|
||||
use relm4::adw;
|
||||
use relm4::adw::prelude::BoxExt;
|
||||
use relm4::adw::prelude::GtkWindowExt;
|
||||
use relm4::adw::prelude::WidgetExt;
|
||||
use relm4::adw::traits::PreferencesGroupExt;
|
||||
@@ -14,7 +10,6 @@ use relm4::gtk;
|
||||
use relm4::send;
|
||||
use relm4::WidgetPlus;
|
||||
use relm4::Widgets;
|
||||
use gtk::glib;
|
||||
|
||||
use gtk::prelude::*;
|
||||
|
||||
@@ -25,6 +20,11 @@ use crate::ui::components::toolbox_apps::messages::ToolboxAppDialogMsg;
|
||||
|
||||
use super::model::ToolboxAppDialogModel;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct AppFactoryWidgets {
|
||||
pub app_box: gtk::Box,
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[relm4::widget(pub)]
|
||||
@@ -56,331 +56,7 @@ impl Widgets<ToolboxAppDialogModel, AppModel> for ToolboxAppDialogWidgets {
|
||||
set_column_spacing: 5,
|
||||
set_row_spacing: 5,
|
||||
set_orientation: Orientation::Horizontal,
|
||||
insert(1) = >k::Box {
|
||||
set_css_classes: &[&"card"],
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_orientation: Orientation::Vertical,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_width_request: 100,
|
||||
set_height_request: 100,
|
||||
|
||||
append = >k::Switch {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_margin_all: 10,
|
||||
},
|
||||
append = >k::Button {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_width_request: 64,
|
||||
set_height_request: 64,
|
||||
set_margin_start: 36,
|
||||
set_margin_end: 36,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
},
|
||||
append = >k::Label {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_text: "Firefox",
|
||||
set_margin_all: 5,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
}
|
||||
},
|
||||
|
||||
insert(1) = >k::Box {
|
||||
set_css_classes: &[&"card"],
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_orientation: Orientation::Vertical,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_width_request: 100,
|
||||
set_height_request: 100,
|
||||
|
||||
append = >k::Switch {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_margin_all: 10,
|
||||
},
|
||||
append = >k::Button {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_width_request: 64,
|
||||
set_height_request: 64,
|
||||
set_margin_start: 36,
|
||||
set_margin_end: 36,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
},
|
||||
append = >k::Label {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_text: "Firefox",
|
||||
set_margin_all: 5,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
}
|
||||
},
|
||||
insert(1) = >k::Box {
|
||||
set_css_classes: &[&"card"],
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_orientation: Orientation::Vertical,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_width_request: 100,
|
||||
set_height_request: 100,
|
||||
|
||||
append = >k::Switch {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_margin_all: 10,
|
||||
},
|
||||
append = >k::Button {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_width_request: 64,
|
||||
set_height_request: 64,
|
||||
set_margin_start: 36,
|
||||
set_margin_end: 36,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
},
|
||||
append = >k::Label {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_text: "Firefox",
|
||||
set_margin_all: 5,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
}
|
||||
},
|
||||
insert(1) = >k::Box {
|
||||
set_css_classes: &[&"card"],
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_orientation: Orientation::Vertical,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_width_request: 100,
|
||||
set_height_request: 100,
|
||||
|
||||
append = >k::Switch {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_margin_all: 10,
|
||||
},
|
||||
append = >k::Button {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_width_request: 64,
|
||||
set_height_request: 64,
|
||||
set_margin_start: 36,
|
||||
set_margin_end: 36,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
},
|
||||
append = >k::Label {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_text: "Firefox",
|
||||
set_margin_all: 5,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
}
|
||||
},
|
||||
insert(1) = >k::Box {
|
||||
set_css_classes: &[&"card"],
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_orientation: Orientation::Vertical,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_width_request: 100,
|
||||
set_height_request: 100,
|
||||
|
||||
append = >k::Switch {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_margin_all: 10,
|
||||
},
|
||||
append = >k::Button {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_width_request: 64,
|
||||
set_height_request: 64,
|
||||
set_margin_start: 36,
|
||||
set_margin_end: 36,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
},
|
||||
append = >k::Label {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_text: "Firefox",
|
||||
set_margin_all: 5,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
}
|
||||
},
|
||||
insert(1) = >k::Box {
|
||||
set_css_classes: &[&"card"],
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_orientation: Orientation::Vertical,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_width_request: 100,
|
||||
set_height_request: 100,
|
||||
|
||||
append = >k::Switch {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_margin_all: 10,
|
||||
},
|
||||
append = >k::Button {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_width_request: 64,
|
||||
set_height_request: 64,
|
||||
set_margin_start: 36,
|
||||
set_margin_end: 36,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
},
|
||||
append = >k::Label {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_text: "Firefox",
|
||||
set_margin_all: 5,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
}
|
||||
},
|
||||
insert(1) = >k::Box {
|
||||
set_css_classes: &[&"card"],
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_orientation: Orientation::Vertical,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_width_request: 100,
|
||||
set_height_request: 100,
|
||||
|
||||
append = >k::Switch {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_margin_all: 10,
|
||||
},
|
||||
append = >k::Button {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_width_request: 64,
|
||||
set_height_request: 64,
|
||||
set_margin_start: 36,
|
||||
set_margin_end: 36,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
},
|
||||
append = >k::Label {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_text: "Firefox",
|
||||
set_margin_all: 5,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
}
|
||||
},
|
||||
insert(1) = >k::Box {
|
||||
set_css_classes: &[&"card"],
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_orientation: Orientation::Vertical,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_width_request: 100,
|
||||
set_height_request: 100,
|
||||
|
||||
append = >k::Switch {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_margin_all: 10,
|
||||
},
|
||||
append = >k::Button {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_width_request: 64,
|
||||
set_height_request: 64,
|
||||
set_margin_start: 36,
|
||||
set_margin_end: 36,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
},
|
||||
append = >k::Label {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_text: "Firefox",
|
||||
set_margin_all: 5,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
}
|
||||
},
|
||||
insert(1) = >k::Box {
|
||||
set_css_classes: &[&"card"],
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_orientation: Orientation::Vertical,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_width_request: 100,
|
||||
set_height_request: 100,
|
||||
|
||||
append = >k::Switch {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
set_margin_all: 10,
|
||||
},
|
||||
append = >k::Button {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_width_request: 64,
|
||||
set_height_request: 64,
|
||||
set_margin_start: 36,
|
||||
set_margin_end: 36,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
},
|
||||
append = >k::Label {
|
||||
set_halign: gtk::Align::Center,
|
||||
set_valign: gtk::Align::Center,
|
||||
set_text: "Firefox",
|
||||
set_margin_all: 5,
|
||||
set_hexpand: false,
|
||||
set_vexpand: false,
|
||||
}
|
||||
},
|
||||
factory!(model.apps),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user