X-Git-Url: http://cgit.babelmonkeys.de/?a=blobdiff_plain;f=src%2Fgui%2Fgtk%2FJubGtkUI.m;h=144a3215a6bb9b7a3139694e1542ddc28969f678;hb=HEAD;hp=b6110f4ea6d0d45912ac23e196b50c4b1db5446a;hpb=77e1d677232eeab371a8ac2da1e542bc62bbaea6;p=jubjub.git diff --git a/src/gui/gtk/JubGtkUI.m b/src/gui/gtk/JubGtkUI.m index b6110f4..144a321 100644 --- a/src/gui/gtk/JubGtkUI.m +++ b/src/gui/gtk/JubGtkUI.m @@ -2,6 +2,7 @@ #include #import "JubGtkUI.h" +#import "JubGtkChatUI.h" #import "JubGtkRosterUI.h" void on_roster_window_destroy(GObject *object, gpointer user_data) @@ -10,7 +11,7 @@ void on_roster_window_destroy(GObject *object, gpointer user_data) } @implementation JubGtkUI -- initWithConnection: (XMPPConnection*)connection +- initWithClient: (JubChatClient*)client; { self = [super init]; @@ -23,8 +24,8 @@ void on_roster_window_destroy(GObject *object, gpointer user_data) gtk_init(argc, argv); - rosterUI = [[JubGtkRosterUI alloc] - initWithConnection: connection]; + _rosterUI = [[JubGtkRosterUI alloc] + initWithClient: client]; } @catch (id e) { [self release]; @throw e; @@ -35,14 +36,14 @@ void on_roster_window_destroy(GObject *object, gpointer user_data) - (void)dealloc { - [rosterUI release]; + [_rosterUI release]; [super dealloc]; } - (void)startUIThread { - [[OFThread threadWithBlock: ^(void){ + [[OFThread threadWithThreadBlock: ^(void){ gtk_main(); [OFApplication terminate]; @@ -50,8 +51,15 @@ void on_roster_window_destroy(GObject *object, gpointer user_data) }] start]; } -- (id)rosterDelegate +- (Class)chatUIClass { - return rosterUI; + return [JubGtkChatUI class]; +} + +- (void)client: (JubChatClient*)client + didChangePresence: (XMPPPresence*)presence +{ + [_rosterUI client: client + didChangePresence: presence]; } @end