static void impl_deactivate (PlumaPlugin *plugin, PlumaWindow *window) { WindowData *data; GList *views; GList *item; pluma_debug (DEBUG_PLUGINS); uninstall_menu (window); uninstall_messages (window); views = pluma_window_get_views (window); for (item = views; item != NULL; item = item->next) { disable_bookmarks (PLUMA_VIEW (item->data)); } g_list_free (views); data = BOOKMARKS_DATA (window); g_return_if_fail (data != NULL); g_signal_handlers_disconnect_by_func (window, on_tab_added, plugin); g_signal_handlers_disconnect_by_func (window, on_tab_removed, plugin); g_object_set_data (G_OBJECT (window), WINDOW_DATA_KEY, NULL); }
static void impl_activate (PlumaPlugin *plugin, PlumaWindow *window) { WindowData *data; GList *views; GList *item; pluma_debug (DEBUG_PLUGINS); data = g_slice_new (WindowData); g_object_set_data_full (G_OBJECT (window), WINDOW_DATA_KEY, data, (GDestroyNotify) free_window_data); views = pluma_window_get_views (window); for (item = views; item != NULL; item = item->next) { enable_bookmarks (PLUMA_VIEW (item->data), plugin); load_bookmark_metadata (PLUMA_VIEW (item->data)); } g_list_free (views); g_signal_connect (window, "tab-added", G_CALLBACK (on_tab_added), plugin); g_signal_connect (window, "tab-removed", G_CALLBACK (on_tab_removed), plugin); install_menu (window); install_messages (window); }
static void draw_spaces_in_window (PlumaWindow *window, PlumaDrawspacesPlugin *plugin) { GList *views, *l; WindowData *data; data = (WindowData *) g_object_get_data (G_OBJECT (window), WINDOW_DATA_KEY); g_return_if_fail (data != NULL); views = pluma_window_get_views (window); for (l = views; l != NULL; l = g_list_next (l)) { gtk_source_view_set_draw_spaces (GTK_SOURCE_VIEW (l->data), data->enable ? plugin->priv->flags : 0); } g_list_free (views); }