Refactor pages into separate files

This commit is contained in:
Jeremy Soller 2022-12-21 13:11:32 -07:00
parent e4af157406
commit 3f113016c5
No known key found for this signature in database
GPG key ID: 87F211AF2BE4C2FE
8 changed files with 464 additions and 406 deletions

View file

@ -0,0 +1,43 @@
use super::{Page, SubPage};
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum TimeAndLanguagePage {
DateAndTime,
RegionAndLanguage,
}
impl SubPage for TimeAndLanguagePage {
//TODO: translate
fn title(&self) -> &'static str {
use TimeAndLanguagePage::*;
match self {
DateAndTime => "Date & Time",
RegionAndLanguage => "Region & Language",
}
}
//TODO: translate
fn description(&self) -> &'static str {
use TimeAndLanguagePage::*;
match self {
DateAndTime => "Time zone, automatic clock settings, and some time formatting.",
RegionAndLanguage => "Format dates, times, and numbers based on your region",
}
}
fn icon_name(&self) -> &'static str {
use TimeAndLanguagePage::*;
match self {
DateAndTime => "preferences-system-time-symbolic",
RegionAndLanguage => "preferences-desktop-locale-symbolic",
}
}
fn parent_page(&self) -> Page {
Page::TimeAndLanguage(None)
}
fn into_page(self) -> Page {
Page::TimeAndLanguage(Some(self))
}
}