connect sourceview5

This commit is contained in:
yggverse 2024-12-08 15:11:57 +02:00
parent 614aa1d71a
commit c1fc022643
5 changed files with 29 additions and 11 deletions

View file

@ -11,11 +11,17 @@ impl About {
// Collect debug info
let debug = &[
format!(
"GTK {}.{}.{}",
"Gtk {}.{}.{}",
gtk::major_version(),
gtk::minor_version(),
gtk::micro_version()
),
format!(
"GtkSourceView {}.{}.{}",
sourceview::major_version(),
sourceview::minor_version(),
sourceview::micro_version()
),
format!("SQLite {}", sqlite::version()),
// @TODO
];

View file

@ -198,8 +198,8 @@ impl Page {
};
// Detect source view mode, return `request` string prepared for route
let (request, is_view_source) = match request.strip_prefix("view-source:") {
Some(postfix) => (gformat!("{}", postfix.to_string()), true),
let (request, is_view_source) = match request.strip_prefix("source:") {
Some(postfix) => (GString::from(postfix), true),
None => (request, false),
};

View file

@ -1,22 +1,29 @@
use gtk::{TextBuffer, TextView};
use sourceview::{Buffer, StyleScheme, View};
const MARGIN: i32 = 8;
pub struct Source {
pub text_view: TextView,
pub text_view: View,
}
impl Source {
pub fn new(data: &str) -> Self {
Self {
text_view: TextView::builder()
text_view: View::builder()
.bottom_margin(MARGIN)
.buffer(&TextBuffer::builder().text(data).build())
.buffer(
&Buffer::builder()
.text(data)
.style_scheme(&StyleScheme::builder().build()) // adaptive
.highlight_syntax(true)
.build(),
)
.cursor_visible(false)
.editable(false)
.left_margin(MARGIN)
.monospace(true)
.right_margin(MARGIN)
.show_line_marks(true)
.show_line_numbers(true)
.top_margin(MARGIN)
.vexpand(true)
.build(),