|
2 | 2 | // SPDX-License-Identifier: GPL-3.0-only
|
3 | 3 |
|
4 | 4 | use crate::config::Config;
|
| 5 | +#[cfg(feature = "page-accessibility")] |
| 6 | +use crate::pages::accessibility; |
5 | 7 | #[cfg(feature = "page-bluetooth")]
|
6 | 8 | use crate::pages::bluetooth;
|
7 | 9 | use crate::pages::desktop::{self, appearance};
|
@@ -74,6 +76,12 @@ pub struct SettingsApp {
|
74 | 76 | impl SettingsApp {
|
75 | 77 | fn subtask_to_page(&self, cmd: &PageCommands) -> Option<Entity> {
|
76 | 78 | match cmd {
|
| 79 | + #[cfg(feature = "page-accessibility")] |
| 80 | + PageCommands::Accessibility => self.pages.page_id::<accessibility::Page>(), |
| 81 | + #[cfg(feature = "page-accessibility")] |
| 82 | + PageCommands::AccessibilityMagnifier => { |
| 83 | + self.pages.page_id::<accessibility::magnifier::Page>() |
| 84 | + } |
77 | 85 | #[cfg(feature = "page-about")]
|
78 | 86 | PageCommands::About => self.pages.page_id::<system::about::Page>(),
|
79 | 87 | PageCommands::Appearance => self.pages.page_id::<desktop::appearance::Page>(),
|
@@ -194,6 +202,8 @@ impl cosmic::Application for SettingsApp {
|
194 | 202 | app.insert_page::<networking::Page>();
|
195 | 203 | #[cfg(feature = "page-bluetooth")]
|
196 | 204 | app.insert_page::<bluetooth::Page>();
|
| 205 | + #[cfg(feature = "page-accessibility")] |
| 206 | + app.insert_page::<accessibility::Page>(); |
197 | 207 | let desktop_id = app.insert_page::<desktop::Page>().id();
|
198 | 208 | app.insert_page::<display::Page>();
|
199 | 209 | #[cfg(feature = "page-sound")]
|
@@ -368,6 +378,18 @@ impl cosmic::Application for SettingsApp {
|
368 | 378 | }
|
369 | 379 |
|
370 | 380 | Message::PageMessage(message) => match message {
|
| 381 | + #[cfg(feature = "page-accessibility")] |
| 382 | + crate::pages::Message::Accessibility(message) => { |
| 383 | + if let Some(page) = self.pages.page_mut::<accessibility::Page>() { |
| 384 | + return page.update(message).map(Into::into); |
| 385 | + } |
| 386 | + } |
| 387 | + #[cfg(feature = "page-accessibility")] |
| 388 | + crate::pages::Message::AccessibilityMagnifier(message) => { |
| 389 | + if let Some(page) = self.pages.page_mut::<accessibility::magnifier::Page>() { |
| 390 | + return page.update(self.active_page, message).map(Into::into); |
| 391 | + } |
| 392 | + } |
371 | 393 | #[cfg(feature = "page-about")]
|
372 | 394 | crate::pages::Message::About(message) => {
|
373 | 395 | page::update!(self.pages, message, system::about::Page);
|
|
0 commit comments