fix(displays): do not show display options when display is disabled
This commit is contained in:
parent
b5789e5c6c
commit
f3d09b943f
1 changed files with 44 additions and 41 deletions
|
|
@ -9,6 +9,7 @@ use crate::{app, pages};
|
||||||
use arrangement::Arrangement;
|
use arrangement::Arrangement;
|
||||||
use cosmic::iced::{Alignment, Length};
|
use cosmic::iced::{Alignment, Length};
|
||||||
use cosmic::iced_widget::scrollable::{Direction, Properties, RelativeOffset};
|
use cosmic::iced_widget::scrollable::{Direction, Properties, RelativeOffset};
|
||||||
|
use cosmic::prelude::CollectionWidget;
|
||||||
use cosmic::widget::{
|
use cosmic::widget::{
|
||||||
column, container, dropdown, list_column, segmented_button, tab_bar, toggler,
|
column, container, dropdown, list_column, segmented_button, tab_bar, toggler,
|
||||||
};
|
};
|
||||||
|
|
@ -414,46 +415,48 @@ impl Page {
|
||||||
|
|
||||||
let active_output = &self.list.outputs[active_id];
|
let active_output = &self.list.outputs[active_id];
|
||||||
|
|
||||||
let display_options = list_column()
|
let display_options = active_output.enabled.then(|| {
|
||||||
.add(cosmic::widget::settings::item(
|
list_column()
|
||||||
&*text::DISPLAY_RESOLUTION,
|
.add(cosmic::widget::settings::item(
|
||||||
dropdown(
|
&*text::DISPLAY_RESOLUTION,
|
||||||
&self.cache.resolutions,
|
dropdown(
|
||||||
self.cache.resolution_selected,
|
&self.cache.resolutions,
|
||||||
Message::Resolution,
|
self.cache.resolution_selected,
|
||||||
),
|
Message::Resolution,
|
||||||
))
|
),
|
||||||
.add(cosmic::widget::settings::item(
|
))
|
||||||
&*text::DISPLAY_REFRESH_RATE,
|
.add(cosmic::widget::settings::item(
|
||||||
dropdown(
|
&*text::DISPLAY_REFRESH_RATE,
|
||||||
&self.cache.refresh_rates,
|
dropdown(
|
||||||
self.cache.refresh_rate_selected,
|
&self.cache.refresh_rates,
|
||||||
Message::RefreshRate,
|
self.cache.refresh_rate_selected,
|
||||||
),
|
Message::RefreshRate,
|
||||||
))
|
),
|
||||||
.add(cosmic::widget::settings::item(
|
))
|
||||||
&*text::DISPLAY_SCALE,
|
.add(cosmic::widget::settings::item(
|
||||||
dropdown(
|
&*text::DISPLAY_SCALE,
|
||||||
&["50%", "75%", "100%", "125%", "150%", "175%", "200%"],
|
dropdown(
|
||||||
self.cache.scale_selected,
|
&["50%", "75%", "100%", "125%", "150%", "175%", "200%"],
|
||||||
Message::Scale,
|
self.cache.scale_selected,
|
||||||
),
|
Message::Scale,
|
||||||
))
|
),
|
||||||
.add(cosmic::widget::settings::item(
|
))
|
||||||
&*text::ORIENTATION,
|
.add(cosmic::widget::settings::item(
|
||||||
dropdown(
|
&*text::ORIENTATION,
|
||||||
&self.cache.orientations,
|
dropdown(
|
||||||
self.cache.orientation_selected,
|
&self.cache.orientations,
|
||||||
|id| {
|
self.cache.orientation_selected,
|
||||||
Message::Orientation(match id {
|
|id| {
|
||||||
0 => Transform::Normal,
|
Message::Orientation(match id {
|
||||||
1 => Transform::Rotate90,
|
0 => Transform::Normal,
|
||||||
2 => Transform::Rotate180,
|
1 => Transform::Rotate90,
|
||||||
_ => Transform::Rotate270,
|
2 => Transform::Rotate180,
|
||||||
})
|
_ => Transform::Rotate270,
|
||||||
},
|
})
|
||||||
),
|
},
|
||||||
));
|
),
|
||||||
|
))
|
||||||
|
});
|
||||||
|
|
||||||
let mut content = column().spacing(theme.cosmic().space_m());
|
let mut content = column().spacing(theme.cosmic().space_m());
|
||||||
|
|
||||||
|
|
@ -472,7 +475,7 @@ impl Page {
|
||||||
|
|
||||||
content
|
content
|
||||||
.push(cosmic::widget::text::heading(&*text::DISPLAY_OPTIONS))
|
.push(cosmic::widget::text::heading(&*text::DISPLAY_OPTIONS))
|
||||||
.push(display_options)
|
.push_maybe(display_options)
|
||||||
.apply(Element::from)
|
.apply(Element::from)
|
||||||
.map(pages::Message::Displays)
|
.map(pages::Message::Displays)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue