1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-07-03 18:47:52 +02:00

Save messenger data on exit

This commit is contained in:
Jfreegman 2013-09-04 02:05:36 -04:00
parent 20d1ad9842
commit f93af40f28
4 changed files with 7 additions and 6 deletions

View File

@ -19,6 +19,9 @@
#define CURS_Y_OFFSET 3 #define CURS_Y_OFFSET 3
extern char *DATA_FILE;
extern int store_data(Tox *m, char *path);
typedef struct { typedef struct {
int friendnum; int friendnum;
wchar_t line[MAX_STR_SIZE]; wchar_t line[MAX_STR_SIZE];
@ -270,6 +273,7 @@ void execute(ToxWindow *self, ChatContext *ctx, Tox *m, char *cmd)
else if (!strcmp(cmd, "/quit") || !strcmp(cmd, "/exit") || !strcmp(cmd, "/q")) { else if (!strcmp(cmd, "/quit") || !strcmp(cmd, "/exit") || !strcmp(cmd, "/q")) {
endwin(); endwin();
store_data(m, DATA_FILE);
tox_kill(m); tox_kill(m);
exit(0); exit(0);
} }

View File

@ -37,9 +37,8 @@ void friendlist_onMessage(ToxWindow *self, Tox *m, int num, uint8_t *str, uint16
if (num >= num_friends) if (num >= num_friends)
return; return;
if (friends[num].chatwin == -1) { if (friends[num].chatwin == -1)
friends[num].chatwin = add_window(m, new_chat(m, friends[num].num)); friends[num].chatwin = add_window(m, new_chat(m, friends[num].num));
}
} }
void friendlist_onNickChange(ToxWindow *self, int num, uint8_t *str, uint16_t len) void friendlist_onNickChange(ToxWindow *self, int num, uint8_t *str, uint16_t len)

View File

@ -235,6 +235,7 @@ void cmd_connect(ToxWindow *self, Tox *m, int argc, char **argv)
void cmd_quit(ToxWindow *self, Tox *m, int argc, char **argv) void cmd_quit(ToxWindow *self, Tox *m, int argc, char **argv)
{ {
endwin(); endwin();
store_data(m, DATA_FILE);
tox_kill(m); tox_kill(m);
exit(0); exit(0);
} }

View File

@ -64,11 +64,8 @@ void on_nickchange(Tox *m, int friendnumber, uint8_t *string, uint16_t length, v
int i; int i;
for (i = 0; i < MAX_WINDOWS_NUM; ++i) { for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
if (windows[i].onNickChange != NULL) { if (windows[i].onNickChange != NULL)
windows[i].onNickChange(&windows[i], friendnumber, string, length); windows[i].onNickChange(&windows[i], friendnumber, string, length);
if (store_data(m, DATA_FILE))
wprintw(prompt->window, "\nCould not store Tox data\n");
}
} }
} }