static void remove_chat (InfcBrowser *browser, GeditCollaborationWindowHelper *helper) { GtkWidget *chat; GeditPanel *panel; InfXmlConnection *connection; InfcSessionProxy *proxy; proxy = infc_browser_get_chat_session (browser); if (proxy != NULL) { InfSession *session; session = infc_session_proxy_get_session (proxy); inf_session_close (session); } connection = infc_browser_get_connection (browser); chat = GTK_WIDGET (g_object_get_data (G_OBJECT (connection), CHAT_DATA_KEY)); if (chat != NULL) { panel = gedit_window_get_bottom_panel (helper->priv->window); gedit_panel_remove_item (panel, chat); g_object_set_data (G_OBJECT (connection), CHAT_DATA_KEY, NULL); } }
void _gedit_cmd_view_show_bottom_pane (GtkAction *action, GeditWindow *window) { gboolean visible; GeditPanel *panel; gedit_debug (DEBUG_COMMANDS); visible = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); panel = gedit_window_get_bottom_panel (window); if (visible) { gtk_widget_show (GTK_WIDGET (panel)); gtk_widget_grab_focus (GTK_WIDGET (panel)); } else { gtk_widget_hide (GTK_WIDGET (panel)); } }
static void sync_completed (InfSession *session, InfXmlConnection *connection, gpointer data) { ChatData *cdata = (ChatData *)data; GeditPanel *panel; GeditCollaborationBookmark *bookmark; GeditCollaborationUser *user; GtkWidget *image; GtkWidget *hpaned; GtkWidget *sw; GtkWidget *tree_view; GeditCollaborationUserStore *store; InfUserTable *user_table; gchar *chat_name; g_signal_handlers_disconnect_by_func (session, G_CALLBACK (sync_failed), data); g_signal_handlers_disconnect_by_func (session, G_CALLBACK (sync_completed), data); bookmark = g_object_get_data (G_OBJECT (connection), BOOKMARK_DATA_KEY); if (bookmark) { user = gedit_collaboration_bookmark_get_user (bookmark); } else { user = gedit_collaboration_user_get_default (); } chat_name = get_chat_name (cdata->helper, connection); hpaned = gtk_hpaned_new (); gtk_widget_show (hpaned); gtk_paned_pack1 (GTK_PANED (hpaned), cdata->chat, TRUE, TRUE); gtk_widget_show (cdata->chat); build_user_view (cdata->helper, &tree_view, &sw, FALSE); gtk_widget_show (sw); user_table = inf_session_get_user_table (session); store = gedit_collaboration_user_store_new (user_table, FALSE); gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (store)); gtk_paned_pack2 (GTK_PANED (hpaned), sw, TRUE, TRUE); panel = gedit_window_get_bottom_panel (cdata->helper->priv->window); image = create_collaboration_image (cdata->helper); gedit_panel_add_item (panel, hpaned, "GeditCollaborationChat", chat_name ? chat_name : _("Chat"), image); g_object_set_data (G_OBJECT (connection), CHAT_DATA_KEY, hpaned); cdata->user = gedit_collaboration_user_get_name (user); g_free (chat_name); request_join (cdata, cdata->user); }