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 on_tab_removed (PlumaWindow *window, PlumaTab *tab, PlumaPlugin *plugin) { PlumaDocument *doc; PlumaView *view; doc = pluma_tab_get_document (tab); view = pluma_tab_get_view (tab); g_signal_handlers_disconnect_by_func (doc, on_document_loaded, view); g_signal_handlers_disconnect_by_func (doc, on_document_saved, view); disable_bookmarks (view); }
static void on_tab_removed (GeditWindow *window, GeditTab *tab, GeditPlugin *plugin) { GeditDocument *doc; GeditView *view; doc = gedit_tab_get_document (tab); view = gedit_tab_get_view (tab); g_signal_handlers_disconnect_by_func (doc, on_document_loaded, view); g_signal_handlers_disconnect_by_func (doc, on_document_saved, view); disable_bookmarks (view); }