Browse Source

implement tab title update

master
yggverse 2 months ago
parent
commit
0c2658825e
  1. 9
      src/app/browser/window/tab.rs
  2. 4
      src/app/browser/window/tab/item.rs
  3. 4
      src/app/browser/window/tab/item/page.rs

9
src/app/browser/window/tab.rs

@ -155,7 +155,16 @@ impl Tab {
pub fn update(&self) { pub fn update(&self) {
if let Some(id) = self.widget.current_page_keyword() { if let Some(id) = self.widget.current_page_keyword() {
if let Some(item) = self.index.borrow().get(&id) { if let Some(item) = self.index.borrow().get(&id) {
// Update item components
item.update(); item.update();
// Update tab title
let title = match item.page_meta_title() {
Some(value) => value,
None => GString::new(),
};
item.gobject().set_title(title.as_str());
} }
} }
} }

4
src/app/browser/window/tab/item.rs

@ -187,6 +187,10 @@ impl Item {
self.id.clone() self.id.clone()
} }
pub fn page_meta_title(&self) -> Option<GString> {
self.page.meta_title()
}
pub fn gobject(&self) -> &TabPage { pub fn gobject(&self) -> &TabPage {
&self.widget.gobject() &self.widget.gobject()
} }

4
src/app/browser/window/tab/item/page.rs

@ -463,6 +463,10 @@ impl Page {
} }
// Getters // Getters
pub fn meta_title(&self) -> Option<GString> {
self.meta.borrow().title.clone()
}
pub fn gobject(&self) -> &Box { pub fn gobject(&self) -> &Box {
&self.widget.gobject() &self.widget.gobject()
} }

Loading…
Cancel
Save