summaryrefslogtreecommitdiff
path: root/testing/toxic/friendlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'testing/toxic/friendlist.c')
-rw-r--r--testing/toxic/friendlist.c25
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
15extern char WINDOW_STATUS[TOXWINDOWS_MAX_NUM]; 15static delWindowFn *del_window;
16extern int add_window(Messenger *m, ToxWindow w, int n); 16static setActiveWindowFn *set_active_window;
17extern ToxWindow new_chat(Messenger *m, int friendnum); 17static addWindowFn *add_window;
18 18static char * WINDOW_STATUS;
19extern int active_window;
20 19
21typedef struct { 20typedef 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
172ToxWindow new_friendlist() { 169ToxWindow 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