use parsed header as title on available

This commit is contained in:
yggverse 2024-09-27 21:20:23 +03:00
parent 8b521e459a
commit 841c4a4a99
3 changed files with 50 additions and 17 deletions

View file

@ -2,9 +2,17 @@ mod gemini;
use gemini::Gemini;
use gtk::{glib::Uri, ScrolledWindow};
use gtk::{
glib::{GString, Uri},
ScrolledWindow,
};
pub struct Meta {
title: Option<GString>,
}
pub struct Text {
meta: Meta,
widget: ScrolledWindow,
}
@ -14,16 +22,25 @@ impl Text {
// Init components
let gemini = Gemini::new(gemtext, base);
// Init meta
let meta = Meta {
title: gemini.reader_title().clone(),
};
// Init widget
let widget = ScrolledWindow::builder().build();
widget.set_child(Some(gemini.widget()));
// Result
Self { widget }
Self { meta, widget }
}
// Getters
pub fn meta_title(&self) -> &Option<GString> {
&self.meta.title
}
pub fn widget(&self) -> &ScrolledWindow {
&self.widget
}