mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-08-04 07:08:53 +00:00
feat: set transient for by propagating root window
This commit is contained in:
parent
8be432df8d
commit
18febae805
5 changed files with 14 additions and 24 deletions
|
@ -457,6 +457,7 @@ impl SimpleComponent for App {
|
|||
.launch(MainViewInit {
|
||||
config: config.clone(),
|
||||
selected_profile: config.get_selected_profile(&profiles),
|
||||
root_win: root.clone().into(),
|
||||
})
|
||||
.forward(sender.input_sender(), |message| match message {
|
||||
MainViewOutMsg::EnableDebugViewChanged(val) => Msg::EnableDebugViewChanged(val),
|
||||
|
|
|
@ -41,6 +41,7 @@ pub enum InstallWivrnBoxMsg {
|
|||
#[derive(Debug)]
|
||||
pub struct InstallWivrnBoxInit {
|
||||
pub selected_profile: Profile,
|
||||
pub root_win: gtk::Window,
|
||||
}
|
||||
|
||||
#[relm4::component(pub)]
|
||||
|
@ -202,6 +203,7 @@ impl SimpleComponent for InstallWivrnBox {
|
|||
) -> ComponentParts<Self> {
|
||||
let adb_missing_dialog = adw::MessageDialog::builder()
|
||||
.modal(true)
|
||||
.transient_for(&init.root_win)
|
||||
.heading("ADB is not installed")
|
||||
.body("Please install ADB on your computer to install WiVRn on your Android headset")
|
||||
.hide_on_close(true)
|
||||
|
|
|
@ -68,6 +68,7 @@ pub enum MainViewOutMsg {
|
|||
pub struct MainViewInit {
|
||||
pub config: Config,
|
||||
pub selected_profile: Profile,
|
||||
pub root_win: gtk::Window,
|
||||
}
|
||||
|
||||
#[relm4::component(pub)]
|
||||
|
@ -301,6 +302,7 @@ impl SimpleComponent for MainView {
|
|||
) -> ComponentParts<Self> {
|
||||
let profile_not_editable_dialog = adw::MessageDialog::builder()
|
||||
.modal(true)
|
||||
.transient_for(&init.root_win)
|
||||
.hide_on_close(true)
|
||||
.heading("This profile is not editable")
|
||||
.body(concat!(
|
||||
|
@ -324,6 +326,7 @@ impl SimpleComponent for MainView {
|
|||
|
||||
let profile_delete_confirm_dialog = adw::MessageDialog::builder()
|
||||
.modal(true)
|
||||
.transient_for(&init.root_win)
|
||||
.hide_on_close(true)
|
||||
.heading("Are you sure you want to delete this profile?")
|
||||
.build();
|
||||
|
@ -351,6 +354,7 @@ impl SimpleComponent for MainView {
|
|||
install_wivrn_box: InstallWivrnBox::builder()
|
||||
.launch(InstallWivrnBoxInit {
|
||||
selected_profile: init.selected_profile.clone(),
|
||||
root_win: init.root_win.clone(),
|
||||
})
|
||||
.detach(),
|
||||
runtime_switcher_box: RuntimeSwitcherBox::builder()
|
||||
|
@ -359,7 +363,9 @@ impl SimpleComponent for MainView {
|
|||
})
|
||||
.detach(),
|
||||
profile_editor: ProfileEditor::builder()
|
||||
.launch(ProfileEditorInit {})
|
||||
.launch(ProfileEditorInit {
|
||||
root_win: init.root_win.clone(),
|
||||
})
|
||||
.forward(sender.input_sender(), |message| match message {
|
||||
ProfileEditorOutMsg::SaveProfile(p) => Self::Input::SaveProfile(p),
|
||||
}),
|
||||
|
|
|
@ -53,7 +53,9 @@ pub enum ProfileEditorOutMsg {
|
|||
SaveProfile(Profile),
|
||||
}
|
||||
|
||||
pub struct ProfileEditorInit {}
|
||||
pub struct ProfileEditorInit {
|
||||
pub root_win: gtk::Window,
|
||||
}
|
||||
|
||||
#[relm4::component(pub)]
|
||||
impl SimpleComponent for ProfileEditor {
|
||||
|
@ -66,6 +68,7 @@ impl SimpleComponent for ProfileEditor {
|
|||
adw::PreferencesWindow {
|
||||
set_hide_on_close: true,
|
||||
set_modal: true,
|
||||
set_transient_for: Some(&init.root_win),
|
||||
#[track = "model.changed(Self::profile())"]
|
||||
set_title: match model.profile.as_ref() {
|
||||
Some(p) => Some(p.name.as_str()),
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
#[macro_use]
|
||||
pub mod widgets {
|
||||
use iced::Length;
|
||||
use iced_aw::quad::{Quad, InnerBounds};
|
||||
pub fn vseparator() -> Quad {
|
||||
Quad {
|
||||
width: Length::Fixed(1.0),
|
||||
height: Length::Fill,
|
||||
inner_bounds: InnerBounds::Ratio(0.0001, 0.9999),
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn hseparator() -> Quad {
|
||||
Quad {
|
||||
width: Length::Fill,
|
||||
height: Length::Fixed(1.0),
|
||||
inner_bounds: InnerBounds::Ratio(0.9999, 0.0001),
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue