static void load_bookmark_metadata (PlumaView *view) { PlumaDocument *doc; gchar *bookmarks_attr; doc = PLUMA_DOCUMENT (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view))); bookmarks_attr = pluma_document_get_metadata (doc, METADATA_ATTR); if (bookmarks_attr != NULL) { gchar **bookmarks; bookmarks = g_strsplit (bookmarks_attr, ",", -1); g_free (bookmarks_attr); load_bookmarks (view, bookmarks); g_strfreev (bookmarks); } }
static void set_language_from_metadata (PlumaSpellChecker *spell, PlumaDocument *doc) { const PlumaSpellCheckerLanguage *lang = NULL; gchar *value = NULL; value = pluma_document_get_metadata (doc, PLUMA_METADATA_ATTRIBUTE_SPELL_LANGUAGE); if (value != NULL) { lang = pluma_spell_checker_language_from_key (value); g_free (value); } if (lang != NULL) { g_signal_handlers_block_by_func (spell, set_spell_language_cb, doc); pluma_spell_checker_set_language (spell, lang); g_signal_handlers_unblock_by_func (spell, set_spell_language_cb, doc); } }
static void set_auto_spell_from_metadata (PlumaSpellPlugin *plugin, PlumaDocument *doc, GtkActionGroup *action_group) { gboolean active = FALSE; gchar *active_str = NULL; PlumaWindow *window; PlumaDocument *active_doc; PlumaSpellPluginAutocheckType autocheck_type; autocheck_type = get_autocheck_type (plugin); switch (autocheck_type) { case AUTOCHECK_ALWAYS: { active = TRUE; break; } case AUTOCHECK_DOCUMENT: { active_str = pluma_document_get_metadata (doc, PLUMA_METADATA_ATTRIBUTE_SPELL_ENABLED); break; } case AUTOCHECK_NEVER: default: active = FALSE; break; } if (active_str) { active = *active_str == '1'; g_free (active_str); } window = PLUMA_WINDOW (plugin->priv->window); set_auto_spell (window, doc, active); /* In case that the doc is the active one we mark the spell action */ active_doc = pluma_window_get_active_document (window); if (active_doc == doc && action_group != NULL) { GtkAction *action; action = gtk_action_group_get_action (action_group, "AutoSpell"); g_signal_handlers_block_by_func (action, auto_spell_cb, plugin); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), active); g_signal_handlers_unblock_by_func (action, auto_spell_cb, plugin); } }