squash: handle nav select in its method
This commit is contained in:
parent
d3dbecd8e8
commit
517841d495
1 changed files with 9 additions and 12 deletions
|
|
@ -1,6 +1,9 @@
|
||||||
|
// Copyright 2023 System76 <info@system76.com>
|
||||||
|
// SPDX-License-Identifier: MPL-2.0
|
||||||
|
|
||||||
//! Testing ground for improving COSMIC application API ergonomics.
|
//! Testing ground for improving COSMIC application API ergonomics.
|
||||||
|
|
||||||
use cosmic::app::{command, Command, Core, Settings};
|
use cosmic::app::{Command, Core, Settings};
|
||||||
use cosmic::widget::nav_bar;
|
use cosmic::widget::nav_bar;
|
||||||
use cosmic::{executor, iced, ApplicationExt, Element};
|
use cosmic::{executor, iced, ApplicationExt, Element};
|
||||||
|
|
||||||
|
|
@ -31,9 +34,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
|
||||||
/// Messages that are used specifically by our [`App`].
|
/// Messages that are used specifically by our [`App`].
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
pub enum Message {
|
pub enum Message {}
|
||||||
PageSelect(nav_bar::Id),
|
|
||||||
}
|
|
||||||
|
|
||||||
/// The [`App`] stores application-specific state.
|
/// The [`App`] stores application-specific state.
|
||||||
pub struct App {
|
pub struct App {
|
||||||
|
|
@ -86,16 +87,12 @@ impl cosmic::Application for App {
|
||||||
|
|
||||||
/// Called when a navigation item is selected.
|
/// Called when a navigation item is selected.
|
||||||
fn on_nav_select(&mut self, id: nav_bar::Id) -> Command<Self::Message> {
|
fn on_nav_select(&mut self, id: nav_bar::Id) -> Command<Self::Message> {
|
||||||
command::message::app(Message::PageSelect(id))
|
self.nav_model.activate(id);
|
||||||
|
self.update_title()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn update(&mut self, message: Self::Message) -> Command<Self::Message> {
|
fn update(&mut self, _message: Self::Message) -> Command<Self::Message> {
|
||||||
match message {
|
Command::none()
|
||||||
Message::PageSelect(id) => {
|
|
||||||
self.nav_model.activate(id);
|
|
||||||
return self.update_title();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn view(&self) -> Element<Self::Message> {
|
fn view(&self) -> Element<Self::Message> {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue