]> cgit.babelmonkeys.de Git - jubjub.git/blobdiff - src/gui/gtk/JubGtkRosterUI.m
Move presence changing to JubChatClient
[jubjub.git] / src / gui / gtk / JubGtkRosterUI.m
index ac74a33aae1e44f23041bb4cf49886a4112a9691..c18f0074044b1dbd405d151981c78c88ef1e0fe9 100644 (file)
@@ -37,21 +37,11 @@ static void roster_row_activated(GtkTreeView *tree_view, GtkTreePath *path,
 
 static void presence_changed(GtkComboBox *combo_box, gpointer data)
 {
-       XMPPPresence *pres;
-       XMPPConnection *connection = data;
+       JubChatClient *client = data;
        OFAutoreleasePool *pool = [OFAutoreleasePool new];
-
        const char *status = gtk_combo_box_get_active_id(combo_box);
 
-       if (!strcmp(status, "unavailable"))
-               pres = [XMPPPresence presenceWithType: @"unavailable"];
-       else {
-               pres = [XMPPPresence presence];
-               if (strcmp(status, "available"))
-                       [pres setShow: @(status)];
-       }
-
-       [connection sendStanza: pres];
+       [client sendPresenceWithStatus: @(status)];
 
        [pool release];
 }
@@ -118,7 +108,7 @@ static gboolean filter_roster_by_presence(GtkTreeModel *model,
 
                _presence_combo_changed_handler_id =
                    g_signal_connect(_presence_combo, "changed",
-                       G_CALLBACK(presence_changed), client.connection);
+                       G_CALLBACK(presence_changed), client);
 
                g_object_unref(G_OBJECT(builder));
        } @catch (id e) {