? chat_connection_state.patch
? edit_and_rename_groups.patch3
? edit_and_rename_groups.patch4
? log_nick.patch
? subscription.patch2
? subscription.patch3
Index: libgossip/gossip-session.c
===================================================================
RCS file: /cvs/gnome/gossip/libgossip/gossip-session.c,v
retrieving revision 1.13
diff -u -b -B -p -r1.13 gossip-session.c
--- libgossip/gossip-session.c	30 Apr 2005 22:15:16 -0000	1.13
+++ libgossip/gossip-session.c	4 May 2005 20:34:49 -0000
@@ -303,6 +303,9 @@ session_protocol_logged_in (GossipProtoc
 
 	/* Update some status? */
 	g_signal_emit (session, signals[PROTOCOL_CONNECTED], 0, protocol);
+
+	/* For now, we currently only have one protocol */
+	g_signal_emit (session, signals[CONNECTED], 0);
 }
 
 static void
Index: protocols/jabber/gossip-jabber.c
===================================================================
RCS file: /cvs/gnome/gossip/protocols/jabber/gossip-jabber.c,v
retrieving revision 1.25
diff -u -b -B -p -r1.25 gossip-jabber.c
--- protocols/jabber/gossip-jabber.c	30 Apr 2005 22:15:17 -0000	1.25
+++ protocols/jabber/gossip-jabber.c	4 May 2005 20:34:51 -0000
@@ -386,8 +386,6 @@ jabber_logout (GossipProtocol *protocol)
 
 	if (lm_connection_is_open (priv->connection)) {
 		lm_connection_close (priv->connection, NULL);
-
-		jabber_signal_logged_out (jabber);
 	}
 }
 
Index: src/gossip-group-chat.c
===================================================================
RCS file: /cvs/gnome/gossip/src/gossip-group-chat.c,v
retrieving revision 1.37
diff -u -b -B -p -r1.37 gossip-group-chat.c
--- src/gossip-group-chat.c	30 Apr 2005 14:54:28 -0000	1.37
+++ src/gossip-group-chat.c	4 May 2005 20:34:52 -0000
@@ -89,6 +89,10 @@ static void             group_chat_widge
 								 GossipGroupChat   *chat);
 static void             group_chats_init                        (void);
 static void             group_chat_create_gui                   (GossipGroupChat   *chat);
+static void             group_chat_connected_cb                 (GossipSession     *session, 
+								 GossipGroupChat   *chat);
+static void             group_chat_disconnected_cb              (GossipSession     *session, 
+								 GossipGroupChat   *chat);
 static void             group_chat_send                         (GossipGroupChat   *chat,
 								 const gchar       *msg);
 static void             group_chat_row_activated_cb             (GtkTreeView       *view,
@@ -422,12 +426,44 @@ gossip_group_chat_show (GossipChatroomPr
 			  G_CALLBACK (group_chat_contact_updated_cb),
 			  chat);
 
+
+	g_signal_connect_object (gossip_app_get_session (),
+				 "connected",
+				 G_CALLBACK (group_chat_connected_cb),
+				 chat, 0);
+
+	g_signal_connect_object (gossip_app_get_session (),
+				 "disconnected",
+				 G_CALLBACK (group_chat_disconnected_cb),
+				 chat, 0);
+
 	priv->provider = provider;
 	
 	gossip_chat_present (GOSSIP_CHAT (chat));
 
 	return chat;
 }
+
+static void
+group_chat_connected_cb (GossipSession *session, GossipGroupChat *chat)
+{
+ 	g_return_if_fail (GOSSIP_IS_GROUP_CHAT (chat)); 
+
+ 	gtk_widget_set_sensitive (GOSSIP_CHAT (chat)->input_text_view, TRUE); 
+
+ 	gossip_chat_view_append_event_message (GOSSIP_CHAT (chat)->view, _("Connected"), TRUE); 
+}
+
+static void
+group_chat_disconnected_cb (GossipSession *session, GossipGroupChat *chat)
+{
+ 	g_return_if_fail (GOSSIP_IS_GROUP_CHAT (chat)); 
+
+ 	gtk_widget_set_sensitive (GOSSIP_CHAT (chat)->input_text_view, FALSE); 
+
+ 	gossip_chat_view_append_event_message (GOSSIP_CHAT (chat)->view, _("Disconnected"), TRUE); 
+}
+
 
 static void
 group_chat_send (GossipGroupChat *chat, const gchar *msg)
