mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-15 05:43:03 +01:00
merge with master
This commit is contained in:
commit
c2b9967691
@ -150,6 +150,9 @@ void cmd_savefile(WINDOW *window, ToxWindow *self, Tox *m, int argc, char (*argv
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
on_recv_error:
|
on_recv_error:
|
||||||
switch (err) {
|
switch (err) {
|
||||||
case TOX_ERR_FILE_CONTROL_FRIEND_NOT_FOUND:
|
case TOX_ERR_FILE_CONTROL_FRIEND_NOT_FOUND:
|
||||||
|
@ -332,7 +332,7 @@ static void friendlist_onConnectionChange(ToxWindow *self, Tox *m, uint32_t num,
|
|||||||
|
|
||||||
if (connection_status == TOX_CONNECTION_NONE)
|
if (connection_status == TOX_CONNECTION_NONE)
|
||||||
--Friends.num_online;
|
--Friends.num_online;
|
||||||
else
|
else if (Friends.list[num].connection_status == TOX_CONNECTION_NONE)
|
||||||
++Friends.num_online;
|
++Friends.num_online;
|
||||||
|
|
||||||
Friends.list[num].connection_status = connection_status;
|
Friends.list[num].connection_status = connection_status;
|
||||||
|
@ -56,6 +56,7 @@ typedef struct {
|
|||||||
|
|
||||||
struct LastOnline last_online;
|
struct LastOnline last_online;
|
||||||
struct GroupInvite group_invite;
|
struct GroupInvite group_invite;
|
||||||
|
|
||||||
struct FileTransfer file_receiver[MAX_FILES];
|
struct FileTransfer file_receiver[MAX_FILES];
|
||||||
struct FileTransfer file_sender[MAX_FILES];
|
struct FileTransfer file_sender[MAX_FILES];
|
||||||
} ToxicFriend;
|
} ToxicFriend;
|
||||||
|
@ -111,7 +111,9 @@ void cmd_set_topic(WINDOW *window, ToxWindow *self, Tox *m, int argc, char (*arg
|
|||||||
char selfnick[TOX_MAX_NAME_LENGTH];
|
char selfnick[TOX_MAX_NAME_LENGTH];
|
||||||
|
|
||||||
get_time_str(timefrmt, sizeof(timefrmt));
|
get_time_str(timefrmt, sizeof(timefrmt));
|
||||||
int sn_len = tox_group_get_self_name(m, self->num, (uint8_t *) selfnick);
|
|
||||||
|
tox_self_get_name(m, (uint8_t *) selfnick);
|
||||||
|
size_t sn_len = tox_self_get_name_size(m);
|
||||||
selfnick[sn_len] = '\0';
|
selfnick[sn_len] = '\0';
|
||||||
|
|
||||||
line_info_add(self, timefrmt, NULL, NULL, SYS_MSG, 1, MAGENTA, "-!- You set the topic to: %s", topic);
|
line_info_add(self, timefrmt, NULL, NULL, SYS_MSG, 1, MAGENTA, "-!- You set the topic to: %s", topic);
|
||||||
|
13
src/help.c
13
src/help.c
@ -250,14 +250,7 @@ static void help_draw_group(ToxWindow *self)
|
|||||||
wprintw(win, " /whisper <nick> <msg> : Send private message to nick\n\n");
|
wprintw(win, " /whisper <nick> <msg> : Send private message to nick\n\n");
|
||||||
|
|
||||||
#ifdef AUDIO
|
#ifdef AUDIO
|
||||||
wattron(win, A_BOLD);
|
|
||||||
wprintw(win, " Audio commands:\n");
|
|
||||||
wattroff(win, A_BOLD);
|
|
||||||
|
|
||||||
wprintw(win, " /mute <type> : Mute active device where type: in | out\n");
|
|
||||||
wprintw(win, " /sense <n> : VAD sensitivity threshold\n\n");
|
|
||||||
#endif /* AUDIO */
|
#endif /* AUDIO */
|
||||||
|
|
||||||
help_draw_bottom_menu(win);
|
help_draw_bottom_menu(win);
|
||||||
|
|
||||||
box(win, ACS_VLINE, ACS_HLINE);
|
box(win, ACS_VLINE, ACS_HLINE);
|
||||||
@ -313,11 +306,7 @@ void help_onKey(ToxWindow *self, wint_t key)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'r':
|
case 'r':
|
||||||
#ifdef AUDIO
|
help_init_window(self, 6, 80);
|
||||||
help_init_window(self, 15, 80);
|
|
||||||
#else
|
|
||||||
help_init_window(self, 11, 80);
|
|
||||||
#endif
|
|
||||||
self->help->type = HELP_GROUP;
|
self->help->type = HELP_GROUP;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include "toxic.h"
|
#include "toxic.h"
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
#include "prompt.h"
|
#include "prompt.h"
|
||||||
|
#include "friendlist.h"
|
||||||
#include "execute.h"
|
#include "execute.h"
|
||||||
#include "misc_tools.h"
|
#include "misc_tools.h"
|
||||||
#include "toxic_strings.h"
|
#include "toxic_strings.h"
|
||||||
@ -46,6 +47,7 @@ extern ToxWindow *prompt;
|
|||||||
extern struct user_settings *user_settings;
|
extern struct user_settings *user_settings;
|
||||||
extern struct Winthread Winthread;
|
extern struct Winthread Winthread;
|
||||||
|
|
||||||
|
extern FriendsList Friends;
|
||||||
FriendRequests FrndRequests;
|
FriendRequests FrndRequests;
|
||||||
|
|
||||||
#ifdef AUDIO
|
#ifdef AUDIO
|
||||||
@ -347,7 +349,7 @@ static void prompt_onConnectionChange(ToxWindow *self, Tox *m, uint32_t friendnu
|
|||||||
get_time_str(timefrmt, sizeof(timefrmt));
|
get_time_str(timefrmt, sizeof(timefrmt));
|
||||||
const char *msg;
|
const char *msg;
|
||||||
|
|
||||||
if (connection_status != TOX_CONNECTION_NONE) {
|
if (connection_status != TOX_CONNECTION_NONE && Friends.list[friendnum].connection_status == TOX_CONNECTION_NONE) {
|
||||||
msg = "has come online";
|
msg = "has come online";
|
||||||
line_info_add(self, timefrmt, nick, NULL, CONNECTION, 0, GREEN, msg);
|
line_info_add(self, timefrmt, nick, NULL, CONNECTION, 0, GREEN, msg);
|
||||||
write_to_log(msg, nick, ctx->log, true);
|
write_to_log(msg, nick, ctx->log, true);
|
||||||
@ -358,7 +360,8 @@ static void prompt_onConnectionChange(ToxWindow *self, Tox *m, uint32_t friendnu
|
|||||||
else
|
else
|
||||||
box_notify(self, user_log_in, NT_WNDALERT_2 | NT_NOTIFWND | NT_RESTOL, &self->active_box,
|
box_notify(self, user_log_in, NT_WNDALERT_2 | NT_NOTIFWND | NT_RESTOL, &self->active_box,
|
||||||
"Toxic", "%s has come online", nick );
|
"Toxic", "%s has come online", nick );
|
||||||
} else {
|
}
|
||||||
|
else if (connection_status == TOX_CONNECTION_NONE) {
|
||||||
msg = "has gone offline";
|
msg = "has gone offline";
|
||||||
line_info_add(self, timefrmt, nick, NULL, DISCONNECTION, 0, RED, msg);
|
line_info_add(self, timefrmt, nick, NULL, DISCONNECTION, 0, RED, msg);
|
||||||
write_to_log(msg, nick, ctx->log, true);
|
write_to_log(msg, nick, ctx->log, true);
|
||||||
|
25
src/toxic.c
25
src/toxic.c
@ -359,6 +359,17 @@ int init_connection(Tox *m)
|
|||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void load_groups(Tox *m)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
size_t numgroups = tox_group_count_groups(m);
|
||||||
|
|
||||||
|
for (i = 0; i < numgroups; ++i) {
|
||||||
|
if (init_groupchat_win(m, i, NULL, 0) == -1)
|
||||||
|
tox_group_delete(m, i, NULL, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void load_friendlist(Tox *m)
|
static void load_friendlist(Tox *m)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
@ -370,17 +381,6 @@ static void load_friendlist(Tox *m)
|
|||||||
sort_friendlist_index();
|
sort_friendlist_index();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void load_groups(Tox *m)
|
|
||||||
{
|
|
||||||
uint32_t i;
|
|
||||||
uint32_t numgroups = tox_group_count_groups(m);
|
|
||||||
|
|
||||||
for (i = 0; i < numgroups; ++i) {
|
|
||||||
if (init_groupchat_win(m, i, NULL, 0) == -1)
|
|
||||||
tox_group_delete(m, i, NULL, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* return length of password on success, 0 on failure */
|
/* return length of password on success, 0 on failure */
|
||||||
static int password_prompt(char *buf, int size)
|
static int password_prompt(char *buf, int size)
|
||||||
{
|
{
|
||||||
@ -525,7 +525,6 @@ int store_data(Tox *m, const char *path)
|
|||||||
static void init_tox_callbacks(Tox *m)
|
static void init_tox_callbacks(Tox *m)
|
||||||
{
|
{
|
||||||
tox_callback_self_connection_status(m, prompt_onSelfConnectionChange, NULL);
|
tox_callback_self_connection_status(m, prompt_onSelfConnectionChange, NULL);
|
||||||
|
|
||||||
tox_callback_friend_connection_status(m, on_connectionchange, NULL);
|
tox_callback_friend_connection_status(m, on_connectionchange, NULL);
|
||||||
tox_callback_friend_typing(m, on_typing_change, NULL);
|
tox_callback_friend_typing(m, on_typing_change, NULL);
|
||||||
tox_callback_friend_request(m, on_request, NULL);
|
tox_callback_friend_request(m, on_request, NULL);
|
||||||
@ -534,12 +533,10 @@ static void init_tox_callbacks(Tox *m)
|
|||||||
tox_callback_friend_status(m, on_statuschange, NULL);
|
tox_callback_friend_status(m, on_statuschange, NULL);
|
||||||
tox_callback_friend_status_message(m, on_statusmessagechange, NULL);
|
tox_callback_friend_status_message(m, on_statusmessagechange, NULL);
|
||||||
tox_callback_friend_read_receipt(m, on_read_receipt, NULL);
|
tox_callback_friend_read_receipt(m, on_read_receipt, NULL);
|
||||||
|
|
||||||
tox_callback_file_recv(m, on_file_recv, NULL);
|
tox_callback_file_recv(m, on_file_recv, NULL);
|
||||||
tox_callback_file_chunk_request(m, on_file_chunk_request, NULL);
|
tox_callback_file_chunk_request(m, on_file_chunk_request, NULL);
|
||||||
tox_callback_file_recv_control(m, on_file_control, NULL);
|
tox_callback_file_recv_control(m, on_file_control, NULL);
|
||||||
tox_callback_file_recv_chunk(m, on_file_recv_chunk, NULL);
|
tox_callback_file_recv_chunk(m, on_file_recv_chunk, NULL);
|
||||||
|
|
||||||
tox_callback_group_invite(m, on_group_invite, NULL);
|
tox_callback_group_invite(m, on_group_invite, NULL);
|
||||||
tox_callback_group_message(m, on_group_message, NULL);
|
tox_callback_group_message(m, on_group_message, NULL);
|
||||||
tox_callback_group_action(m, on_group_action, NULL);
|
tox_callback_group_action(m, on_group_action, NULL);
|
||||||
|
@ -151,7 +151,7 @@ void on_friendadded(Tox *m, uint32_t friendnumber, bool sort)
|
|||||||
|
|
||||||
void on_group_invite(Tox *m, int32_t friendnumber, const uint8_t *invite_data, uint16_t length, void *userdata)
|
void on_group_invite(Tox *m, int32_t friendnumber, const uint8_t *invite_data, uint16_t length, void *userdata)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
||||||
if (windows[i].onGroupInvite != NULL)
|
if (windows[i].onGroupInvite != NULL)
|
||||||
@ -213,7 +213,7 @@ void on_group_namelistchange(Tox *m, int groupnumber, void *userdata)
|
|||||||
|
|
||||||
void on_group_peer_join(Tox *m, int groupnumber, uint32_t peernumber, void *userdata)
|
void on_group_peer_join(Tox *m, int groupnumber, uint32_t peernumber, void *userdata)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
||||||
if (windows[i].onGroupPeerJoin != NULL)
|
if (windows[i].onGroupPeerJoin != NULL)
|
||||||
@ -228,12 +228,12 @@ void on_group_peer_exit(Tox *m, int groupnumber, uint32_t peernumber, const uint
|
|||||||
|
|
||||||
if (length == 0 || !partmsg) {
|
if (length == 0 || !partmsg) {
|
||||||
strcpy(msg, "Quit");
|
strcpy(msg, "Quit");
|
||||||
length = 5;
|
length = strlen(msg);
|
||||||
} else {
|
} else {
|
||||||
length = copy_tox_str(msg, sizeof(msg), (const char *) partmsg, length);
|
length = copy_tox_str(msg, sizeof(msg), (const char *) partmsg, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
||||||
if (windows[i].onGroupPeerExit != NULL)
|
if (windows[i].onGroupPeerExit != NULL)
|
||||||
@ -262,7 +262,7 @@ void on_group_nick_change(Tox *m, int groupnumber, uint32_t peernumber, const ui
|
|||||||
length = copy_tox_str(name, sizeof(name), (const char *) newname, length);
|
length = copy_tox_str(name, sizeof(name), (const char *) newname, length);
|
||||||
filter_str(name, length);
|
filter_str(name, length);
|
||||||
|
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
||||||
if (windows[i].onGroupNickChange != NULL)
|
if (windows[i].onGroupNickChange != NULL)
|
||||||
@ -273,7 +273,7 @@ void on_group_nick_change(Tox *m, int groupnumber, uint32_t peernumber, const ui
|
|||||||
void on_group_op_certificate(Tox *m, int groupnumber, uint32_t src_peernum, uint32_t tgt_peernum, uint8_t cert_type,
|
void on_group_op_certificate(Tox *m, int groupnumber, uint32_t src_peernum, uint32_t tgt_peernum, uint8_t cert_type,
|
||||||
void *userdata)
|
void *userdata)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
||||||
if (windows[i].onGroupOpCertificate != NULL)
|
if (windows[i].onGroupOpCertificate != NULL)
|
||||||
@ -283,7 +283,7 @@ void on_group_op_certificate(Tox *m, int groupnumber, uint32_t src_peernum, uint
|
|||||||
|
|
||||||
void on_group_self_join(Tox *m, int groupnumber, void *userdata)
|
void on_group_self_join(Tox *m, int groupnumber, void *userdata)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
||||||
if (windows[i].onGroupSelfJoin != NULL)
|
if (windows[i].onGroupSelfJoin != NULL)
|
||||||
@ -293,7 +293,7 @@ void on_group_self_join(Tox *m, int groupnumber, void *userdata)
|
|||||||
|
|
||||||
void on_group_self_timeout(Tox *m, int groupnumber, void *userdata)
|
void on_group_self_timeout(Tox *m, int groupnumber, void *userdata)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
||||||
if (windows[i].onGroupSelfTimeout != NULL)
|
if (windows[i].onGroupSelfTimeout != NULL)
|
||||||
@ -303,7 +303,7 @@ void on_group_self_timeout(Tox *m, int groupnumber, void *userdata)
|
|||||||
|
|
||||||
void on_group_rejected(Tox *m, int groupnumber, uint8_t type, void *userdata)
|
void on_group_rejected(Tox *m, int groupnumber, uint8_t type, void *userdata)
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
for (i = 0; i < MAX_WINDOWS_NUM; ++i) {
|
||||||
if (windows[i].onGroupRejected != NULL)
|
if (windows[i].onGroupRejected != NULL)
|
||||||
|
Loading…
Reference in New Issue
Block a user