chore: apply cargo fmt
This commit is contained in:
parent
cb2b0f7b9a
commit
75687acf2f
22 changed files with 373 additions and 285 deletions
|
|
@ -2,18 +2,26 @@
|
|||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
use cosmic::{
|
||||
iced_native::window,
|
||||
iced::{widget::{
|
||||
column, container, horizontal_space, pick_list, progress_bar, radio, row, slider,
|
||||
}, wayland::window::{start_drag_window, toggle_maximize}},
|
||||
iced::{self, wayland::{SurfaceIdWrapper, window::set_mode_window}, Alignment, Application, Command, Length},
|
||||
iced::{
|
||||
self,
|
||||
wayland::{window::set_mode_window, SurfaceIdWrapper},
|
||||
Alignment, Application, Command, Length,
|
||||
},
|
||||
iced::{
|
||||
wayland::window::{start_drag_window, toggle_maximize},
|
||||
widget::{
|
||||
column, container, horizontal_space, pick_list, progress_bar, radio, row, slider,
|
||||
},
|
||||
},
|
||||
iced_lazy::responsive,
|
||||
iced_native::window,
|
||||
theme::{self, Theme},
|
||||
widget::{
|
||||
button, header_bar, nav_bar, nav_bar_page, nav_bar_section, nav_button, scrollable,
|
||||
settings, toggler, rectangle_tracker::{RectangleTracker, rectangle_tracker_subscription, RectangleUpdate},
|
||||
button, header_bar, nav_bar, nav_bar_page, nav_bar_section, nav_button,
|
||||
rectangle_tracker::{rectangle_tracker_subscription, RectangleTracker, RectangleUpdate},
|
||||
scrollable, settings, toggler,
|
||||
},
|
||||
Element, ElementExt
|
||||
Element, ElementExt,
|
||||
};
|
||||
use std::{collections::BTreeMap, vec};
|
||||
use theme::Button as ButtonTheme;
|
||||
|
|
@ -70,7 +78,7 @@ pub enum Message {
|
|||
Minimize,
|
||||
Maximize,
|
||||
InputChanged,
|
||||
Rectangle(RectangleUpdate<u32>)
|
||||
Rectangle(RectangleUpdate<u32>),
|
||||
}
|
||||
|
||||
impl Application for Window {
|
||||
|
|
@ -115,8 +123,12 @@ impl Application for Window {
|
|||
Message::RowSelected(row) => println!("Selected row {row}"),
|
||||
Message::InputChanged => {}
|
||||
Message::Rectangle(r) => match r {
|
||||
RectangleUpdate::Rectangle(r) => {dbg!(r);},
|
||||
RectangleUpdate::Init(t) => {self.rectangle_tracker.replace(t);},
|
||||
RectangleUpdate::Rectangle(r) => {
|
||||
dbg!(r);
|
||||
}
|
||||
RectangleUpdate::Init(t) => {
|
||||
self.rectangle_tracker.replace(t);
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
|
@ -235,8 +247,8 @@ impl Application for Window {
|
|||
},
|
||||
);
|
||||
let secondary = button(ButtonTheme::Secondary)
|
||||
.text("Secondary")
|
||||
.on_press(Message::ButtonPressed);
|
||||
.text("Secondary")
|
||||
.on_press(Message::ButtonPressed);
|
||||
|
||||
let secondary = if let Some(tracker) = self.rectangle_tracker.as_ref() {
|
||||
tracker.container(0, secondary).into()
|
||||
|
|
|
|||
|
|
@ -189,7 +189,10 @@ impl Window {
|
|||
self.page = page;
|
||||
}
|
||||
|
||||
fn parent_page_button<Message: Clone + From<Page> + 'static>(&self, sub_page: impl SubPage) -> Element<Message> {
|
||||
fn parent_page_button<Message: Clone + From<Page> + 'static>(
|
||||
&self,
|
||||
sub_page: impl SubPage,
|
||||
) -> Element<Message> {
|
||||
let page = sub_page.parent_page();
|
||||
column!(
|
||||
iced::widget::Button::new(row!(
|
||||
|
|
@ -208,7 +211,10 @@ impl Window {
|
|||
.into()
|
||||
}
|
||||
|
||||
fn sub_page_button<Message: Clone + From<Page> + 'static>(&self, sub_page: impl SubPage) -> Element<Message> {
|
||||
fn sub_page_button<Message: Clone + From<Page> + 'static>(
|
||||
&self,
|
||||
sub_page: impl SubPage,
|
||||
) -> Element<Message> {
|
||||
iced::widget::Button::new(
|
||||
container(
|
||||
settings::item_row(vec![
|
||||
|
|
@ -244,7 +250,10 @@ impl Window {
|
|||
]).into()
|
||||
}
|
||||
|
||||
fn view_unimplemented_sub_page<'a, Message: Clone + From<Page> + 'static>(&'a self, sub_page: impl SubPage) -> Element<'a, Message> {
|
||||
fn view_unimplemented_sub_page<'a, Message: Clone + From<Page> + 'static>(
|
||||
&'a self,
|
||||
sub_page: impl SubPage,
|
||||
) -> Element<'a, Message> {
|
||||
settings::view_column(vec![
|
||||
self.parent_page_button(sub_page),
|
||||
text("We haven't created that panel yet, and/or it is using a similar idea as current Pop! designs.").into(),
|
||||
|
|
@ -273,7 +282,10 @@ impl Application for Window {
|
|||
// Configures the demo view switcher.
|
||||
let key = window.demo.view_switcher.insert("Controls", DemoView::TabA);
|
||||
window.demo.view_switcher.activate(key);
|
||||
window.demo.view_switcher.insert("Segmented Button", DemoView::TabB);
|
||||
window
|
||||
.demo
|
||||
.view_switcher
|
||||
.insert("Segmented Button", DemoView::TabB);
|
||||
window.demo.view_switcher.insert("Tab C", DemoView::TabC);
|
||||
|
||||
// Configures the demo selection button.
|
||||
|
|
@ -282,7 +294,6 @@ impl Application for Window {
|
|||
window.demo.selection.insert("Choice B", ());
|
||||
window.demo.selection.insert("Choice C", ());
|
||||
|
||||
|
||||
(window, Command::none())
|
||||
}
|
||||
|
||||
|
|
@ -318,19 +329,15 @@ impl Application for Window {
|
|||
Message::Bluetooth(message) => {
|
||||
self.bluetooth.update(message);
|
||||
}
|
||||
Message::Demo(message) => {
|
||||
match self.demo.update(message) {
|
||||
Some(demo::Output::Debug(debug)) => self.debug = debug,
|
||||
Some(demo::Output::ThemeChanged(theme)) => self.theme = theme,
|
||||
None => (),
|
||||
}
|
||||
}
|
||||
Message::Desktop(message) => {
|
||||
match self.desktop.update(message) {
|
||||
Some(desktop::Output::Page(page)) => self.page(page),
|
||||
None => (),
|
||||
}
|
||||
}
|
||||
Message::Demo(message) => match self.demo.update(message) {
|
||||
Some(demo::Output::Debug(debug)) => self.debug = debug,
|
||||
Some(demo::Output::ThemeChanged(theme)) => self.theme = theme,
|
||||
None => (),
|
||||
},
|
||||
Message::Desktop(message) => match self.desktop.update(message) {
|
||||
Some(desktop::Output::Page(page)) => self.page(page),
|
||||
None => (),
|
||||
},
|
||||
Message::ToggleSidebar => self.sidebar_toggled = !self.sidebar_toggled,
|
||||
Message::ToggleSidebarCondensed => {
|
||||
self.sidebar_toggled_condensed = !self.sidebar_toggled_condensed
|
||||
|
|
@ -343,7 +350,6 @@ impl Application for Window {
|
|||
Message::InputChanged => {}
|
||||
|
||||
Message::CondensedViewToggle(_) => {}
|
||||
|
||||
}
|
||||
|
||||
Command::none()
|
||||
|
|
@ -451,11 +457,12 @@ impl Application for Window {
|
|||
.into(),
|
||||
])
|
||||
.into(),
|
||||
Page::Networking(Some(sub_page)) => {
|
||||
self.view_unimplemented_sub_page(sub_page)
|
||||
}
|
||||
Page::Networking(Some(sub_page)) => self.view_unimplemented_sub_page(sub_page),
|
||||
Page::Bluetooth => self.bluetooth.view(self).map(Message::Bluetooth),
|
||||
Page::Desktop(desktop_page_opt) => self.desktop.view(self, desktop_page_opt).map(Message::Desktop),
|
||||
Page::Desktop(desktop_page_opt) => self
|
||||
.desktop
|
||||
.view(self, desktop_page_opt)
|
||||
.map(Message::Desktop),
|
||||
Page::InputDevices(None) => settings::view_column(vec![
|
||||
self.page_title(self.page),
|
||||
column!(
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
use super::{Page, Window};
|
||||
use cosmic::{
|
||||
Element,
|
||||
iced::widget::{column, text},
|
||||
widget::{list_column, settings, toggler},
|
||||
Element,
|
||||
};
|
||||
use super::{Page, Window};
|
||||
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub enum Message {
|
||||
Enable(bool)
|
||||
Enable(bool),
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct State {
|
||||
enabled: bool
|
||||
enabled: bool,
|
||||
}
|
||||
|
||||
impl State {
|
||||
|
|
@ -25,16 +25,19 @@ impl State {
|
|||
pub(super) fn view<'a>(&'a self, window: &'a Window) -> Element<'a, Message> {
|
||||
settings::view_column(vec![
|
||||
window.page_title(Page::Bluetooth),
|
||||
|
||||
column!(
|
||||
list_column()
|
||||
.add(settings::item("Bluetooth", toggler(None, self.enabled, Message::Enable))),
|
||||
list_column().add(settings::item(
|
||||
"Bluetooth",
|
||||
toggler(None, self.enabled, Message::Enable)
|
||||
)),
|
||||
text("Now visible as \"TODO\", just kidding")
|
||||
).spacing(8).into(),
|
||||
|
||||
)
|
||||
.spacing(8)
|
||||
.into(),
|
||||
settings::view_section("Devices")
|
||||
.add(settings::item("No devices found", text("")))
|
||||
.into()
|
||||
]).into()
|
||||
.into(),
|
||||
])
|
||||
.into()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,12 +2,22 @@ use cosmic::{
|
|||
iced::widget::{checkbox, pick_list, progress_bar, radio, row, slider},
|
||||
iced::{Alignment, Length},
|
||||
theme::{Button as ButtonTheme, Theme},
|
||||
widget::{button, settings, toggler, spin_button::{SpinButtonModel, SpinMessage}},
|
||||
widget::{
|
||||
button, settings,
|
||||
spin_button::{SpinButtonModel, SpinMessage},
|
||||
toggler,
|
||||
},
|
||||
Element,
|
||||
};
|
||||
|
||||
use cosmic::widget::segmented_button::{self, cosmic::{horizontal_segmented_selection, horizontal_view_switcher, vertical_segmented_selection, vertical_view_switcher}};
|
||||
use super::{Page, Window};
|
||||
use cosmic::widget::segmented_button::{
|
||||
self,
|
||||
cosmic::{
|
||||
horizontal_segmented_selection, horizontal_view_switcher, vertical_segmented_selection,
|
||||
vertical_view_switcher,
|
||||
},
|
||||
};
|
||||
|
||||
pub enum DemoView {
|
||||
TabA,
|
||||
|
|
@ -32,7 +42,7 @@ pub enum Message {
|
|||
|
||||
pub enum Output {
|
||||
Debug(bool),
|
||||
ThemeChanged(Theme)
|
||||
ThemeChanged(Theme),
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
|
|
@ -166,86 +176,84 @@ impl State {
|
|||
])
|
||||
.padding(0)
|
||||
.into(),
|
||||
Some(DemoView::TabB) => {
|
||||
settings::view_column(vec![
|
||||
cosmic::iced::widget::text("Selection")
|
||||
.font(cosmic::font::FONT_SEMIBOLD)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Horizontal").into(),
|
||||
horizontal_segmented_selection(&self.selection)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Horizontal With Spacing").into(),
|
||||
horizontal_segmented_selection(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Vertical").into(),
|
||||
vertical_segmented_selection(&self.selection)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Vertical With Spacing").into(),
|
||||
cosmic::iced::widget::row(vec![
|
||||
vertical_segmented_selection(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
vertical_segmented_selection(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
vertical_segmented_selection(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
])
|
||||
.spacing(12)
|
||||
.width(Length::Fill)
|
||||
Some(DemoView::TabB) => settings::view_column(vec![
|
||||
cosmic::iced::widget::text("Selection")
|
||||
.font(cosmic::font::FONT_SEMIBOLD)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("View Switcher")
|
||||
.font(cosmic::font::FONT_SEMIBOLD)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Horizontal").into(),
|
||||
horizontal_view_switcher(&self.selection)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Horizontal With Spacing").into(),
|
||||
horizontal_view_switcher(&self.selection)
|
||||
cosmic::iced::widget::text("Horizontal").into(),
|
||||
horizontal_segmented_selection(&self.selection)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Horizontal With Spacing").into(),
|
||||
horizontal_segmented_selection(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Vertical").into(),
|
||||
vertical_segmented_selection(&self.selection)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Vertical With Spacing").into(),
|
||||
cosmic::iced::widget::row(vec![
|
||||
vertical_segmented_selection(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Vertical").into(),
|
||||
vertical_view_switcher(&self.selection)
|
||||
vertical_segmented_selection(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
vertical_segmented_selection(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Vertical With Spacing").into(),
|
||||
cosmic::iced::widget::row(vec![
|
||||
vertical_view_switcher(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
vertical_view_switcher(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
vertical_view_switcher(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
])
|
||||
.spacing(12)
|
||||
.width(Length::Fill)
|
||||
.into()
|
||||
])
|
||||
.padding(0)
|
||||
.into()
|
||||
}
|
||||
.spacing(12)
|
||||
.width(Length::Fill)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("View Switcher")
|
||||
.font(cosmic::font::FONT_SEMIBOLD)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Horizontal").into(),
|
||||
horizontal_view_switcher(&self.selection)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Horizontal With Spacing").into(),
|
||||
horizontal_view_switcher(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Vertical").into(),
|
||||
vertical_view_switcher(&self.selection)
|
||||
.on_activate(Message::Selection)
|
||||
.into(),
|
||||
cosmic::iced::widget::text("Vertical With Spacing").into(),
|
||||
cosmic::iced::widget::row(vec![
|
||||
vertical_view_switcher(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
vertical_view_switcher(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
vertical_view_switcher(&self.selection)
|
||||
.spacing(8)
|
||||
.on_activate(Message::Selection)
|
||||
.width(Length::FillPortion(1))
|
||||
.into(),
|
||||
])
|
||||
.spacing(12)
|
||||
.width(Length::Fill)
|
||||
.into(),
|
||||
])
|
||||
.padding(0)
|
||||
.into(),
|
||||
Some(DemoView::TabC) => {
|
||||
settings::view_column(vec![settings::view_section("Tab C")
|
||||
.add(cosmic::iced::widget::text("Nothing here yet").width(Length::Fill))
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
use cosmic::{
|
||||
Element,
|
||||
iced::Length,
|
||||
iced::widget::{column, container, horizontal_space, image, row, svg, text},
|
||||
iced::Length,
|
||||
theme,
|
||||
widget::{list_column, settings, toggler},
|
||||
Element,
|
||||
};
|
||||
|
||||
use super::{Page, SubPage, Window};
|
||||
|
|
@ -74,7 +74,9 @@ impl SubPage for DesktopPage {
|
|||
Appearance => "Accent colors and COSMIC theming",
|
||||
DockAndTopPanel => "Customize size, positions, and more for Dock and Top Panel.",
|
||||
Workspaces => "Set workspace number, behavior, and placement.",
|
||||
Notifications => "Do Not Disturb, lockscreen notifications, and per-application settings.",
|
||||
Notifications => {
|
||||
"Do Not Disturb, lockscreen notifications, and per-application settings."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -114,7 +116,11 @@ impl State {
|
|||
None
|
||||
}
|
||||
|
||||
pub(super) fn view<'a>(&'a self, window: &'a Window, desktop_page_opt: Option<DesktopPage>) -> Element<'a, Message> {
|
||||
pub(super) fn view<'a>(
|
||||
&'a self,
|
||||
window: &'a Window,
|
||||
desktop_page_opt: Option<DesktopPage>,
|
||||
) -> Element<'a, Message> {
|
||||
match desktop_page_opt {
|
||||
None => settings::view_column(vec![
|
||||
window.page_title(window.page),
|
||||
|
|
@ -125,7 +131,9 @@ impl State {
|
|||
window.sub_page_button(DesktopPage::DockAndTopPanel),
|
||||
window.sub_page_button(DesktopPage::Workspaces),
|
||||
window.sub_page_button(DesktopPage::Notifications),
|
||||
).spacing(16).into()
|
||||
)
|
||||
.spacing(16)
|
||||
.into(),
|
||||
])
|
||||
.into(),
|
||||
Some(DesktopPage::DesktopOptions) => self.view_desktop_options(window),
|
||||
|
|
@ -138,27 +146,50 @@ impl State {
|
|||
fn view_desktop_options<'a>(&'a self, window: &'a Window) -> Element<'a, Message> {
|
||||
settings::view_column(vec![
|
||||
window.parent_page_button(DesktopPage::DesktopOptions),
|
||||
|
||||
settings::view_section("Super Key Action")
|
||||
.add(settings::item("Launcher", horizontal_space(Length::Fill)))
|
||||
.add(settings::item("Workspaces", horizontal_space(Length::Fill)))
|
||||
.add(settings::item("Applications", horizontal_space(Length::Fill)))
|
||||
.add(settings::item(
|
||||
"Applications",
|
||||
horizontal_space(Length::Fill),
|
||||
))
|
||||
.into(),
|
||||
|
||||
settings::view_section("Hot Corner")
|
||||
.add(settings::item("Enable top-left hot corner for Workspaces", toggler(None, self.top_left_hot_corner, Message::TopLeftHotCorner)))
|
||||
.add(settings::item(
|
||||
"Enable top-left hot corner for Workspaces",
|
||||
toggler(None, self.top_left_hot_corner, Message::TopLeftHotCorner),
|
||||
))
|
||||
.into(),
|
||||
|
||||
settings::view_section("Top Panel")
|
||||
.add(settings::item("Show Workspaces Button", toggler(None, self.show_workspaces_button, Message::ShowWorkspacesButton)))
|
||||
.add(settings::item("Show Applications Button", toggler(None, self.show_applications_button, Message::ShowApplicationsButton)))
|
||||
.add(settings::item(
|
||||
"Show Workspaces Button",
|
||||
toggler(
|
||||
None,
|
||||
self.show_workspaces_button,
|
||||
Message::ShowWorkspacesButton,
|
||||
),
|
||||
))
|
||||
.add(settings::item(
|
||||
"Show Applications Button",
|
||||
toggler(
|
||||
None,
|
||||
self.show_applications_button,
|
||||
Message::ShowApplicationsButton,
|
||||
),
|
||||
))
|
||||
.into(),
|
||||
|
||||
settings::view_section("Window Controls")
|
||||
.add(settings::item("Show Minimize Button", toggler(None, self.show_minimize_button, Message::ShowMinimizeButton)))
|
||||
.add(settings::item("Show Maximize Button", toggler(None, self.show_maximize_button, Message::ShowMaximizeButton)))
|
||||
.add(settings::item(
|
||||
"Show Minimize Button",
|
||||
toggler(None, self.show_minimize_button, Message::ShowMinimizeButton),
|
||||
))
|
||||
.add(settings::item(
|
||||
"Show Maximize Button",
|
||||
toggler(None, self.show_maximize_button, Message::ShowMaximizeButton),
|
||||
))
|
||||
.into(),
|
||||
]).into()
|
||||
])
|
||||
.into()
|
||||
}
|
||||
|
||||
fn view_desktop_wallpaper<'a>(&'a self, window: &'a Window) -> Element<'a, Message> {
|
||||
|
|
@ -186,55 +217,70 @@ impl State {
|
|||
for chunk in image_paths.chunks(4) {
|
||||
let mut image_row = Vec::with_capacity(chunk.len());
|
||||
for image_path in chunk.iter() {
|
||||
image_row.push(
|
||||
if image_path.ends_with(".svg") {
|
||||
svg(svg::Handle::from_path(image_path)).width(Length::Units(150)).into()
|
||||
} else {
|
||||
image(image_path).width(Length::Units(150)).into()
|
||||
}
|
||||
);
|
||||
image_row.push(if image_path.ends_with(".svg") {
|
||||
svg(svg::Handle::from_path(image_path))
|
||||
.width(Length::Units(150))
|
||||
.into()
|
||||
} else {
|
||||
image(image_path).width(Length::Units(150)).into()
|
||||
});
|
||||
}
|
||||
image_column.push(row(image_row).spacing(16).into());
|
||||
}
|
||||
|
||||
settings::view_column(vec![
|
||||
window.parent_page_button(DesktopPage::Wallpaper),
|
||||
|
||||
row!(
|
||||
horizontal_space(Length::Fill),
|
||||
container(
|
||||
image(
|
||||
"/usr/share/backgrounds/pop/kate-hazen-COSMIC-desktop-wallpaper.png"
|
||||
).width(Length::Units(300))
|
||||
image("/usr/share/backgrounds/pop/kate-hazen-COSMIC-desktop-wallpaper.png")
|
||||
.width(Length::Units(300))
|
||||
)
|
||||
.padding(4)
|
||||
.style(theme::Container::Box),
|
||||
horizontal_space(Length::Fill),
|
||||
).into(),
|
||||
|
||||
)
|
||||
.into(),
|
||||
list_column()
|
||||
.add(settings::item("Same background on all displays", toggler(None, self.same_background, Message::SameBackground)))
|
||||
.add(settings::item(
|
||||
"Same background on all displays",
|
||||
toggler(None, self.same_background, Message::SameBackground),
|
||||
))
|
||||
.add(settings::item("Background fit", text("TODO")))
|
||||
.add(settings::item("Slideshow", toggler(None, self.slideshow, Message::Slideshow)))
|
||||
.add(settings::item(
|
||||
"Slideshow",
|
||||
toggler(None, self.slideshow, Message::Slideshow),
|
||||
))
|
||||
.into(),
|
||||
|
||||
column(image_column).spacing(16).into(),
|
||||
]).into()
|
||||
])
|
||||
.into()
|
||||
}
|
||||
|
||||
fn view_desktop_workspaces<'a>(&'a self, window: &'a Window) -> Element<'a, Message> {
|
||||
settings::view_column(vec![
|
||||
window.parent_page_button(DesktopPage::Wallpaper),
|
||||
|
||||
settings::view_section("Workspace Behavior")
|
||||
.add(settings::item("Dynamic workspaces", horizontal_space(Length::Fill)))
|
||||
.add(settings::item("Fixed Number of Workspaces", horizontal_space(Length::Fill)))
|
||||
.add(settings::item(
|
||||
"Dynamic workspaces",
|
||||
horizontal_space(Length::Fill),
|
||||
))
|
||||
.add(settings::item(
|
||||
"Fixed Number of Workspaces",
|
||||
horizontal_space(Length::Fill),
|
||||
))
|
||||
.into(),
|
||||
|
||||
settings::view_section("Multi-monitor Behavior")
|
||||
.add(settings::item("Workspaces Span Displays", horizontal_space(Length::Fill)))
|
||||
.add(settings::item("Displays Have Separate Workspaces", horizontal_space(Length::Fill)))
|
||||
.add(settings::item(
|
||||
"Workspaces Span Displays",
|
||||
horizontal_space(Length::Fill),
|
||||
))
|
||||
.add(settings::item(
|
||||
"Displays Have Separate Workspaces",
|
||||
horizontal_space(Length::Fill),
|
||||
))
|
||||
.into(),
|
||||
]).into()
|
||||
])
|
||||
.into()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
use cosmic::{
|
||||
Element,
|
||||
iced::Length,
|
||||
iced::widget::{horizontal_space, row, text},
|
||||
iced::Length,
|
||||
widget::{icon, list_column, settings},
|
||||
Element,
|
||||
};
|
||||
|
||||
use super::{Message, Page, SubPage, Window};
|
||||
|
|
@ -60,17 +60,15 @@ impl State {
|
|||
pub(super) fn view<'a>(&'a self, window: &'a Window) -> Element<'a, Message> {
|
||||
settings::view_column(vec![
|
||||
window.parent_page_button(SystemAndAccountsPage::About),
|
||||
|
||||
row!(
|
||||
horizontal_space(Length::Fill),
|
||||
icon("distributor-logo", 78),
|
||||
horizontal_space(Length::Fill),
|
||||
).into(),
|
||||
|
||||
)
|
||||
.into(),
|
||||
list_column()
|
||||
.add(settings::item("Device name", text("TODO")))
|
||||
.into(),
|
||||
|
||||
settings::view_section("Hardware")
|
||||
.add(settings::item("Hardware model", text("TODO")))
|
||||
.add(settings::item("Memory", text("TODO")))
|
||||
|
|
@ -78,17 +76,19 @@ impl State {
|
|||
.add(settings::item("Graphics", text("TODO")))
|
||||
.add(settings::item("Disk Capacity", text("TODO")))
|
||||
.into(),
|
||||
|
||||
settings::view_section("Operating System")
|
||||
.add(settings::item("Operating system", text("TODO")))
|
||||
.add(settings::item("Operating system architecture", text("TODO")))
|
||||
.add(settings::item(
|
||||
"Operating system architecture",
|
||||
text("TODO"),
|
||||
))
|
||||
.add(settings::item("Desktop environment", text("TODO")))
|
||||
.add(settings::item("Windowing system", text("TODO")))
|
||||
.into(),
|
||||
|
||||
settings::view_section("Related settings")
|
||||
.add(settings::item("Get support", text("TODO")))
|
||||
.into(),
|
||||
]).into()
|
||||
])
|
||||
.into()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue