geany
1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
![]() ![]() |
#include "plugins.h"
#include "app.h"
#include "dialogs.h"
#include "documentprivate.h"
#include "encodings.h"
#include "geanyobject.h"
#include "geanywraplabel.h"
#include "highlighting.h"
#include "keybindingsprivate.h"
#include "keyfile.h"
#include "main.h"
#include "msgwindow.h"
#include "navqueue.h"
#include "plugindata.h"
#include "pluginprivate.h"
#include "pluginutils.h"
#include "prefs.h"
#include "sciwrappers.h"
#include "stash.h"
#include "support.h"
#include "symbols.h"
#include "templates.h"
#include "toolbar.h"
#include "ui_utils.h"
#include "utils.h"
#include "win32.h"
#include <gtk/gtk.h>
#include <string.h>
Go to the source code of this file.
Classes | |
struct | ForEachDocData |
struct | PluginProxy |
struct | LegacyRealFuncs |
struct | PluginManagerWidgets |
Macros | |
#define | PLUGIN_VERSION_CODE(api, abi) ((abi) != GEANY_ABI_VERSION ? -1 : (api)) |
#define | CHECK_FUNC(__x) |
Enumerations | |
enum | { PLUGIN_COLUMN_CHECK = 0 , PLUGIN_COLUMN_CAN_UNCHECK , PLUGIN_COLUMN_PLUGIN , PLUGIN_N_COLUMNS , PM_BUTTON_KEYBINDINGS , PM_BUTTON_CONFIGURE , PM_BUTTON_HELP } |
Functions | |
static gchar * | get_plugin_path (void) |
static void | pm_show_dialog (GtkMenuItem *menuitem, gpointer user_data) |
static gpointer | plugin_load_gmodule (GeanyPlugin *proxy, GeanyPlugin *plugin, const gchar *filename, gpointer pdata) |
static void | plugin_unload_gmodule (GeanyPlugin *proxy, GeanyPlugin *plugin, gpointer load_data, gpointer pdata) |
static void | plugin_free (Plugin *plugin) |
static void | geany_data_init (void) |
static void | proxied_count_inc (Plugin *proxy) |
static void | proxied_count_dec (Plugin *proxy) |
static gboolean | plugin_loaded (Plugin *plugin) |
static Plugin * | find_active_plugin_by_name (const gchar *filename) |
static gboolean | plugin_check_version (Plugin *plugin, int plugin_version_code) |
static void | add_callbacks (Plugin *plugin, PluginCallback *callbacks) |
static void | read_key_group (Plugin *plugin) |
static gint | cmp_plugin_names (gconstpointer a, gconstpointer b) |
gboolean | geany_plugin_register (GeanyPlugin *plugin, gint api_version, gint min_api_version, gint abi_version) |
Register a plugin to Geany. More... | |
gboolean | geany_plugin_register_full (GeanyPlugin *plugin, gint api_version, gint min_api_version, gint abi_version, gpointer pdata, GDestroyNotify free_func) |
Register a plugin to Geany, with plugin-defined data. More... | |
static gboolean | legacy_init (GeanyPlugin *plugin, gpointer pdata) |
static void | legacy_cleanup (GeanyPlugin *plugin, gpointer pdata) |
static void | legacy_help (GeanyPlugin *plugin, gpointer pdata) |
static GtkWidget * | legacy_configure (GeanyPlugin *plugin, GtkDialog *parent, gpointer pdata) |
static void | free_legacy_cbs (gpointer data) |
static void | register_legacy_plugin (Plugin *plugin, GModule *module) |
static gboolean | plugin_load (Plugin *plugin) |
static Plugin * | plugin_new (Plugin *proxy, const gchar *fname, gboolean load_plugin, gboolean add_to_list) |
static void | on_object_weak_notify (gpointer data, GObject *old_ptr) |
void | plugin_watch_object (Plugin *plugin, gpointer object) |
static void | remove_callbacks (Plugin *plugin) |
static void | remove_sources (Plugin *plugin) |
void | plugin_make_resident (Plugin *plugin) |
gpointer | plugin_get_module_symbol (Plugin *plugin, const gchar *sym) |
static gboolean | is_active_plugin (Plugin *plugin) |
static void | remove_each_doc_data (GQuark key_id, gpointer data, gpointer user_data) |
static void | remove_doc_data (Plugin *plugin) |
static void | plugin_cleanup (Plugin *plugin) |
static void | free_subplugins (Plugin *proxy) |
static gboolean | unregister_proxy (Plugin *proxy) |
static gchar * | get_custom_plugin_path (const gchar *plugin_path_config, const gchar *plugin_path_system) |
static gboolean | check_plugin_path (const gchar *fname) |
static PluginProxy * | is_plugin (const gchar *file) |
static void | load_active_plugins (void) |
static void | load_plugins_from_path (const gchar *path) |
static gint | cmp_plugin_by_proxy (gconstpointer a, gconstpointer b) |
static void | load_all_plugins (void) |
static void | on_tools_menu_show (GtkWidget *menu_item, G_GNUC_UNUSED gpointer user_data) |
void | plugins_load_active (void) |
static void | update_active_plugins_pref (void) |
void | plugins_init (void) |
static void | plugin_free_leaf (Plugin *p) |
void | plugins_finalize (void) |
gboolean | plugins_have_preferences (void) |
static void | pm_update_buttons (Plugin *p) |
static void | pm_selection_changed (GtkTreeSelection *selection, gpointer user_data) |
static gboolean | find_iter_for_plugin (Plugin *p, GtkTreeModel *model, GtkTreeIter *iter) |
static void | pm_populate (GtkTreeStore *store) |
static void | pm_plugin_toggled (GtkCellRendererToggle *cell, gchar *pth, gpointer data) |
static gboolean | pm_treeview_query_tooltip (GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer user_data) |
static void | pm_treeview_text_cell_data_func (GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer data) |
static gboolean | pm_treeview_button_press_cb (GtkWidget *widget, GdkEventButton *event, G_GNUC_UNUSED gpointer user_data) |
static gint | pm_tree_sort_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data) |
static gboolean | pm_tree_search (const gchar *key, const gchar *haystack) |
static gboolean | pm_tree_filter_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) |
static void | on_pm_tree_filter_entry_changed_cb (GtkEntry *entry, gpointer user_data) |
static void | on_pm_tree_filter_entry_icon_release_cb (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event, gpointer user_data) |
static void | pm_prepare_treeview (GtkWidget *tree, GtkTreeStore *store) |
static void | pm_on_plugin_button_clicked (G_GNUC_UNUSED GtkButton *button, gpointer user_data) |
static void | free_non_active_plugin (gpointer data, gpointer user_data) |
static void | pm_dialog_response (GtkDialog *dialog, gint response, gpointer user_data) |
gboolean | geany_plugin_register_proxy (GeanyPlugin *plugin, const gchar **extensions) |
Register the plugin as a proxy for other plugins. More... | |
Variables | |
GList * | active_plugin_list = NULL |
static gboolean | want_plugins = FALSE |
static GList * | plugin_list = NULL |
static gchar ** | active_plugins_pref = NULL |
static GList * | failed_plugins_list = NULL |
static GtkWidget * | menu_separator = NULL |
static Plugin | builtin_so_proxy_plugin |
static PluginProxy | builtin_so_proxy |
static GQueue | active_proxies = G_QUEUE_INIT |
static GeanyData | geany_data |
static PluginManagerWidgets | pm_widgets |
#define CHECK_FUNC | ( | __x | ) |
#define PLUGIN_VERSION_CODE | ( | api, | |
abi | |||
) | ((abi) != GEANY_ABI_VERSION ? -1 : (api)) |
anonymous enum |
|
static |
Definition at line 251 of file plugins.c.
References PluginCallback::after, PluginCallback::callback, GeanyPluginPrivate::cb_data, NULL, plugin_signal_connect(), GeanyPluginPrivate::public, PluginCallback::signal_name, and PluginCallback::user_data.
Referenced by plugin_load().
|
static |
Definition at line 1025 of file plugins.c.
References app, GeanyApp::configdir, get_custom_plugin_path(), get_plugin_path(), and NULL.
Referenced by load_active_plugins().
|
static |
Definition at line 1176 of file plugins.c.
References builtin_so_proxy_plugin, and GeanyPluginPrivate::proxy.
Referenced by load_all_plugins().
|
static |
Definition at line 315 of file plugins.c.
References GeanyPluginPrivate::info, and PluginInfo::name.
Referenced by plugin_load().
|
static |
Definition at line 205 of file plugins.c.
References active_plugin_list, filename, NULL, and utils_str_equal().
Referenced by plugin_new().
|
static |
Definition at line 1465 of file plugins.c.
References PLUGIN_COLUMN_PLUGIN.
Referenced by pm_populate().
|
static |
Definition at line 473 of file plugins.c.
Referenced by register_legacy_plugin().
|
static |
Definition at line 1878 of file plugins.c.
References is_active_plugin(), and plugin_free().
Referenced by pm_dialog_response().
|
static |
Definition at line 925 of file plugins.c.
References plugin_free(), plugin_list, and GeanyPluginPrivate::proxy.
Referenced by plugin_free().
|
static |
Definition at line 114 of file plugins.c.
References app, documents_array, editor_prefs, file_prefs, filetypes_array, filetypes_by_title, geany_data, geany_object, interface_prefs, main_widgets, NULL, prefs, search_prefs, template_prefs, tool_prefs, and toolbar_prefs.
Referenced by plugins_load_active().
gboolean geany_plugin_register | ( | GeanyPlugin * | plugin, |
gint | api_version, | ||
gint | min_api_version, | ||
gint | abi_version | ||
) |
Register a plugin to Geany.
The plugin will show up in the plugin manager. The user can interact with it based on the functions it provides and installed GUI elements.
You must initialize the info and funcs fields of GeanyPlugin appropriately prior to calling this, otherwise registration will fail. For info at least a valid name must be set (possibly localized). For funcs, at least init() and cleanup() functions must be implemented and set.
The return value must be checked. It may be FALSE if the plugin failed to register which can mainly happen for two reasons (future Geany versions may add new failure conditions):
Do not call this directly. Use GEANY_PLUGIN_REGISTER() instead which automatically handles api_version and abi_version.
plugin | The plugin provided by Geany |
api_version | The API version the plugin is compiled against (pass GEANY_API_VERSION) |
min_api_version | The minimum API version required by the plugin |
abi_version | The exact ABI version the plugin is compiled against (pass GEANY_ABI_VERSION) |
Definition at line 353 of file plugins.c.
References GeanyPluginFuncs::cleanup, EMPTY, GeanyPluginPrivate::filename, GeanyPluginPrivate::flags, GeanyPlugin::funcs, geany_debug(), GeanyPluginPrivate::info, GeanyPluginFuncs::init, LOADED_OK, name, PluginInfo::name, NULL, plugin_check_version(), PLUGIN_LOADED_OK, PLUGIN_VERSION_CODE, and GeanyPlugin::priv.
Referenced by geany_plugin_register_full().
gboolean geany_plugin_register_full | ( | GeanyPlugin * | plugin, |
gint | api_version, | ||
gint | min_api_version, | ||
gint | abi_version, | ||
gpointer | pdata, | ||
GDestroyNotify | free_func | ||
) |
Register a plugin to Geany, with plugin-defined data.
This is a variant of geany_plugin_register() that also allows to set the plugin-defined data. Refer to that function for more details on registering in general.
pdata
is the pointer going to be passed to the individual plugin callbacks of GeanyPlugin::funcs. When the plugin module is unloaded, free_func
is invoked on pdata
, which connects the data to the plugin's module life time.
You cannot use geany_plugin_set_data() after registering with this function. Use geany_plugin_register() if you need to.
Do not call this directly. Use GEANY_PLUGIN_REGISTER_FULL() instead which automatically handles api_version
and abi_version
.
plugin | The plugin provided by Geany. |
api_version | The API version the plugin is compiled against (pass GEANY_API_VERSION). |
min_api_version | The minimum API version required by the plugin. |
abi_version | The exact ABI version the plugin is compiled against (pass GEANY_ABI_VERSION). |
pdata | Pointer to the plugin-defined data. Must not be NULL . |
free_func | Function used to deallocate pdata, may be NULL . |
Definition at line 422 of file plugins.c.
References GeanyPluginPrivate::flags, geany_plugin_register(), geany_plugin_set_data(), LOAD_DATA, and GeanyPlugin::priv.
gboolean geany_plugin_register_proxy | ( | GeanyPlugin * | plugin, |
const gchar ** | extensions | ||
) |
Register the plugin as a proxy for other plugins.
Proxy plugins register a list of file extensions and a set of callbacks that are called appropriately. A plugin can be a proxy for multiple types of sub-plugins by handling separate file extensions, however they must share the same set of hooks, because this function can only be called at most once per plugin.
Each callback receives the plugin-defined data as parameter (see geany_plugin_register()). The callbacks must be set prior to calling this, by assigning to plugin->proxy_funcs. GeanyProxyFuncs::load and GeanyProxyFuncs::unload must be implemented.
Nested proxies are unsupported at this point (TODO).
plugin | The pointer to the plugin's GeanyPlugin instance |
extensions | A NULL-terminated string array of file extensions, excluding the dot. |
TRUE
if the proxy was successfully registered, otherwise FALSE
Definition at line 2042 of file plugins.c.
References _, active_proxies, PluginProxy::extension, foreach_list, foreach_strv, GeanyPluginPrivate::info, GeanyProxyFuncs::load, PluginInfo::name, NULL, PluginProxy::plugin, GeanyPlugin::priv, GeanyPlugin::proxy_funcs, and GeanyProxyFuncs::unload.
Referenced by demoproxy_init().
|
static |
Definition at line 1000 of file plugins.c.
References GeanyPrefs::custom_plugin_path, EMPTY, NULL, prefs, utils_get_locale_from_utf8(), utils_str_equal(), and utils_tidy_path().
Referenced by check_plugin_path(), and load_all_plugins().
|
static |
Definition at line 1168 of file plugins.c.
References utils_resource_dir().
Referenced by check_plugin_path(), load_all_plugins(), and plugins_init().
|
static |
Definition at line 854 of file plugins.c.
References active_plugin_list, and NULL.
Referenced by free_non_active_plugin(), plugin_free(), pm_populate(), and pm_update_buttons().
|
static |
Definition at line 1056 of file plugins.c.
References active_proxies, GeanyPluginPrivate::cb_data, PluginProxy::extension, foreach_list, GEANY_PROXY_IGNORE, GEANY_PROXY_MATCH, GEANY_PROXY_RELATED, GeanyPluginPrivate::info, PluginInfo::name, NULL, PluginProxy::plugin, GeanyProxyFuncs::probe, GeanyPluginPrivate::proxy_cbs, GeanyPluginPrivate::public, and utils_str_casecmp().
Referenced by load_active_plugins(), and load_plugins_from_path().
|
static |
Definition at line 453 of file plugins.c.
References LegacyRealFuncs::cleanup.
Referenced by register_legacy_plugin().
|
static |
Definition at line 467 of file plugins.c.
References LegacyRealFuncs::configure.
Referenced by register_legacy_plugin().
|
static |
Definition at line 461 of file plugins.c.
References LegacyRealFuncs::help.
Referenced by register_legacy_plugin().
|
static |
Definition at line 446 of file plugins.c.
References GeanyPlugin::geany_data, and LegacyRealFuncs::init.
Referenced by register_legacy_plugin().
|
static |
Definition at line 1104 of file plugins.c.
References active_plugins_pref, active_proxies, check_plugin_path(), EMPTY, failed_plugins_list, is_plugin(), NULL, PluginProxy::plugin, and plugin_new().
Referenced by plugins_load_active().
|
static |
Definition at line 1197 of file plugins.c.
References app, cmp_plugin_by_proxy(), GeanyApp::configdir, get_custom_plugin_path(), get_plugin_path(), load_plugins_from_path(), NULL, and plugin_list.
Referenced by pm_plugin_toggled(), and pm_show_dialog().
|
static |
Definition at line 1142 of file plugins.c.
References count, geany_debug(), is_plugin(), list, NULL, PluginProxy::plugin, plugin_new(), and utils_get_file_list().
Referenced by load_all_plugins().
|
static |
Definition at line 755 of file plugins.c.
References SignalConnection::object, and GeanyPluginPrivate::signal_ids.
Referenced by plugin_watch_object(), and remove_callbacks().
|
static |
Definition at line 1782 of file plugins.c.
References pm_widgets, and PluginManagerWidgets::tree.
Referenced by on_pm_tree_filter_entry_icon_release_cb(), and pm_show_dialog().
|
static |
Definition at line 1789 of file plugins.c.
References entry, and on_pm_tree_filter_entry_changed_cb().
Referenced by pm_show_dialog().
|
static |
Definition at line 1232 of file plugins.c.
References list, menu_separator, NULL, and ui_widget_show_hide().
Referenced by plugins_load_active().
|
static |
Definition at line 225 of file plugins.c.
References _, GeanyPluginPrivate::filename, GEANY_API_VERSION, geany_debug(), msgwin_status_add(), and name.
Referenced by geany_plugin_register(), and register_legacy_plugin().
|
static |
Definition at line 891 of file plugins.c.
References GeanyPluginPrivate::cb_data, GeanyPluginPrivate::cb_data_destroy, GeanyPluginPrivate::cbs, GeanyPluginFuncs::cleanup, GeanyPluginPrivate::filename, geany_debug(), GeanyPluginPrivate::key_group, keybindings_free_group(), NULL, PLUGIN_HAS_LOAD_DATA, proxied_count_dec(), GeanyPluginPrivate::proxy, GeanyPluginPrivate::public, remove_callbacks(), remove_doc_data(), remove_sources(), and GeanyPluginPrivate::toolbar_separator.
Referenced by plugin_free().
|
static |
Definition at line 969 of file plugins.c.
References active_plugin_list, GeanyPluginPrivate::cb_data, GeanyPluginPrivate::cb_data_destroy, GeanyPluginPrivate::filename, free_subplugins(), is_active_plugin(), plugin_cleanup(), plugin_list, GeanyPluginPrivate::proxied_count, GeanyPluginPrivate::proxy, GeanyPluginPrivate::proxy_cbs, GeanyPluginPrivate::proxy_data, GeanyPluginPrivate::public, GeanyProxyFuncs::unload, and unregister_proxy().
Referenced by free_non_active_plugin(), free_subplugins(), plugin_free_leaf(), and pm_plugin_toggled().
|
static |
Definition at line 1351 of file plugins.c.
References plugin_free(), and GeanyPluginPrivate::proxied_count.
Referenced by plugins_finalize().
gpointer plugin_get_module_symbol | ( | Plugin * | plugin, |
const gchar * | sym | ||
) |
Definition at line 834 of file plugins.c.
References builtin_so_proxy_plugin, NULL, GeanyPluginPrivate::proxy, and GeanyPluginPrivate::proxy_data.
Referenced by connect_plugin_signals().
|
static |
Definition at line 545 of file plugins.c.
References active_plugin_list, add_callbacks(), builtin_so_proxy_plugin, GeanyPluginFuncs::callbacks, GeanyPluginPrivate::cb_data, GeanyPluginPrivate::cbs, cmp_plugin_names(), GeanyPluginPrivate::fields, GeanyPluginPrivate::filename, PluginFields::flags, geany_debug(), GeanyPluginPrivate::info, GeanyPluginFuncs::init, PluginFields::menu_item, PluginInfo::name, plugin_fields, PLUGIN_IS_DOCUMENT_SENSITIVE, PLUGIN_IS_LEGACY, proxied_count_inc(), GeanyPluginPrivate::proxy, GeanyPluginPrivate::proxy_data, GeanyPluginPrivate::public, read_key_group(), and ui_add_document_sensitive().
Referenced by plugin_new().
|
static |
Definition at line 601 of file plugins.c.
References geany_debug(), NULL, GeanyPlugin::priv, GeanyPluginPrivate::proxy_data, and register_legacy_plugin().
|
static |
Definition at line 165 of file plugins.c.
References active_plugin_list, GeanyPluginPrivate::filename, NULL, plugin_list, and utils_str_equal().
Referenced by plugin_new().
void plugin_make_resident | ( | Plugin * | plugin | ) |
Definition at line 821 of file plugins.c.
References builtin_so_proxy_plugin, NULL, GeanyPluginPrivate::proxy, and GeanyPluginPrivate::proxy_data.
Referenced by plugin_module_make_resident().
|
static |
Definition at line 663 of file plugins.c.
References GeanyPluginPrivate::cb_data, GeanyPluginPrivate::cb_data_destroy, GeanyPluginPrivate::cbs, EMPTY, GeanyPluginPrivate::filename, find_active_plugin_by_name(), GeanyPlugin::funcs, GeanyPlugin::geany_data, geany_data, geany_debug(), GeanyPlugin::info, GeanyPluginPrivate::info, GeanyProxyFuncs::load, PluginInfo::name, NULL, plugin_list, plugin_load(), plugin_loaded(), PLUGIN_LOADED_OK, GeanyPlugin::priv, GeanyPluginPrivate::proxy, GeanyPluginPrivate::proxy_cbs, GeanyPluginPrivate::proxy_data, GeanyPlugin::proxy_funcs, GeanyPluginPrivate::public, and GeanyProxyFuncs::unload.
Referenced by load_active_plugins(), load_plugins_from_path(), and pm_plugin_toggled().
|
static |
Definition at line 646 of file plugins.c.
References GeanyPluginPrivate::filename, NULL, and GeanyPlugin::priv.
void plugin_watch_object | ( | Plugin * | plugin, |
gpointer | object | ||
) |
Definition at line 780 of file plugins.c.
References on_object_weak_notify().
Referenced by plugin_signal_connect().
void plugins_finalize | ( | void | ) |
Definition at line 1359 of file plugins.c.
References active_plugin_list, active_plugins_pref, failed_plugins_list, NULL, and plugin_free_leaf().
Referenced by do_main_quit().
gboolean plugins_have_preferences | ( | void | ) |
Definition at line 1376 of file plugins.c.
References active_plugin_list, GeanyPluginPrivate::cbs, GeanyPluginFuncs::configure, GeanyPluginPrivate::configure_single, foreach_list, and NULL.
Referenced by on_edit1_select().
void plugins_init | ( | void | ) |
Definition at line 1325 of file plugins.c.
References active_plugins_pref, active_proxies, builtin_so_proxy, configuration_add_pref_group(), GeanyPrefs::custom_plugin_path, geany_debug(), geany_object, get_plugin_path(), group, GeanyPrefs::load_plugins, NULL, prefs, stash_group_add_entry(), stash_group_add_string_vector(), stash_group_add_toggle_button(), stash_group_new(), and update_active_plugins_pref().
Referenced by main_lib().
void plugins_load_active | ( | void | ) |
Definition at line 1257 of file plugins.c.
References _, geany_data_init(), gtk_container_add(), load_active_plugins(), main_widgets, menu_separator, NULL, on_tools_menu_show(), pm_show_dialog(), GeanyMainWidgets::tools_menu, and want_plugins.
Referenced by main_lib().
|
static |
Definition at line 1892 of file plugins.c.
References configuration_save(), dialog, PluginManagerWidgets::dialog, free_non_active_plugin(), NULL, plugin_list, PM_BUTTON_CONFIGURE, PM_BUTTON_HELP, PM_BUTTON_KEYBINDINGS, pm_on_plugin_button_clicked(), and pm_widgets.
Referenced by pm_show_dialog().
|
static |
Definition at line 1849 of file plugins.c.
References GeanyPluginPrivate::cb_data, GeanyPluginPrivate::cbs, GeanyPluginFuncs::help, GeanyPluginPrivate::info, GeanyPluginPrivate::key_group, keybindings_dialog_show_prefs_scroll(), PluginInfo::name, NULL, PLUGIN_COLUMN_PLUGIN, GeanyKeyGroup::plugin_key_count, plugin_show_configure(), PM_BUTTON_CONFIGURE, PM_BUTTON_HELP, PM_BUTTON_KEYBINDINGS, pm_widgets, GeanyPluginPrivate::public, and PluginManagerWidgets::tree.
Referenced by pm_dialog_response(), and pm_show_dialog().
|
static |
Definition at line 1486 of file plugins.c.
References active_proxies, builtin_so_proxy_plugin, GeanyPluginPrivate::filename, keybindings_load_keyfile(), keybindings_write_to_file(), load_all_plugins(), NULL, PLUGIN_COLUMN_CAN_UNCHECK, PLUGIN_COLUMN_CHECK, PLUGIN_COLUMN_PLUGIN, plugin_free(), plugin_new(), pm_populate(), pm_update_buttons(), pm_widgets, GeanyPluginPrivate::proxied_count, GeanyPluginPrivate::proxy, PluginManagerWidgets::store, and PluginManagerWidgets::tree.
Referenced by pm_prepare_treeview().
|
static |
Definition at line 1593 of file plugins.c.
References builtin_so_proxy_plugin, find_iter_for_plugin(), is_active_plugin(), list, NULL, PLUGIN_COLUMN_CAN_UNCHECK, PLUGIN_COLUMN_CHECK, PLUGIN_COLUMN_PLUGIN, plugin_list, pm_widgets, GeanyPluginPrivate::proxied_count, GeanyPluginPrivate::proxy, and PluginManagerWidgets::store.
Referenced by pm_plugin_toggled(), and pm_prepare_treeview().
|
static |
Definition at line 1797 of file plugins.c.
References _, NULL, PLUGIN_COLUMN_CAN_UNCHECK, PLUGIN_COLUMN_CHECK, PLUGIN_COLUMN_PLUGIN, pm_plugin_toggled(), pm_populate(), pm_selection_changed(), pm_tree_filter_func(), pm_tree_sort_func(), pm_treeview_button_press_cb(), pm_treeview_query_tooltip(), and pm_treeview_text_cell_data_func().
Referenced by pm_show_dialog().
|
static |
Definition at line 1449 of file plugins.c.
References NULL, PLUGIN_COLUMN_PLUGIN, and pm_update_buttons().
Referenced by pm_prepare_treeview().
|
static |
Definition at line 1920 of file plugins.c.
References _, PluginManagerWidgets::configure_button, PluginManagerWidgets::dialog, filter_entry, PluginManagerWidgets::filter_entry, geany_wrap_label_new(), gtk_container_add(), gtk_widget_show_all(), PluginManagerWidgets::help_button, PluginManagerWidgets::keybindings_button, label, load_all_plugins(), main_widgets, NULL, on_pm_tree_filter_entry_changed_cb(), on_pm_tree_filter_entry_icon_release_cb(), PLUGIN_N_COLUMNS, PM_BUTTON_CONFIGURE, PM_BUTTON_HELP, PM_BUTTON_KEYBINDINGS, pm_dialog_response(), pm_on_plugin_button_clicked(), pm_prepare_treeview(), pm_update_buttons(), pm_widgets, PluginManagerWidgets::popup_configure_menu_item, PluginManagerWidgets::popup_help_menu_item, PluginManagerWidgets::popup_keybindings_menu_item, PluginManagerWidgets::popup_menu, PluginManagerWidgets::store, PluginManagerWidgets::tree, ui_dialog_vbox_new(), ui_entry_add_clear_icon(), and GeanyMainWidgets::window.
Referenced by plugins_load_active().
|
static |
Definition at line 1758 of file plugins.c.
References PluginInfo::author, PluginInfo::description, filename, GeanyPluginPrivate::filename, PluginManagerWidgets::filter_entry, GeanyPluginPrivate::info, PluginInfo::name, NULL, PLUGIN_COLUMN_PLUGIN, pm_tree_search(), and pm_widgets.
Referenced by pm_prepare_treeview().
|
static |
Definition at line 1716 of file plugins.c.
References foreach_strv, NULL, strstr(), and utils_string_replace_all().
Referenced by pm_tree_filter_func().
|
static |
Definition at line 1701 of file plugins.c.
References GeanyPluginPrivate::info, PluginInfo::name, and PLUGIN_COLUMN_PLUGIN.
Referenced by pm_prepare_treeview().
|
static |
Definition at line 1689 of file plugins.c.
References NULL, pm_widgets, and PluginManagerWidgets::popup_menu.
Referenced by pm_prepare_treeview().
|
static |
Definition at line 1628 of file plugins.c.
References _, PluginInfo::author, PluginInfo::description, GeanyPluginPrivate::filename, GeanyPluginPrivate::info, PluginInfo::name, NULL, PLUGIN_COLUMN_CAN_UNCHECK, PLUGIN_COLUMN_PLUGIN, and PluginInfo::version.
Referenced by pm_prepare_treeview().
|
static |
Definition at line 1670 of file plugins.c.
References _, PluginInfo::description, GeanyPluginPrivate::info, PluginInfo::name, NULL, and PLUGIN_COLUMN_PLUGIN.
Referenced by pm_prepare_treeview().
|
static |
Definition at line 1426 of file plugins.c.
References GeanyPluginPrivate::cbs, GeanyPluginFuncs::configure, PluginManagerWidgets::configure_button, GeanyPluginPrivate::configure_single, GeanyPluginFuncs::help, PluginManagerWidgets::help_button, is_active_plugin(), GeanyPluginPrivate::key_group, PluginManagerWidgets::keybindings_button, NULL, GeanyKeyGroup::plugin_key_count, pm_widgets, PluginManagerWidgets::popup_configure_menu_item, PluginManagerWidgets::popup_help_menu_item, and PluginManagerWidgets::popup_keybindings_menu_item.
Referenced by pm_plugin_toggled(), pm_selection_changed(), and pm_show_dialog().
|
static |
Definition at line 150 of file plugins.c.
References NULL, GeanyPluginPrivate::proxied_count, and GeanyPluginPrivate::proxy.
Referenced by plugin_cleanup().
|
static |
Definition at line 140 of file plugins.c.
References NULL, GeanyPluginPrivate::proxied_count, and GeanyPluginPrivate::proxy.
Referenced by plugin_load().
|
static |
Definition at line 277 of file plugins.c.
References GeanyKeyGroupInfo::count, geany_debug(), GeanyPluginPrivate::info, PluginInfo::name, GeanyKeyGroupInfo::name, NULL, plugin_set_key_group(), GeanyPluginPrivate::proxy_data, and GeanyPluginPrivate::public.
Referenced by plugin_load().
|
static |
Definition at line 480 of file plugins.c.
References app, GeanyPluginFuncs::callbacks, GeanyPluginPrivate::cbs, CHECK_FUNC, GeanyPluginFuncs::cleanup, LegacyRealFuncs::cleanup, GeanyPluginFuncs::configure, LegacyRealFuncs::configure, GeanyPluginPrivate::configure_single, GeanyApp::debug_mode, GeanyPluginPrivate::flags, free_legacy_cbs(), GEANY_ABI_VERSION, geany_data, geany_plugin_set_data(), GeanyPluginFuncs::help, LegacyRealFuncs::help, GeanyPluginPrivate::info, LegacyRealFuncs::init, GeanyPluginFuncs::init, IS_LEGACY, legacy_cleanup(), legacy_configure(), legacy_help(), legacy_init(), LOADED_OK, PluginInfo::name, NULL, plugin_check_version(), and GeanyPluginPrivate::public.
Referenced by plugin_load_gmodule().
|
static |
Definition at line 786 of file plugins.c.
References foreach_array, SignalConnection::handler_id, NULL, SignalConnection::object, on_object_weak_notify(), and GeanyPluginPrivate::signal_ids.
Referenced by plugin_cleanup().
|
static |
Definition at line 869 of file plugins.c.
References GeanyDocumentPrivate::data, DOC_VALID, ForEachDocData::document, documents_array, GeanyPlugin::info, PluginInfo::name, ForEachDocData::prefix, GeanyDocument::priv, GeanyPluginPrivate::public, and remove_each_doc_data().
Referenced by plugin_cleanup().
|
static |
Definition at line 860 of file plugins.c.
References GeanyDocumentPrivate::data, ForEachDocData::document, ForEachDocData::prefix, and GeanyDocument::priv.
Referenced by remove_doc_data().
|
static |
Definition at line 804 of file plugins.c.
References NULL, and GeanyPluginPrivate::sources.
Referenced by plugin_cleanup().
|
static |
Definition at line 944 of file plugins.c.
References active_proxies, foreach_list_safe, and PluginProxy::plugin.
Referenced by plugin_free().
|
static |
Definition at line 1284 of file plugins.c.
References active_plugin_list, active_plugins_pref, count, failed_plugins_list, GeanyPluginPrivate::filename, list, NULL, and want_plugins.
Referenced by plugins_init().
GList* active_plugin_list = NULL |
Definition at line 69 of file plugins.c.
Referenced by configure_plugins(), find_active_plugin_by_name(), is_active_plugin(), plugin_free(), plugin_load(), plugin_loaded(), plugins_finalize(), plugins_have_preferences(), and update_active_plugins_pref().
|
static |
Definition at line 77 of file plugins.c.
Referenced by load_active_plugins(), plugins_finalize(), plugins_init(), and update_active_plugins_pref().
|
static |
Definition at line 107 of file plugins.c.
Referenced by geany_plugin_register_proxy(), is_plugin(), load_active_plugins(), plugins_init(), pm_plugin_toggled(), and unregister_proxy().
|
static |
Definition at line 102 of file plugins.c.
Referenced by plugins_init().
|
static |
Definition at line 94 of file plugins.c.
Referenced by cmp_plugin_by_proxy(), plugin_get_module_symbol(), plugin_load(), plugin_make_resident(), pm_plugin_toggled(), and pm_populate().
|
static |
Definition at line 78 of file plugins.c.
Referenced by load_active_plugins(), plugins_finalize(), and update_active_plugins_pref().
|
static |
Definition at line 111 of file plugins.c.
Referenced by geany_data_init(), plugin_new(), and register_legacy_plugin().
|
static |
Definition at line 80 of file plugins.c.
Referenced by on_tools_menu_show(), and plugins_load_active().
|
static |
Definition at line 76 of file plugins.c.
Referenced by free_subplugins(), load_all_plugins(), plugin_free(), plugin_loaded(), plugin_new(), pm_dialog_response(), and pm_populate().
|
static |
Definition at line 1423 of file plugins.c.
Referenced by on_pm_tree_filter_entry_changed_cb(), pm_dialog_response(), pm_on_plugin_button_clicked(), pm_plugin_toggled(), pm_populate(), pm_show_dialog(), pm_tree_filter_func(), pm_treeview_button_press_cb(), and pm_update_buttons().
|
static |
Definition at line 72 of file plugins.c.
Referenced by plugins_load_active(), and update_active_plugins_pref().