diff options
Diffstat (limited to 'testing/toxic/friendlist.c')
-rw-r--r-- | testing/toxic/friendlist.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/testing/toxic/friendlist.c b/testing/toxic/friendlist.c index 1a77440e..5b79fdef 100644 --- a/testing/toxic/friendlist.c +++ b/testing/toxic/friendlist.c | |||
@@ -10,13 +10,12 @@ | |||
10 | #include "../../core/Messenger.h" | 10 | #include "../../core/Messenger.h" |
11 | #include "../../core/network.h" | 11 | #include "../../core/network.h" |
12 | 12 | ||
13 | #include "windows.h" | 13 | #include "friendlist.h" |
14 | 14 | ||
15 | extern char WINDOW_STATUS[TOXWINDOWS_MAX_NUM]; | 15 | static delWindowFn *del_window; |
16 | extern int add_window(Messenger *m, ToxWindow w, int n); | 16 | static setActiveWindowFn *set_active_window; |
17 | extern ToxWindow new_chat(Messenger *m, int friendnum); | 17 | static addWindowFn *add_window; |
18 | 18 | static char * WINDOW_STATUS; | |
19 | extern int active_window; | ||
20 | 19 | ||
21 | typedef struct { | 20 | typedef struct { |
22 | uint8_t name[MAX_NAME_LENGTH]; | 21 | uint8_t name[MAX_NAME_LENGTH]; |
@@ -54,8 +53,7 @@ void friendlist_onMessage(ToxWindow *self, Messenger *m, int num, uint8_t *str, | |||
54 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { | 53 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { |
55 | if (WINDOW_STATUS[i] == -1) { | 54 | if (WINDOW_STATUS[i] == -1) { |
56 | WINDOW_STATUS[i] = num; | 55 | WINDOW_STATUS[i] = num; |
57 | add_window(m, new_chat(m, num), i); | 56 | add_window(m, new_chat(m, num, del_window), i); |
58 | active_window = i; | ||
59 | break; | 57 | break; |
60 | } | 58 | } |
61 | } | 59 | } |
@@ -111,7 +109,7 @@ static void friendlist_onKey(ToxWindow *self, Messenger *m, int key) | |||
111 | int i; | 109 | int i; |
112 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { | 110 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { |
113 | if (WINDOW_STATUS[i] == num_selected) { | 111 | if (WINDOW_STATUS[i] == num_selected) { |
114 | active_window = i; | 112 | set_active_window(i); |
115 | break; | 113 | break; |
116 | } | 114 | } |
117 | } | 115 | } |
@@ -121,8 +119,7 @@ static void friendlist_onKey(ToxWindow *self, Messenger *m, int key) | |||
121 | if (WINDOW_STATUS[i] == -1) { | 119 | if (WINDOW_STATUS[i] == -1) { |
122 | WINDOW_STATUS[i] = num_selected; | 120 | WINDOW_STATUS[i] = num_selected; |
123 | friends[num_selected].chatwin = num_selected; | 121 | friends[num_selected].chatwin = num_selected; |
124 | add_window(m, new_chat(m, num_selected), i); | 122 | add_window(m, new_chat(m, num_selected, del_window), i); |
125 | active_window = i; | ||
126 | break; | 123 | break; |
127 | } | 124 | } |
128 | } | 125 | } |
@@ -169,7 +166,11 @@ static void friendlist_onInit(ToxWindow *self, Messenger *m) | |||
169 | 166 | ||
170 | } | 167 | } |
171 | 168 | ||
172 | ToxWindow new_friendlist() { | 169 | ToxWindow new_friendlist(delWindowFn dw, setActiveWindowFn saw, addWindowFn aw, char * ws) { |
170 | del_window = dw; | ||
171 | set_active_window = saw; | ||
172 | add_window = aw; | ||
173 | WINDOW_STATUS = ws; | ||
173 | ToxWindow ret; | 174 | ToxWindow ret; |
174 | memset(&ret, 0, sizeof(ret)); | 175 | memset(&ret, 0, sizeof(ret)); |
175 | 176 | ||