/**
 * ide_preferences_addin_unload:
 * @self: An #IdePreferencesAddin.
 * @preferences: The preferences container implementation.
 *
 * This interface method is called when the preferences addin should remove all controls
 * added to @preferences. This could happen during desctruction of @preferences, or when
 * the plugin is unloaded.
 */
void
ide_preferences_addin_unload (IdePreferencesAddin *self,
                              IdePreferences      *preferences)
{
  g_return_if_fail (IDE_IS_PREFERENCES_ADDIN (self));
  g_return_if_fail (IDE_IS_PREFERENCES (preferences));

  IDE_PREFERENCES_ADDIN_GET_IFACE (self)->unload (self, preferences);
}
static void
gbp_quick_highlight_preferences_unload (IdePreferencesAddin *addin,
                                        DzlPreferences      *preferences)
{
  GbpQuickHighlightPreferences *self = (GbpQuickHighlightPreferences *)addin;

  g_assert (IDE_IS_PREFERENCES_ADDIN (self));
  g_assert (DZL_IS_PREFERENCES (preferences));

  dzl_preferences_remove_id (preferences, self->enable_switch);
  self->enable_switch = 0;
}
static void
gbp_quick_highlight_preferences_load (IdePreferencesAddin *addin,
                                      DzlPreferences      *preferences)
{
  GbpQuickHighlightPreferences *self = (GbpQuickHighlightPreferences *)addin;

  g_assert (IDE_IS_PREFERENCES_ADDIN (self));
  g_assert (DZL_IS_PREFERENCES (preferences));

  self->enable_switch =
    dzl_preferences_add_switch (preferences,
                                "editor",
                                "highlight",
                                "org.gnome.builder.extension-type",
                                "enabled",
                                "/org/gnome/builder/extension-types/quick-highlight-plugin/IdeEditorViewAddin/",
                                NULL,
                                _("Words matching selection"),
                                _("Highlight all occurrences of words matching the current selection"),
                                /* Translators: the following are keywords used for searching to locate this preference */
                                _("quick highlight words matching current selection"),
                                10);
}