diff options
author | irungentoo <irungentoo@gmail.com> | 2013-08-16 13:11:09 -0400 |
---|---|---|
committer | irungentoo <irungentoo@gmail.com> | 2013-08-16 13:11:09 -0400 |
commit | 88ff81d9def5efe69cbaf91aa41906177ba7dde9 (patch) | |
tree | cb9f149e438bcd1f18d8c1eb5d8be6b0a22f58a4 /testing/toxic/friendlist.c | |
parent | c5af8f44a9d040a0bbe0442ec074d9fc8562dd32 (diff) |
Passed everything through astyle.
Diffstat (limited to 'testing/toxic/friendlist.c')
-rw-r--r-- | testing/toxic/friendlist.c | 241 |
1 files changed, 125 insertions, 116 deletions
diff --git a/testing/toxic/friendlist.c b/testing/toxic/friendlist.c index e7504fbf..c85fd3ae 100644 --- a/testing/toxic/friendlist.c +++ b/testing/toxic/friendlist.c | |||
@@ -13,13 +13,13 @@ | |||
13 | #include "windows.h" | 13 | #include "windows.h" |
14 | #include "friendlist.h" | 14 | #include "friendlist.h" |
15 | 15 | ||
16 | static char * WINDOW_STATUS; | 16 | static char *WINDOW_STATUS; |
17 | 17 | ||
18 | typedef struct { | 18 | typedef struct { |
19 | uint8_t name[MAX_NAME_LENGTH]; | 19 | uint8_t name[MAX_NAME_LENGTH]; |
20 | uint8_t status[MAX_STATUSMESSAGE_LENGTH]; | 20 | uint8_t status[MAX_STATUSMESSAGE_LENGTH]; |
21 | int num; | 21 | int num; |
22 | int chatwin; | 22 | int chatwin; |
23 | } friend_t; | 23 | } friend_t; |
24 | 24 | ||
25 | static friend_t friends[MAX_FRIENDS_NUM]; | 25 | static friend_t friends[MAX_FRIENDS_NUM]; |
@@ -28,135 +28,143 @@ static int num_selected = 0; | |||
28 | 28 | ||
29 | void fix_name(uint8_t *name) | 29 | void fix_name(uint8_t *name) |
30 | { | 30 | { |
31 | /* Remove all non alphanumeric characters */ | 31 | /* Remove all non alphanumeric characters */ |
32 | uint8_t *p = name; | 32 | uint8_t *p = name; |
33 | uint8_t *q = name; | 33 | uint8_t *q = name; |
34 | while(*p != 0) { | 34 | |
35 | if (isprint(*p)) | 35 | while (*p != 0) { |
36 | *q++ = *p; | 36 | if (isprint(*p)) |
37 | p++; | 37 | *q++ = *p; |
38 | } | 38 | |
39 | *q = 0; | 39 | p++; |
40 | } | ||
41 | |||
42 | *q = 0; | ||
40 | } | 43 | } |
41 | 44 | ||
42 | void friendlist_onMessage(ToxWindow *self, Messenger *m, int num, uint8_t *str, uint16_t len) | 45 | void friendlist_onMessage(ToxWindow *self, Messenger *m, int num, uint8_t *str, uint16_t len) |
43 | { | 46 | { |
44 | if (num >= num_friends) | 47 | if (num >= num_friends) |
45 | return; | 48 | return; |
46 | 49 | ||
47 | if (friends[num].chatwin == -1) { | 50 | if (friends[num].chatwin == -1) { |
48 | friends[num].chatwin = num; | 51 | friends[num].chatwin = num; |
49 | int i; | 52 | int i; |
50 | /* Find first open slot to hold chat window */ | 53 | |
51 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { | 54 | /* Find first open slot to hold chat window */ |
52 | if (WINDOW_STATUS[i] == -1) { | 55 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { |
53 | WINDOW_STATUS[i] = num; | 56 | if (WINDOW_STATUS[i] == -1) { |
54 | add_window(m, new_chat(m, num), i); | 57 | WINDOW_STATUS[i] = num; |
55 | break; | 58 | add_window(m, new_chat(m, num), i); |
56 | } | 59 | break; |
60 | } | ||
61 | } | ||
57 | } | 62 | } |
58 | } | ||
59 | } | 63 | } |
60 | 64 | ||
61 | void friendlist_onNickChange(ToxWindow *self, int num, uint8_t *str, uint16_t len) | 65 | void friendlist_onNickChange(ToxWindow *self, int num, uint8_t *str, uint16_t len) |
62 | { | 66 | { |
63 | if (len >= MAX_NAME_LENGTH || num >= num_friends) | 67 | if (len >= MAX_NAME_LENGTH || num >= num_friends) |
64 | return; | 68 | return; |
65 | 69 | ||
66 | memcpy((char*) &friends[num].name, (char*) str, len); | 70 | memcpy((char *) &friends[num].name, (char *) str, len); |
67 | friends[num].name[len] = 0; | 71 | friends[num].name[len] = 0; |
68 | fix_name(friends[num].name); | 72 | fix_name(friends[num].name); |
69 | } | 73 | } |
70 | 74 | ||
71 | void friendlist_onStatusChange(ToxWindow *self, int num, uint8_t *str, uint16_t len) | 75 | void friendlist_onStatusChange(ToxWindow *self, int num, uint8_t *str, uint16_t len) |
72 | { | 76 | { |
73 | if (len >= MAX_STATUSMESSAGE_LENGTH || num >= num_friends) | 77 | if (len >= MAX_STATUSMESSAGE_LENGTH || num >= num_friends) |
74 | return; | 78 | return; |
75 | 79 | ||
76 | memcpy((char*) &friends[num].status, (char*) str, len); | 80 | memcpy((char *) &friends[num].status, (char *) str, len); |
77 | friends[num].status[len] = 0; | 81 | friends[num].status[len] = 0; |
78 | fix_name(friends[num].status); | 82 | fix_name(friends[num].status); |
79 | } | 83 | } |
80 | 84 | ||
81 | int friendlist_onFriendAdded(Messenger *m, int num) | 85 | int friendlist_onFriendAdded(Messenger *m, int num) |
82 | { | 86 | { |
83 | if (num_friends == MAX_FRIENDS_NUM) | 87 | if (num_friends == MAX_FRIENDS_NUM) |
84 | return -1; | 88 | return -1; |
85 | 89 | ||
86 | friends[num_friends].num = num; | 90 | friends[num_friends].num = num; |
87 | getname(m, num, friends[num_friends].name); | 91 | getname(m, num, friends[num_friends].name); |
88 | strcpy((char*) friends[num_friends].name, "unknown"); | 92 | strcpy((char *) friends[num_friends].name, "unknown"); |
89 | strcpy((char*) friends[num_friends].status, "unknown"); | 93 | strcpy((char *) friends[num_friends].status, "unknown"); |
90 | friends[num_friends++].chatwin = -1; | 94 | friends[num_friends++].chatwin = -1; |
91 | return 0; | 95 | return 0; |
92 | } | 96 | } |
93 | 97 | ||
94 | static void friendlist_onKey(ToxWindow *self, Messenger *m, int key) | 98 | static void friendlist_onKey(ToxWindow *self, Messenger *m, int key) |
95 | { | 99 | { |
96 | if (key == KEY_UP) { | 100 | if (key == KEY_UP) { |
97 | if (--num_selected < 0) | 101 | if (--num_selected < 0) |
98 | num_selected = num_friends-1; | 102 | num_selected = num_friends - 1; |
99 | } | 103 | } else if (key == KEY_DOWN) { |
100 | else if (key == KEY_DOWN) { | 104 | if (num_friends != 0) |
101 | if (num_friends != 0) | 105 | num_selected = (num_selected + 1) % num_friends; |
102 | num_selected = (num_selected+1) % num_friends; | 106 | } else if (key == '\n') { |
103 | } | 107 | /* Jump to chat window if already open */ |
104 | else if (key == '\n') { | 108 | if (friends[num_selected].chatwin != -1) { |
105 | /* Jump to chat window if already open */ | 109 | int i; |
106 | if (friends[num_selected].chatwin != -1) { | 110 | |
107 | int i; | 111 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { |
108 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { | 112 | if (WINDOW_STATUS[i] == num_selected) { |
109 | if (WINDOW_STATUS[i] == num_selected) { | 113 | set_active_window(i); |
110 | set_active_window(i); | 114 | break; |
111 | break; | 115 | } |
112 | } | 116 | } |
113 | } | 117 | } else { |
114 | }else { | 118 | int i; |
115 | int i; | 119 | |
116 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { | 120 | for (i = N_DEFAULT_WINS; i < MAX_WINDOW_SLOTS; ++i) { |
117 | if (WINDOW_STATUS[i] == -1) { | 121 | if (WINDOW_STATUS[i] == -1) { |
118 | WINDOW_STATUS[i] = num_selected; | 122 | WINDOW_STATUS[i] = num_selected; |
119 | friends[num_selected].chatwin = num_selected; | 123 | friends[num_selected].chatwin = num_selected; |
120 | add_window(m, new_chat(m, num_selected), i); | 124 | add_window(m, new_chat(m, num_selected), i); |
121 | break; | 125 | break; |
126 | } | ||
127 | } | ||
122 | } | 128 | } |
123 | } | ||
124 | } | 129 | } |
125 | } | ||
126 | } | 130 | } |
127 | 131 | ||
128 | static void friendlist_onDraw(ToxWindow *self) | 132 | static void friendlist_onDraw(ToxWindow *self) |
129 | { | 133 | { |
130 | curs_set(0); | 134 | curs_set(0); |
131 | werase(self->window); | 135 | werase(self->window); |
132 | if (num_friends == 0) { | 136 | |
133 | wprintw(self->window, "Empty. Add some friends! :-)\n"); | 137 | if (num_friends == 0) { |
134 | } | 138 | wprintw(self->window, "Empty. Add some friends! :-)\n"); |
135 | else { | 139 | } else { |
136 | wattron(self->window, COLOR_PAIR(2) | A_BOLD); | 140 | wattron(self->window, COLOR_PAIR(2) | A_BOLD); |
137 | wprintw(self->window, "Open chat with.. (up/down keys, enter)\n"); | 141 | wprintw(self->window, "Open chat with.. (up/down keys, enter)\n"); |
138 | wattroff(self->window, COLOR_PAIR(2) | A_BOLD); | 142 | wattroff(self->window, COLOR_PAIR(2) | A_BOLD); |
139 | } | 143 | } |
140 | 144 | ||
141 | wprintw(self->window, "\n"); | 145 | wprintw(self->window, "\n"); |
142 | int i; | 146 | int i; |
143 | for (i = 0; i < num_friends; ++i) { | 147 | |
144 | if (i == num_selected) wattron(self->window, COLOR_PAIR(3)); | 148 | for (i = 0; i < num_friends; ++i) { |
145 | wprintw(self->window, " [#%d] ", friends[i].num); | 149 | if (i == num_selected) wattron(self->window, COLOR_PAIR(3)); |
146 | if (i == num_selected) wattroff(self->window, COLOR_PAIR(3)); | 150 | |
147 | 151 | wprintw(self->window, " [#%d] ", friends[i].num); | |
148 | attron(A_BOLD); | 152 | |
149 | wprintw(self->window, "%s ", friends[i].name); | 153 | if (i == num_selected) wattroff(self->window, COLOR_PAIR(3)); |
150 | attroff(A_BOLD); | 154 | |
151 | 155 | attron(A_BOLD); | |
152 | wprintw(self->window, "(%s)\n", friends[i].status); | 156 | wprintw(self->window, "%s ", friends[i].name); |
153 | } | 157 | attroff(A_BOLD); |
154 | wrefresh(self->window); | 158 | |
159 | wprintw(self->window, "(%s)\n", friends[i].status); | ||
160 | } | ||
161 | |||
162 | wrefresh(self->window); | ||
155 | } | 163 | } |
156 | 164 | ||
157 | void disable_chatwin(int f_num) | 165 | void disable_chatwin(int f_num) |
158 | { | 166 | { |
159 | friends[f_num].chatwin = -1; | 167 | friends[f_num].chatwin = -1; |
160 | } | 168 | } |
161 | 169 | ||
162 | static void friendlist_onInit(ToxWindow *self, Messenger *m) | 170 | static void friendlist_onInit(ToxWindow *self, Messenger *m) |
@@ -164,19 +172,20 @@ static void friendlist_onInit(ToxWindow *self, Messenger *m) | |||
164 | 172 | ||
165 | } | 173 | } |
166 | 174 | ||
167 | ToxWindow new_friendlist(char * ws) { | 175 | ToxWindow new_friendlist(char *ws) |
168 | WINDOW_STATUS = ws; | 176 | { |
169 | ToxWindow ret; | 177 | WINDOW_STATUS = ws; |
170 | memset(&ret, 0, sizeof(ret)); | 178 | ToxWindow ret; |
171 | 179 | memset(&ret, 0, sizeof(ret)); | |
172 | ret.onKey = &friendlist_onKey; | 180 | |
173 | ret.onDraw = &friendlist_onDraw; | 181 | ret.onKey = &friendlist_onKey; |
174 | ret.onInit = &friendlist_onInit; | 182 | ret.onDraw = &friendlist_onDraw; |
175 | ret.onMessage = &friendlist_onMessage; | 183 | ret.onInit = &friendlist_onInit; |
176 | ret.onAction = &friendlist_onMessage; // Action has identical behaviour to message | 184 | ret.onMessage = &friendlist_onMessage; |
177 | ret.onNickChange = &friendlist_onNickChange; | 185 | ret.onAction = &friendlist_onMessage; // Action has identical behaviour to message |
178 | ret.onStatusChange = &friendlist_onStatusChange; | 186 | ret.onNickChange = &friendlist_onNickChange; |
179 | 187 | ret.onStatusChange = &friendlist_onStatusChange; | |
180 | strcpy(ret.title, "[friends]"); | 188 | |
181 | return ret; | 189 | strcpy(ret.title, "[friends]"); |
190 | return ret; | ||
182 | } | 191 | } |