static void on_session_switch (GSQLSession *session, gpointer user_data) { GSQL_TRACE_FUNC; GSQLSession *current; GSQLEOracleSession *spec_session; GtkWidget *widget; GtkAction *act; g_return_if_fail (GSQL_IS_SESSION (session)); current = gsql_session_get_active (); if (current == session) { gsql_engine_menu_set_status (session->engine, TRUE); spec_session = session->spec; widget = gsql_menu_get_widget ("/MenuMain/PHolderEngines/MenuOracle/OracleServerOutput"); act = gtk_action_group_get_action (session->engine->action, "OracleActionServerOutput"); gtk_action_block_activate_from (act, widget); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), spec_session->dbms_output); gtk_action_unblock_activate_from (act, widget); GSQL_DEBUG ("Oracle engine. Yes, It is mine"); } else { gsql_engine_menu_set_status (session->engine, FALSE); GSQL_DEBUG ("Oracle engine. No, It is not mine"); } }
static VALUE rg_unblock_activate_from(VALUE self, VALUE proxy) { gtk_action_unblock_activate_from(_SELF(self), RVAL2WIDGET(proxy)); return self; }