fix(display): hide arrangement section when there is less than two displays
This commit is contained in:
parent
ced3f2ffd8
commit
219cb36d3c
2 changed files with 29 additions and 9 deletions
|
|
@ -624,9 +624,16 @@ impl SettingsApp {
|
||||||
let section = &self.pages.sections[id];
|
let section = &self.pages.sections[id];
|
||||||
let model = &self.pages.page[self.active_page];
|
let model = &self.pages.page[self.active_page];
|
||||||
|
|
||||||
column_widgets.push(
|
if section
|
||||||
(section.view_fn)(&self.pages, model.as_ref(), section).map(Message::PageMessage),
|
.show_while
|
||||||
);
|
.as_ref()
|
||||||
|
.map_or(true, |func| func(model.as_ref()))
|
||||||
|
{
|
||||||
|
column_widgets.push(
|
||||||
|
(section.view_fn)(&self.pages, model.as_ref(), section)
|
||||||
|
.map(Message::PageMessage),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
settings::view_column(column_widgets).into()
|
settings::view_column(column_widgets).into()
|
||||||
|
|
@ -680,12 +687,18 @@ impl SettingsApp {
|
||||||
sections.push(search_header(&self.pages, page));
|
sections.push(search_header(&self.pages, page));
|
||||||
}
|
}
|
||||||
|
|
||||||
let section = (section.view_fn)(&self.pages, model.as_ref(), section)
|
if section
|
||||||
.map(Message::PageMessage)
|
.show_while
|
||||||
.apply(iced::widget::container)
|
.as_ref()
|
||||||
.padding([0, 0, 0, cosmic::theme::active().cosmic().space_xl()]);
|
.map_or(true, |func| func(model.as_ref()))
|
||||||
|
{
|
||||||
|
let section = (section.view_fn)(&self.pages, model.as_ref(), section)
|
||||||
|
.map(Message::PageMessage)
|
||||||
|
.apply(iced::widget::container)
|
||||||
|
.padding([0, 0, 0, cosmic::theme::active().cosmic().space_xl()]);
|
||||||
|
|
||||||
sections.push(section.into());
|
sections.push(section.into());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
settings::view_column(sections).into()
|
settings::view_column(sections).into()
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ use arrangement::Arrangement;
|
||||||
use cosmic::iced::Length;
|
use cosmic::iced::Length;
|
||||||
use cosmic::iced_core::Alignment;
|
use cosmic::iced_core::Alignment;
|
||||||
use cosmic::iced_widget::scrollable::{Direction, Properties};
|
use cosmic::iced_widget::scrollable::{Direction, Properties};
|
||||||
|
use cosmic::prelude::CollectionWidget;
|
||||||
use cosmic::widget::{
|
use cosmic::widget::{
|
||||||
column, container, dropdown, list_column, segmented_button, toggler, view_switcher,
|
column, container, dropdown, list_column, segmented_button, toggler, view_switcher,
|
||||||
};
|
};
|
||||||
|
|
@ -179,6 +180,8 @@ impl page::Page<crate::pages::Message> for Page {
|
||||||
text::DISPLAY_ARRANGEMENT.clone(),
|
text::DISPLAY_ARRANGEMENT.clone(),
|
||||||
text::DISPLAY_ARRANGEMENT_DESC.clone(),
|
text::DISPLAY_ARRANGEMENT_DESC.clone(),
|
||||||
])
|
])
|
||||||
|
// Show section when there is more than 1 display
|
||||||
|
.show_while::<Page>(|page| page.list.outputs.len() > 1)
|
||||||
.view::<Page>(|_binder, page, _section| page.display_arrangement_view()),
|
.view::<Page>(|_binder, page, _section| page.display_arrangement_view()),
|
||||||
),
|
),
|
||||||
// Display configuration
|
// Display configuration
|
||||||
|
|
@ -444,7 +447,11 @@ impl Page {
|
||||||
|
|
||||||
column()
|
column()
|
||||||
.spacing(theme.cosmic().space_m())
|
.spacing(theme.cosmic().space_m())
|
||||||
.push(view_switcher::horizontal(&self.display_tabs).on_activate(Message::Display))
|
.push_maybe(if self.list.outputs.len() > 1 {
|
||||||
|
Some(view_switcher::horizontal(&self.display_tabs).on_activate(Message::Display))
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
})
|
||||||
.push(display_meta)
|
.push(display_meta)
|
||||||
.push(cosmic::widget::text::heading(&*text::DISPLAY_OPTIONS))
|
.push(cosmic::widget::text::heading(&*text::DISPLAY_OPTIONS))
|
||||||
.push(display_options)
|
.push(display_options)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue