mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
OTR end messages are now send to recipients not in the roster.
fixes #333
This commit is contained in:
parent
2451b7b1ca
commit
fadad0aeba
@ -32,6 +32,10 @@
|
|||||||
#include "contact.h"
|
#include "contact.h"
|
||||||
#include "ui/ui.h"
|
#include "ui/ui.h"
|
||||||
|
|
||||||
|
#define PRESENCE_ONLINE 1
|
||||||
|
#define PRESENCE_OFFLINE 0
|
||||||
|
#define PRESENCE_UNKNOWN -1
|
||||||
|
|
||||||
static OtrlUserState user_state;
|
static OtrlUserState user_state;
|
||||||
static OtrlMessageAppOps ops;
|
static OtrlMessageAppOps ops;
|
||||||
static char *jid;
|
static char *jid;
|
||||||
@ -49,10 +53,14 @@ cb_is_logged_in(void *opdata, const char *accountname,
|
|||||||
const char *protocol, const char *recipient)
|
const char *protocol, const char *recipient)
|
||||||
{
|
{
|
||||||
PContact contact = roster_get_contact(recipient);
|
PContact contact = roster_get_contact(recipient);
|
||||||
|
if (contact == NULL) {
|
||||||
|
return PRESENCE_ONLINE;
|
||||||
|
}
|
||||||
|
|
||||||
if (g_strcmp0(p_contact_presence(contact), "offline") == 0) {
|
if (g_strcmp0(p_contact_presence(contact), "offline") == 0) {
|
||||||
return 0;
|
return PRESENCE_OFFLINE;
|
||||||
} else {
|
} else {
|
||||||
return 1;
|
return PRESENCE_ONLINE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,11 +157,15 @@ _title_bar_draw(void)
|
|||||||
waddch(win, ' ');
|
waddch(win, ' ');
|
||||||
mvwprintw(win, 0, 0, " %s", current_title);
|
mvwprintw(win, 0, 0, " %s", current_title);
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_LIBOTR
|
#ifdef HAVE_LIBOTR
|
||||||
// show privacy
|
// show privacy
|
||||||
if (current_recipient != NULL) {
|
if (current_recipient != NULL) {
|
||||||
char *recipient_jid = roster_barejid_from_name(current_recipient);
|
char *recipient_jid = NULL;
|
||||||
|
if (roster_find_contact(current_recipient) != NULL) {
|
||||||
|
recipient_jid = roster_barejid_from_name(current_recipient);
|
||||||
|
} else {
|
||||||
|
recipient_jid = current_recipient;
|
||||||
|
}
|
||||||
ProfWin *current = wins_get_by_recipient(recipient_jid);
|
ProfWin *current = wins_get_by_recipient(recipient_jid);
|
||||||
if (current != NULL) {
|
if (current != NULL) {
|
||||||
if (current->type == WIN_CHAT) {
|
if (current->type == WIN_CHAT) {
|
||||||
|
Loading…
Reference in New Issue
Block a user