mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Removed titlebar functions from ui.h
This commit is contained in:
parent
c7e214860c
commit
fc40637789
@ -2790,18 +2790,8 @@ _update_presence(const resource_presence_t resource_presence,
|
|||||||
cons_show("You are not currently connected.");
|
cons_show("You are not currently connected.");
|
||||||
} else {
|
} else {
|
||||||
presence_update(resource_presence, msg, 0);
|
presence_update(resource_presence, msg, 0);
|
||||||
|
ui_update_presence(resource_presence, msg, show);
|
||||||
contact_presence_t contact_presence = contact_presence_from_resource_presence(resource_presence);
|
|
||||||
title_bar_set_presence(contact_presence);
|
|
||||||
|
|
||||||
gint priority = accounts_get_priority_for_presence_type(jabber_get_account_name(), resource_presence);
|
|
||||||
if (msg != NULL) {
|
|
||||||
cons_show("Status set to %s (priority %d), \"%s\".", show, priority, msg);
|
|
||||||
} else {
|
|
||||||
cons_show("Status set to %s (priority %d).", show, priority);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// helper function for boolean preference commands
|
// helper function for boolean preference commands
|
||||||
|
@ -57,7 +57,6 @@ _init_modules(void)
|
|||||||
inputwin_init_module();
|
inputwin_init_module();
|
||||||
notifier_init_module();
|
notifier_init_module();
|
||||||
statusbar_init_module();
|
statusbar_init_module();
|
||||||
titlebar_init_module();
|
|
||||||
|
|
||||||
accounts_init_module();
|
accounts_init_module();
|
||||||
#ifdef HAVE_LIBOTR
|
#ifdef HAVE_LIBOTR
|
||||||
|
@ -224,28 +224,11 @@ _handle_idle_time()
|
|||||||
// handle away mode
|
// handle away mode
|
||||||
if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "away") == 0) {
|
if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "away") == 0) {
|
||||||
presence_update(RESOURCE_AWAY, prefs_get_string(PREF_AUTOAWAY_MESSAGE), 0);
|
presence_update(RESOURCE_AWAY, prefs_get_string(PREF_AUTOAWAY_MESSAGE), 0);
|
||||||
if (prefs_get_string(PREF_AUTOAWAY_MESSAGE) != NULL) {
|
ui_auto_away();
|
||||||
int pri =
|
|
||||||
accounts_get_priority_for_presence_type(jabber_get_account_name(),
|
|
||||||
RESOURCE_AWAY);
|
|
||||||
cons_show("Idle for %d minutes, status set to away (priority %d), \"%s\".",
|
|
||||||
prefs_get_autoaway_time(), pri, prefs_get_string(PREF_AUTOAWAY_MESSAGE));
|
|
||||||
title_bar_set_presence(CONTACT_AWAY);
|
|
||||||
ui_current_page_off();
|
|
||||||
} else {
|
|
||||||
int pri =
|
|
||||||
accounts_get_priority_for_presence_type(jabber_get_account_name(),
|
|
||||||
RESOURCE_AWAY);
|
|
||||||
cons_show("Idle for %d minutes, status set to away (priority %d).",
|
|
||||||
prefs_get_autoaway_time(), pri);
|
|
||||||
title_bar_set_presence(CONTACT_AWAY);
|
|
||||||
ui_current_page_off();
|
|
||||||
}
|
|
||||||
|
|
||||||
// handle idle mode
|
// handle idle mode
|
||||||
} else if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "idle") == 0) {
|
} else if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "idle") == 0) {
|
||||||
presence_update(RESOURCE_ONLINE,
|
presence_update(RESOURCE_ONLINE, prefs_get_string(PREF_AUTOAWAY_MESSAGE), idle_ms / 1000);
|
||||||
prefs_get_string(PREF_AUTOAWAY_MESSAGE), idle_ms / 1000);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -258,15 +241,10 @@ _handle_idle_time()
|
|||||||
if (prefs_get_boolean(PREF_AUTOAWAY_CHECK)) {
|
if (prefs_get_boolean(PREF_AUTOAWAY_CHECK)) {
|
||||||
if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "away") == 0) {
|
if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "away") == 0) {
|
||||||
presence_update(RESOURCE_ONLINE, NULL, 0);
|
presence_update(RESOURCE_ONLINE, NULL, 0);
|
||||||
int pri =
|
ui_end_auto_away();
|
||||||
accounts_get_priority_for_presence_type(jabber_get_account_name(),
|
|
||||||
RESOURCE_ONLINE);
|
|
||||||
cons_show("No longer idle, status set to online (priority %d).", pri);
|
|
||||||
title_bar_set_presence(CONTACT_ONLINE);
|
|
||||||
ui_current_page_off();
|
|
||||||
} else if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "idle") == 0) {
|
} else if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "idle") == 0) {
|
||||||
presence_update(RESOURCE_ONLINE, NULL, 0);
|
presence_update(RESOURCE_ONLINE, NULL, 0);
|
||||||
title_bar_set_presence(CONTACT_ONLINE);
|
ui_titlebar_presence(CONTACT_ONLINE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -87,18 +87,14 @@ void
|
|||||||
handle_login_account_success(char *account_name)
|
handle_login_account_success(char *account_name)
|
||||||
{
|
{
|
||||||
ProfAccount *account = accounts_get_account(account_name);
|
ProfAccount *account = accounts_get_account(account_name);
|
||||||
|
|
||||||
#ifdef HAVE_LIBOTR
|
#ifdef HAVE_LIBOTR
|
||||||
otr_on_connect(account);
|
otr_on_connect(account);
|
||||||
#endif
|
#endif
|
||||||
resource_presence_t resource_presence = accounts_get_login_presence(account->name);
|
|
||||||
contact_presence_t contact_presence = contact_presence_from_resource_presence(resource_presence);
|
|
||||||
cons_show_login_success(account);
|
|
||||||
title_bar_set_presence(contact_presence);
|
|
||||||
log_info("%s logged in successfully", account->jid);
|
|
||||||
ui_current_page_off();
|
|
||||||
status_bar_print_message(account->jid);
|
|
||||||
status_bar_update_virtual();
|
|
||||||
|
|
||||||
|
ui_handle_login_account_success(account);
|
||||||
|
|
||||||
|
log_info("%s logged in successfully", account->jid);
|
||||||
account_free(account);
|
account_free(account);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -351,6 +351,70 @@ _ui_group_removed(const char * const contact, const char * const group)
|
|||||||
cons_show("%s removed from group %s", contact, group);
|
cons_show("%s removed from group %s", contact, group);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ui_auto_away(void)
|
||||||
|
{
|
||||||
|
if (prefs_get_string(PREF_AUTOAWAY_MESSAGE) != NULL) {
|
||||||
|
int pri =
|
||||||
|
accounts_get_priority_for_presence_type(jabber_get_account_name(),
|
||||||
|
RESOURCE_AWAY);
|
||||||
|
cons_show("Idle for %d minutes, status set to away (priority %d), \"%s\".",
|
||||||
|
prefs_get_autoaway_time(), pri, prefs_get_string(PREF_AUTOAWAY_MESSAGE));
|
||||||
|
title_bar_set_presence(CONTACT_AWAY);
|
||||||
|
ui_current_page_off();
|
||||||
|
} else {
|
||||||
|
int pri =
|
||||||
|
accounts_get_priority_for_presence_type(jabber_get_account_name(),
|
||||||
|
RESOURCE_AWAY);
|
||||||
|
cons_show("Idle for %d minutes, status set to away (priority %d).",
|
||||||
|
prefs_get_autoaway_time(), pri);
|
||||||
|
title_bar_set_presence(CONTACT_AWAY);
|
||||||
|
ui_current_page_off();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ui_end_auto_away(void)
|
||||||
|
{
|
||||||
|
int pri =
|
||||||
|
accounts_get_priority_for_presence_type(jabber_get_account_name(), RESOURCE_ONLINE);
|
||||||
|
cons_show("No longer idle, status set to online (priority %d).", pri);
|
||||||
|
title_bar_set_presence(CONTACT_ONLINE);
|
||||||
|
ui_current_page_off();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ui_titlebar_presence(contact_presence_t presence)
|
||||||
|
{
|
||||||
|
title_bar_set_presence(presence);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ui_handle_login_account_success(ProfAccount *account)
|
||||||
|
{
|
||||||
|
resource_presence_t resource_presence = accounts_get_login_presence(account->name);
|
||||||
|
contact_presence_t contact_presence = contact_presence_from_resource_presence(resource_presence);
|
||||||
|
cons_show_login_success(account);
|
||||||
|
title_bar_set_presence(contact_presence);
|
||||||
|
ui_current_page_off();
|
||||||
|
status_bar_print_message(account->jid);
|
||||||
|
status_bar_update_virtual();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ui_update_presence(const resource_presence_t resource_presence,
|
||||||
|
const char * const message, const char * const show)
|
||||||
|
{
|
||||||
|
contact_presence_t contact_presence = contact_presence_from_resource_presence(resource_presence);
|
||||||
|
title_bar_set_presence(contact_presence);
|
||||||
|
gint priority = accounts_get_priority_for_presence_type(jabber_get_account_name(), resource_presence);
|
||||||
|
if (message != NULL) {
|
||||||
|
cons_show("Status set to %s (priority %d), \"%s\".", show, priority, message);
|
||||||
|
} else {
|
||||||
|
cons_show("Status set to %s (priority %d).", show, priority);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ui_handle_recipient_not_found(const char * const recipient, const char * const err_msg)
|
_ui_handle_recipient_not_found(const char * const recipient, const char * const err_msg)
|
||||||
{
|
{
|
||||||
@ -1775,4 +1839,9 @@ ui_init_module(void)
|
|||||||
ui_handle_error = _ui_handle_error;
|
ui_handle_error = _ui_handle_error;
|
||||||
ui_current_update_virtual = _ui_current_update_virtual;
|
ui_current_update_virtual = _ui_current_update_virtual;
|
||||||
ui_clear_win_title = _ui_clear_win_title;
|
ui_clear_win_title = _ui_clear_win_title;
|
||||||
|
ui_auto_away = _ui_auto_away;
|
||||||
|
ui_end_auto_away = _ui_end_auto_away;
|
||||||
|
ui_titlebar_presence = _ui_titlebar_presence;
|
||||||
|
ui_handle_login_account_success = _ui_handle_login_account_success;
|
||||||
|
ui_update_presence =_ui_update_presence;
|
||||||
}
|
}
|
||||||
|
@ -57,33 +57,8 @@ create_title_bar(void)
|
|||||||
inp_put_back();
|
inp_put_back();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
_title_bar_console(void)
|
title_bar_update_virtual(void)
|
||||||
{
|
|
||||||
werase(win);
|
|
||||||
current_recipient = NULL;
|
|
||||||
typing = FALSE;
|
|
||||||
typing_elapsed = NULL;
|
|
||||||
|
|
||||||
free(current_title);
|
|
||||||
current_title = strdup(CONSOLE_TITLE);
|
|
||||||
|
|
||||||
_title_bar_draw();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_title_bar_resize(void)
|
|
||||||
{
|
|
||||||
int cols = getmaxx(stdscr);
|
|
||||||
|
|
||||||
wresize(win, 1, cols);
|
|
||||||
wbkgd(win, COLOUR_TITLE_TEXT);
|
|
||||||
|
|
||||||
_title_bar_draw();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_title_bar_update_virtual(void)
|
|
||||||
{
|
{
|
||||||
if (current_recipient != NULL) {
|
if (current_recipient != NULL) {
|
||||||
|
|
||||||
@ -102,15 +77,40 @@ _title_bar_update_virtual(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
_title_bar_set_presence(contact_presence_t presence)
|
title_bar_resize(void)
|
||||||
|
{
|
||||||
|
int cols = getmaxx(stdscr);
|
||||||
|
|
||||||
|
wresize(win, 1, cols);
|
||||||
|
wbkgd(win, COLOUR_TITLE_TEXT);
|
||||||
|
|
||||||
|
_title_bar_draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
title_bar_console(void)
|
||||||
|
{
|
||||||
|
werase(win);
|
||||||
|
current_recipient = NULL;
|
||||||
|
typing = FALSE;
|
||||||
|
typing_elapsed = NULL;
|
||||||
|
|
||||||
|
free(current_title);
|
||||||
|
current_title = strdup(CONSOLE_TITLE);
|
||||||
|
|
||||||
|
_title_bar_draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
title_bar_set_presence(contact_presence_t presence)
|
||||||
{
|
{
|
||||||
current_presence = presence;
|
current_presence = presence;
|
||||||
_title_bar_draw();
|
_title_bar_draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
_title_bar_set_recipient(const char * const recipient)
|
title_bar_set_recipient(const char * const recipient)
|
||||||
{
|
{
|
||||||
if (typing_elapsed != NULL) {
|
if (typing_elapsed != NULL) {
|
||||||
g_timer_destroy(typing_elapsed);
|
g_timer_destroy(typing_elapsed);
|
||||||
@ -127,8 +127,8 @@ _title_bar_set_recipient(const char * const recipient)
|
|||||||
_title_bar_draw();
|
_title_bar_draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
_title_bar_set_typing(gboolean is_typing)
|
title_bar_set_typing(gboolean is_typing)
|
||||||
{
|
{
|
||||||
if (is_typing) {
|
if (is_typing) {
|
||||||
if (typing_elapsed != NULL) {
|
if (typing_elapsed != NULL) {
|
||||||
@ -258,14 +258,3 @@ _title_bar_draw(void)
|
|||||||
wnoutrefresh(win);
|
wnoutrefresh(win);
|
||||||
inp_put_back();
|
inp_put_back();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
titlebar_init_module(void)
|
|
||||||
{
|
|
||||||
title_bar_console = _title_bar_console;
|
|
||||||
title_bar_resize = _title_bar_resize;
|
|
||||||
title_bar_update_virtual = _title_bar_update_virtual;
|
|
||||||
title_bar_set_presence = _title_bar_set_presence;
|
|
||||||
title_bar_set_recipient = _title_bar_set_recipient;
|
|
||||||
title_bar_set_typing = _title_bar_set_typing;
|
|
||||||
}
|
|
||||||
|
@ -21,3 +21,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
void create_title_bar(void);
|
void create_title_bar(void);
|
||||||
|
void title_bar_update_virtual(void);
|
||||||
|
void title_bar_resize(void);
|
||||||
|
void title_bar_console(void);
|
||||||
|
void title_bar_set_presence(contact_presence_t presence);
|
||||||
|
void title_bar_set_recipient(const char * const from);
|
||||||
|
void title_bar_set_typing(gboolean is_typing);
|
16
src/ui/ui.h
16
src/ui/ui.h
@ -46,7 +46,6 @@ void console_init_module(void);
|
|||||||
void inputwin_init_module(void);
|
void inputwin_init_module(void);
|
||||||
void notifier_init_module(void);
|
void notifier_init_module(void);
|
||||||
void statusbar_init_module(void);
|
void statusbar_init_module(void);
|
||||||
void titlebar_init_module(void);
|
|
||||||
|
|
||||||
// ui startup and control
|
// ui startup and control
|
||||||
void (*ui_init)(void);
|
void (*ui_init)(void);
|
||||||
@ -148,18 +147,17 @@ gboolean (*ui_duck_exists)(void);
|
|||||||
void (*ui_tidy_wins)(void);
|
void (*ui_tidy_wins)(void);
|
||||||
void (*ui_prune_wins)(void);
|
void (*ui_prune_wins)(void);
|
||||||
|
|
||||||
|
void (*ui_auto_away)(void);
|
||||||
|
void (*ui_end_auto_away)(void);
|
||||||
|
void (*ui_titlebar_presence)(contact_presence_t presence);
|
||||||
|
void (*ui_handle_login_account_success)(ProfAccount *account);
|
||||||
|
void (*ui_update_presence)(const resource_presence_t resource_presence,
|
||||||
|
const char * const message, const char * const show);
|
||||||
|
|
||||||
// create windows
|
// create windows
|
||||||
void (*create_status_bar)(void);
|
void (*create_status_bar)(void);
|
||||||
void (*create_input_window)(void);
|
void (*create_input_window)(void);
|
||||||
|
|
||||||
// title bar actions
|
|
||||||
void (*title_bar_update_virtual)(void);
|
|
||||||
void (*title_bar_resize)(void);
|
|
||||||
void (*title_bar_console)(void);
|
|
||||||
void (*title_bar_set_presence)(contact_presence_t presence);
|
|
||||||
void (*title_bar_set_recipient)(const char * const from);
|
|
||||||
void (*title_bar_set_typing)(gboolean is_typing);
|
|
||||||
|
|
||||||
// console window actions
|
// console window actions
|
||||||
void (*cons_show)(const char * const msg, ...);
|
void (*cons_show)(const char * const msg, ...);
|
||||||
void (*cons_about)(void);
|
void (*cons_about)(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user