|
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