static void gb_editor_view_actions_preview (GSimpleAction *action, GVariant *param, gpointer user_data) { GbEditorView *self = user_data; GtkSourceLanguage *language; const gchar *lang_id = NULL; g_autoptr(GbDocument) document = NULL; g_assert (GB_IS_EDITOR_VIEW (self)); language = gtk_source_buffer_get_language (GTK_SOURCE_BUFFER (self->document)); if (!language) return; lang_id = gtk_source_language_get_id (language); if (!lang_id) return; #if 0 if (g_str_equal (lang_id, "html")) { document = g_object_new (GB_TYPE_HTML_DOCUMENT, "buffer", self->document, NULL); } else if (g_str_equal (lang_id, "markdown")) { document = g_object_new (GB_TYPE_HTML_DOCUMENT, "buffer", self->document, NULL); gb_html_document_set_transform_func (GB_HTML_DOCUMENT (document), gb_html_markdown_transform); } #endif if (document) { GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (self)); while (parent && !GB_IS_VIEW_GRID (parent)) parent = gtk_widget_get_parent (parent); if (parent == NULL) { while (parent && !GB_IS_VIEW_STACK (parent)) parent = gtk_widget_get_parent (parent); g_assert (GB_IS_VIEW_STACK (parent)); gb_view_stack_focus_document (GB_VIEW_STACK (parent), document); return; } g_assert (GB_IS_VIEW_GRID (parent)); gb_view_grid_focus_document (GB_VIEW_GRID (parent), document); } }
static void gb_view_stack_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GbViewStack *self = GB_VIEW_STACK (object); switch (prop_id) { case PROP_ACTIVE_VIEW: gb_view_stack_set_active_view (self, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }