WIP: Enable close icon

This commit is contained in:
Jeremy Soller 2023-03-14 14:55:50 -06:00
parent f091b51888
commit aee7e6254e
No known key found for this signature in database
GPG key ID: DCFCA852D3906975

View file

@ -137,7 +137,8 @@ pub struct Window {
pub enum Message { pub enum Message {
Open, Open,
Save, Save,
Tab(segmented_button::Entity), TabActivate(segmented_button::Entity),
TabClose(segmented_button::Entity),
Todo, Todo,
} }
@ -169,7 +170,9 @@ impl Application for Window {
.insert() .insert()
.text(tab.title()) .text(tab.title())
.icon("text-x-generic") .icon("text-x-generic")
.icon_color(None)
.data(tab) .data(tab)
.closable()
.activate(); .activate();
( (
@ -203,7 +206,9 @@ impl Application for Window {
.insert() .insert()
.text(tab.title()) .text(tab.title())
.icon("text-x-generic") .icon("text-x-generic")
.icon_color(None)
.data(tab) .data(tab)
.closable()
.activate(); .activate();
} }
} }
@ -227,7 +232,8 @@ impl Application for Window {
self.tab_model.text_set(self.tab_model.active(), title); self.tab_model.text_set(self.tab_model.active(), title);
} }
} }
Message::Tab(entity) => self.tab_model.activate(entity), Message::TabActivate(entity) => self.tab_model.activate(entity),
Message::TabClose(entity) => self.tab_model.remove(entity),
Message::Todo => { Message::Todo => {
log::info!("TODO"); log::info!("TODO");
} }
@ -259,7 +265,8 @@ impl Application for Window {
.spacing(16); .spacing(16);
let tab_bar = view_switcher::horizontal(&self.tab_model) let tab_bar = view_switcher::horizontal(&self.tab_model)
.on_activate(Message::Tab) .on_activate(Message::TabActivate)
.on_close(Message::TabClose)
.width(Length::Shrink); .width(Length::Shrink);
let content: Element<_> = column![ let content: Element<_> = column![