From e21f1ec7b8fd03de90f838718c1da9a86e237d73 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 21 Dec 2022 12:18:54 -0700 Subject: [PATCH] Add abouts page, improve settings list padding --- examples/cosmic/src/window.rs | 34 +++++++++++++++++++++++++++++++++- src/widget/list/column.rs | 4 ++-- src/widget/settings/item.rs | 2 +- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/examples/cosmic/src/window.rs b/examples/cosmic/src/window.rs index 590d40e..e205b34 100644 --- a/examples/cosmic/src/window.rs +++ b/examples/cosmic/src/window.rs @@ -329,7 +329,7 @@ impl Page { impl Default for Page { fn default() -> Page { //TODO: what should the default page be? - Page::Desktop(None) + Page::SystemAndAccounts(Some(SystemAndAccountsPage::About)) } } @@ -561,6 +561,37 @@ impl Window { .into(), ]).into() } + + fn view_system_and_accounts_about(&self) -> Element { + settings::view_column(vec![ + self.parent_page_button(SystemAndAccountsPage::About), + + row!( + horizontal_space(Length::Fill), + icon("distributor-logo", 78), + horizontal_space(Length::Fill), + ).into(), + + settings::view_section("Hardware") + .add(settings::item("Hardware model", text("TODO"))) + .add(settings::item("Memory", text("TODO"))) + .add(settings::item("Processor", text("TODO"))) + .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("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() + } } impl Application for Window { @@ -739,6 +770,7 @@ impl Application for Window { self.sub_page_button(SystemAndAccountsPage::Firmware), ).spacing(16).into() ]).into(), + Page::SystemAndAccounts(Some(SystemAndAccountsPage::About)) => self.view_system_and_accounts_about(), Page::SystemAndAccounts(Some(sub_page)) => self.view_unimplemented_sub_page(sub_page), Page::TimeAndLanguage(None) => settings::view_column(vec![ self.page_title(self.page), diff --git a/src/widget/list/column.rs b/src/widget/list/column.rs index 2800aaa..6222202 100644 --- a/src/widget/list/column.rs +++ b/src/widget/list/column.rs @@ -29,7 +29,7 @@ impl<'a, Message: 'static> ListColumn<'a, Message> { #[must_use] pub fn add(mut self, item: impl Into>) -> Self { if !self.children.is_empty() { - self.children.push(horizontal_rule(12).into()); + self.children.push(horizontal_rule(10).into()); } self.children.push(item.into()); @@ -41,7 +41,7 @@ impl<'a, Message: 'static> ListColumn<'a, Message> { iced::widget::column(self.children) .spacing(12) .apply(iced::widget::container) - .padding([12, 16]) + .padding([16, 6]) .style(theme::Container::Custom(style)) .into() } diff --git a/src/widget/settings/item.rs b/src/widget/settings/item.rs index 167ef31..2cb0c99 100644 --- a/src/widget/settings/item.rs +++ b/src/widget/settings/item.rs @@ -23,6 +23,6 @@ pub fn item<'a, Message: 'static>( pub fn item_row(children: Vec>) -> iced::widget::Row { iced::widget::row(children) .align_items(iced::Alignment::Center) - .padding([0, 8]) + .padding([0, 18]) .spacing(12) }