1
0
mirror of https://github.com/Tha14/toxic.git synced 2025-12-07 02:26:35 +01:00

remove WINDOW_STATUS, simplify adding and selecting chat windows

This commit is contained in:
Aaron Lipinski
2013-08-17 20:00:19 +12:00
parent 5d8ccde3d9
commit 61b72daf6a
6 changed files with 69 additions and 133 deletions

View File

@@ -13,7 +13,6 @@
#include "windows.h"
#include "friendlist.h"
static char *WINDOW_STATUS;
typedef struct {
uint8_t name[MAX_NAME_LENGTH];
@@ -48,17 +47,7 @@ void friendlist_onMessage(ToxWindow *self, Messenger *m, int num, uint8_t *str,
return;
if (friends[num].chatwin == -1) {
friends[num].chatwin = num;
int i;
/* Find first open slot to hold chat window */
for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) {
if (WINDOW_STATUS[i] == -1) {
WINDOW_STATUS[i] = num;
add_window(m, new_chat(m, num), i);
break;
}
}
friends[num].chatwin = add_window(m, new_chat(m, num));
}
}
@@ -106,25 +95,9 @@ static void friendlist_onKey(ToxWindow *self, Messenger *m, int key)
} else if (key == '\n') {
/* Jump to chat window if already open */
if (friends[num_selected].chatwin != -1) {
int i;
for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) {
if (WINDOW_STATUS[i] == num_selected) {
set_active_window(i);
break;
}
}
set_active_window(friends[num_selected].chatwin);
} else {
int i;
for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) {
if (WINDOW_STATUS[i] == -1) {
WINDOW_STATUS[i] = num_selected;
friends[num_selected].chatwin = num_selected;
add_window(m, new_chat(m, num_selected), i);
break;
}
}
friends[num_selected].chatwin = add_window(m, new_chat(m, num_selected));
}
}
}
@@ -172,9 +145,8 @@ static void friendlist_onInit(ToxWindow *self, Messenger *m)
}
ToxWindow new_friendlist(char *ws)
ToxWindow new_friendlist()
{
WINDOW_STATUS = ws;
ToxWindow ret;
memset(&ret, 0, sizeof(ret));