]> cgit.babelmonkeys.de Git - jubjub.git/blob - src/gui/gtk/JubGtkUI.m
Prefix ivars with an underscore
[jubjub.git] / src / gui / gtk / JubGtkUI.m
1 #import <ObjXMPP/ObjXMPP.h>
2 #include <gtk/gtk.h>
3
4 #import "JubGtkUI.h"
5 #import "JubGtkChatUI.h"
6 #import "JubGtkRosterUI.h"
7
8 void on_roster_window_destroy(GObject *object, gpointer user_data)
9 {
10         gtk_main_quit();
11 }
12
13 @implementation JubGtkUI
14 - initWithClient: (JubChatClient*)client;
15 {
16         self = [super init];
17
18         @try {
19                 int *argc;
20                 char ***argv;
21
22                 [[OFApplication sharedApplication] getArgumentCount: &argc
23                                                   andArgumentValues: &argv];
24
25                 gtk_init(argc, argv);
26
27                 _rosterUI = [[JubGtkRosterUI alloc]
28                     initWithClient: client];
29         } @catch (id e) {
30                 [self release];
31                 @throw e;
32         }
33
34         return self;
35 }
36
37 - (void)dealloc
38 {
39         [_rosterUI release];
40
41         [super dealloc];
42 }
43
44 - (void)startUIThread
45 {
46         [[OFThread threadWithBlock: ^(void){
47                 gtk_main();
48                 [OFApplication terminate];
49
50                 return nil;
51         }] start];
52 }
53
54 - (Class)chatUIClass
55 {
56         return [JubGtkChatUI class];
57 }
58
59 -      (void)client: (JubChatClient*)client
60   didChangePresence: (XMPPPresence*)presence
61 {
62         [_rosterUI   client: client
63           didChangePresence: presence];
64 }
65 @end