[gnome-builder/wip/gtk4-port: 1386/1774] plugins/markdown-preview: setup base-uri for preview
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/gtk4-port: 1386/1774] plugins/markdown-preview: setup base-uri for preview
- Date: Mon, 11 Jul 2022 22:31:44 +0000 (UTC)
commit f964d9518d6c540f636680f6bed6cdaf537b45f4
Author: Christian Hergert <chergert redhat com>
Date: Mon Jun 6 21:04:27 2022 -0700
plugins/markdown-preview: setup base-uri for preview
.../markdown-preview/gbp-markdown-html-generator.c | 29 +++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
---
diff --git a/src/plugins/markdown-preview/gbp-markdown-html-generator.c
b/src/plugins/markdown-preview/gbp-markdown-html-generator.c
index 51734f18f..0bcee2d9a 100644
--- a/src/plugins/markdown-preview/gbp-markdown-html-generator.c
+++ b/src/plugins/markdown-preview/gbp-markdown-html-generator.c
@@ -99,6 +99,33 @@ gbp_markdown_html_generator_generate_finish (IdeHtmlGenerator *generator,
return ide_task_propagate_pointer (IDE_TASK (result), error);
}
+static gboolean
+file_to_base_uri (GBinding *binding,
+ const GValue *from,
+ GValue *to,
+ gpointer user_data)
+{
+ g_value_set_string (to, g_file_get_uri (g_value_get_object (from)));
+ return TRUE;
+}
+
+static void
+gbp_markdown_html_generator_set_buffer (GbpMarkdownHtmlGenerator *self,
+ IdeBuffer *buffer)
+{
+ g_assert (GBP_IS_MARKDOWN_HTML_GENERATOR (self));
+ g_assert (!buffer || IDE_IS_BUFFER (buffer));
+
+ g_signal_group_set_target (self->buffer_signals, buffer);
+
+ if (IDE_IS_BUFFER (buffer))
+ g_object_bind_property_full (buffer, "file",
+ self, "base-uri",
+ G_BINDING_SYNC_CREATE,
+ file_to_base_uri,
+ NULL, NULL, NULL);
+}
+
static void
gbp_markdown_html_generator_dispose (GObject *object)
{
@@ -139,7 +166,7 @@ gbp_markdown_html_generator_set_property (GObject *object,
switch (prop_id)
{
case PROP_BUFFER:
- g_signal_group_set_target (self->buffer_signals, g_value_get_object (value));
+ gbp_markdown_html_generator_set_buffer (self, g_value_get_object (value));
break;
default:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]