mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Use class instead of base pointer
This commit is contained in:
parent
13f73a30e7
commit
9a322a028f
@ -1605,11 +1605,12 @@ cmd_status(gchar **args, struct cmd_help_t help)
|
||||
case WIN_MUC:
|
||||
if (usr != NULL) {
|
||||
ProfMucWin *mucwin = wins_get_current_muc();
|
||||
ProfWin *window = (ProfWin*) mucwin;
|
||||
Occupant *occupant = muc_roster_item(mucwin->roomjid, usr);
|
||||
if (occupant) {
|
||||
win_show_occupant(&mucwin->super, occupant);
|
||||
win_show_occupant(window, occupant);
|
||||
} else {
|
||||
win_save_vprint(&mucwin->super, '-', NULL, 0, 0, "", "No such participant \"%s\" in room.", usr);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", "No such participant \"%s\" in room.", usr);
|
||||
}
|
||||
} else {
|
||||
ui_current_print_line("You must specify a nickname.");
|
||||
@ -1620,11 +1621,12 @@ cmd_status(gchar **args, struct cmd_help_t help)
|
||||
ui_current_print_line("No parameter required when in chat.");
|
||||
} else {
|
||||
ProfChatWin *chatwin = wins_get_current_chat();
|
||||
ProfWin *window = (ProfWin*) chatwin;
|
||||
PContact pcontact = roster_get_contact(chatwin->barejid);
|
||||
if (pcontact != NULL) {
|
||||
win_show_contact(&chatwin->super, pcontact);
|
||||
win_show_contact(window, pcontact);
|
||||
} else {
|
||||
win_save_println(&chatwin->super, "Error getting contact info.");
|
||||
win_save_println(window, "Error getting contact info.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1633,12 +1635,13 @@ cmd_status(gchar **args, struct cmd_help_t help)
|
||||
ui_current_print_line("No parameter required when in chat.");
|
||||
} else {
|
||||
ProfPrivateWin *privatewin = wins_get_current_private();
|
||||
ProfWin *window = (ProfWin*) privatewin;
|
||||
Jid *jid = jid_create(privatewin->fulljid);
|
||||
Occupant *occupant = muc_roster_item(jid->barejid, jid->resourcepart);
|
||||
if (occupant) {
|
||||
win_show_occupant(&privatewin->super, occupant);
|
||||
win_show_occupant(window, occupant);
|
||||
} else {
|
||||
win_save_println(&privatewin->super, "Error getting contact info.");
|
||||
win_save_println(window, "Error getting contact info.");
|
||||
}
|
||||
jid_destroy(jid);
|
||||
}
|
||||
@ -1700,11 +1703,12 @@ cmd_info(gchar **args, struct cmd_help_t help)
|
||||
ui_current_print_line("No parameter required when in chat.");
|
||||
} else {
|
||||
ProfChatWin *chatwin = wins_get_current_chat();
|
||||
ProfWin *window = (ProfWin*) chatwin;
|
||||
PContact pcontact = roster_get_contact(chatwin->barejid);
|
||||
if (pcontact != NULL) {
|
||||
win_show_info(&chatwin->super, pcontact);
|
||||
win_show_info(window, pcontact);
|
||||
} else {
|
||||
win_save_println(&chatwin->super, "Error getting contact info.");
|
||||
win_save_println(window, "Error getting contact info.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1713,12 +1717,13 @@ cmd_info(gchar **args, struct cmd_help_t help)
|
||||
ui_current_print_line("No parameter required when in chat.");
|
||||
} else {
|
||||
ProfPrivateWin *privatewin = wins_get_current_private();
|
||||
ProfWin *window = (ProfWin*) privatewin;
|
||||
Jid *jid = jid_create(privatewin->fulljid);
|
||||
Occupant *occupant = muc_roster_item(jid->barejid, jid->resourcepart);
|
||||
if (occupant) {
|
||||
win_show_occupant_info(&privatewin->super, jid->barejid, occupant);
|
||||
win_show_occupant_info(window, jid->barejid, occupant);
|
||||
} else {
|
||||
win_save_println(&privatewin->super, "Error getting contact info.");
|
||||
win_save_println(window, "Error getting contact info.");
|
||||
}
|
||||
jid_destroy(jid);
|
||||
}
|
||||
@ -2278,7 +2283,7 @@ cmd_form(gchar **args, struct cmd_help_t help)
|
||||
help_text = command->help.long_help;
|
||||
}
|
||||
|
||||
ui_show_lines(&confwin->super, help_text);
|
||||
ui_show_lines((ProfWin*) confwin, help_text);
|
||||
}
|
||||
ui_current_print_line("");
|
||||
return TRUE;
|
||||
@ -2338,7 +2343,7 @@ cmd_kick(gchar **args, struct cmd_help_t help)
|
||||
char *reason = args[1];
|
||||
iq_room_kick_occupant(mucwin->roomjid, nick, reason);
|
||||
} else {
|
||||
win_save_vprint(&mucwin->super, '!', NULL, 0, 0, "", "Occupant does not exist: %s", nick);
|
||||
win_save_vprint((ProfWin*) mucwin, '!', NULL, 0, 0, "", "Occupant does not exist: %s", nick);
|
||||
}
|
||||
} else {
|
||||
cons_show("Usage: %s", help.usage);
|
||||
@ -2392,14 +2397,15 @@ cmd_subject(gchar **args, struct cmd_help_t help)
|
||||
}
|
||||
|
||||
ProfMucWin *mucwin = wins_get_current_muc();
|
||||
ProfWin *window = (ProfWin*) mucwin;
|
||||
|
||||
if (args[0] == NULL) {
|
||||
char *subject = muc_subject(mucwin->roomjid);
|
||||
if (subject) {
|
||||
win_save_vprint(&mucwin->super, '!', NULL, NO_EOL, THEME_ROOMINFO, "", "Room subject: ");
|
||||
win_save_vprint(&mucwin->super, '!', NULL, NO_DATE, 0, "", "%s", subject);
|
||||
win_save_vprint(window, '!', NULL, NO_EOL, THEME_ROOMINFO, "", "Room subject: ");
|
||||
win_save_vprint(window, '!', NULL, NO_DATE, 0, "", "%s", subject);
|
||||
} else {
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, THEME_ROOMINFO, "", "Room has no subject");
|
||||
win_save_print(window, '!', NULL, 0, THEME_ROOMINFO, "", "Room has no subject");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -2464,7 +2470,7 @@ cmd_affiliation(gchar **args, struct cmd_help_t help)
|
||||
iq_room_affiliation_list(mucwin->roomjid, "member");
|
||||
iq_room_affiliation_list(mucwin->roomjid, "outcast");
|
||||
} else if (g_strcmp0(affiliation, "none") == 0) {
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "Cannot list users with no affiliation.");
|
||||
win_save_print((ProfWin*) mucwin, '!', NULL, 0, 0, "", "Cannot list users with no affiliation.");
|
||||
} else {
|
||||
iq_room_affiliation_list(mucwin->roomjid, affiliation);
|
||||
}
|
||||
@ -2532,7 +2538,7 @@ cmd_role(gchar **args, struct cmd_help_t help)
|
||||
iq_room_role_list(mucwin->roomjid, "participant");
|
||||
iq_room_role_list(mucwin->roomjid, "visitor");
|
||||
} else if (g_strcmp0(role, "none") == 0) {
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "Cannot list users with no role.");
|
||||
win_save_print((ProfWin*) mucwin, '!', NULL, 0, 0, "", "Cannot list users with no role.");
|
||||
} else {
|
||||
iq_room_role_list(mucwin->roomjid, role);
|
||||
}
|
||||
@ -2584,7 +2590,8 @@ cmd_room(gchar **args, struct cmd_help_t help)
|
||||
}
|
||||
|
||||
ProfMucWin *mucwin = wins_get_current_muc();
|
||||
int num = wins_get_num(&mucwin->super);
|
||||
ProfWin *window = (ProfWin*) mucwin;
|
||||
int num = wins_get_num(window);
|
||||
|
||||
int ui_index = num;
|
||||
if (ui_index == 10) {
|
||||
@ -2594,12 +2601,12 @@ cmd_room(gchar **args, struct cmd_help_t help)
|
||||
if (g_strcmp0(args[0], "accept") == 0) {
|
||||
gboolean requires_config = muc_requires_config(mucwin->roomjid);
|
||||
if (!requires_config) {
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, THEME_ROOMINFO, "", "Current room does not require configuration.");
|
||||
win_save_print(window, '!', NULL, 0, THEME_ROOMINFO, "", "Current room does not require configuration.");
|
||||
return TRUE;
|
||||
} else {
|
||||
iq_confirm_instant_room(mucwin->roomjid);
|
||||
muc_set_requires_config(mucwin->roomjid, FALSE);
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, THEME_ROOMINFO, "", "Room unlocked.");
|
||||
win_save_print(window, '!', NULL, 0, THEME_ROOMINFO, "", "Room unlocked.");
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@ -2616,7 +2623,7 @@ cmd_room(gchar **args, struct cmd_help_t help)
|
||||
g_string_free(win_title, TRUE);
|
||||
|
||||
if (confwin != NULL) {
|
||||
num = wins_get_num(&confwin->super);
|
||||
num = wins_get_num(window);
|
||||
ui_switch_win(num);
|
||||
} else {
|
||||
iq_request_room_config_form(mucwin->roomjid);
|
||||
|
173
src/ui/core.c
173
src/ui/core.c
@ -270,6 +270,7 @@ static void
|
||||
_ui_contact_typing(const char * const barejid)
|
||||
{
|
||||
ProfChatWin *chatwin = wins_get_chat(barejid);
|
||||
ProfWin *window = (ProfWin*) chatwin;
|
||||
|
||||
if (prefs_get_boolean(PREF_INTYPE)) {
|
||||
// no chat window for user
|
||||
@ -277,22 +278,22 @@ _ui_contact_typing(const char * const barejid)
|
||||
cons_show_typing(barejid);
|
||||
|
||||
// have chat window but not currently in it
|
||||
} else if (!wins_is_current(&chatwin->super)) {
|
||||
} else if (!wins_is_current(window)) {
|
||||
cons_show_typing(barejid);
|
||||
|
||||
// in chat window with user
|
||||
} else {
|
||||
title_bar_set_typing(TRUE);
|
||||
|
||||
int num = wins_get_num(&chatwin->super);
|
||||
int num = wins_get_num(window);
|
||||
status_bar_active(num);
|
||||
}
|
||||
}
|
||||
|
||||
if (prefs_get_boolean(PREF_NOTIFY_TYPING)) {
|
||||
gboolean is_current = FALSE;
|
||||
if (&chatwin->super != NULL) {
|
||||
is_current = wins_is_current(&chatwin->super);
|
||||
if (window) {
|
||||
is_current = wins_is_current(window);
|
||||
}
|
||||
if ( !is_current || (is_current && prefs_get_boolean(PREF_NOTIFY_TYPING_CURRENT)) ) {
|
||||
PContact contact = roster_get_contact(barejid);
|
||||
@ -349,11 +350,13 @@ _ui_incoming_msg(const char * const barejid, const char * const message, GTimeVa
|
||||
win_created = TRUE;
|
||||
}
|
||||
|
||||
int num = wins_get_num(&chatwin->super);
|
||||
ProfWin *window = (ProfWin*) chatwin;
|
||||
|
||||
int num = wins_get_num(window);
|
||||
|
||||
// currently viewing chat window with sender
|
||||
if (wins_is_current(&chatwin->super)) {
|
||||
win_print_incoming_message(&chatwin->super, tv_stamp, display_from, message);
|
||||
if (wins_is_current(window)) {
|
||||
win_print_incoming_message(window, tv_stamp, display_from, message);
|
||||
title_bar_set_typing(FALSE);
|
||||
status_bar_active(num);
|
||||
|
||||
@ -366,7 +369,7 @@ _ui_incoming_msg(const char * const barejid, const char * const message, GTimeVa
|
||||
flash();
|
||||
}
|
||||
|
||||
chatwin->super.unread++;
|
||||
window->unread++;
|
||||
if (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY)) {
|
||||
_win_show_history(num, barejid);
|
||||
}
|
||||
@ -375,11 +378,11 @@ _ui_incoming_msg(const char * const barejid, const char * const message, GTimeVa
|
||||
if ((tv_stamp != NULL) && (win_created)) {
|
||||
PContact pcontact = roster_get_contact(barejid);
|
||||
if (pcontact != NULL) {
|
||||
win_show_contact(&chatwin->super, pcontact);
|
||||
win_show_contact(window, pcontact);
|
||||
}
|
||||
}
|
||||
|
||||
win_print_incoming_message(&chatwin->super, tv_stamp, display_from, message);
|
||||
win_print_incoming_message(window, tv_stamp, display_from, message);
|
||||
}
|
||||
|
||||
int ui_index = num;
|
||||
@ -392,7 +395,7 @@ _ui_incoming_msg(const char * const barejid, const char * const message, GTimeVa
|
||||
}
|
||||
|
||||
if (prefs_get_boolean(PREF_NOTIFY_MESSAGE)) {
|
||||
gboolean is_current = wins_is_current(&chatwin->super);
|
||||
gboolean is_current = wins_is_current(window);
|
||||
if ( !is_current || (is_current && prefs_get_boolean(PREF_NOTIFY_MESSAGE_CURRENT)) ) {
|
||||
if (prefs_get_boolean(PREF_NOTIFY_MESSAGE_TEXT)) {
|
||||
notify_message(display_from, ui_index, message);
|
||||
@ -417,11 +420,12 @@ _ui_incoming_private_msg(const char * const fulljid, const char * const message,
|
||||
privatewin = (ProfPrivateWin*)window;
|
||||
}
|
||||
|
||||
int num = wins_get_num(&privatewin->super);
|
||||
ProfWin *window = (ProfWin*) privatewin;
|
||||
int num = wins_get_num(window);
|
||||
|
||||
// currently viewing chat window with sender
|
||||
if (wins_is_current(&privatewin->super)) {
|
||||
win_print_incoming_message(&privatewin->super, tv_stamp, display_from, message);
|
||||
if (wins_is_current(window)) {
|
||||
win_print_incoming_message(window, tv_stamp, display_from, message);
|
||||
title_bar_set_typing(FALSE);
|
||||
status_bar_active(num);
|
||||
|
||||
@ -434,12 +438,12 @@ _ui_incoming_private_msg(const char * const fulljid, const char * const message,
|
||||
flash();
|
||||
}
|
||||
|
||||
privatewin->super.unread++;
|
||||
window->unread++;
|
||||
if (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY)) {
|
||||
_win_show_history(num, fulljid);
|
||||
}
|
||||
|
||||
win_print_incoming_message(&privatewin->super, tv_stamp, display_from, message);
|
||||
win_print_incoming_message(window, tv_stamp, display_from, message);
|
||||
}
|
||||
|
||||
int ui_index = num;
|
||||
@ -452,7 +456,7 @@ _ui_incoming_private_msg(const char * const fulljid, const char * const message,
|
||||
}
|
||||
|
||||
if (prefs_get_boolean(PREF_NOTIFY_MESSAGE)) {
|
||||
gboolean is_current = wins_is_current(&privatewin->super);
|
||||
gboolean is_current = wins_is_current(window);
|
||||
if ( !is_current || (is_current && prefs_get_boolean(PREF_NOTIFY_MESSAGE_CURRENT)) ) {
|
||||
if (prefs_get_boolean(PREF_NOTIFY_MESSAGE_TEXT)) {
|
||||
notify_message(display_from, ui_index, message);
|
||||
@ -580,8 +584,7 @@ _ui_handle_recipient_not_found(const char * const recipient, const char * const
|
||||
ProfChatWin *chatwin = wins_get_chat(recipient);
|
||||
if (chatwin) {
|
||||
cons_show_error("Recipient %s not found: %s", recipient, err_msg);
|
||||
// TODO change super references to superclass cast
|
||||
win_save_vprint(&chatwin->super, '!', NULL, 0, THEME_ERROR, "", "Recipient %s not found: %s", recipient, err_msg);
|
||||
win_save_vprint((ProfWin*) chatwin, '!', NULL, 0, THEME_ERROR, "", "Recipient %s not found: %s", recipient, err_msg);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -589,7 +592,7 @@ _ui_handle_recipient_not_found(const char * const recipient, const char * const
|
||||
ProfMucWin *mucwin = wins_get_muc(recipient);
|
||||
if (mucwin) {
|
||||
cons_show_error("Room %s not found: %s", recipient, err_msg);
|
||||
win_save_vprint(&mucwin->super, '!', NULL, 0, THEME_ERROR, "", "Room %s not found: %s", recipient, err_msg);
|
||||
win_save_vprint((ProfWin*) mucwin, '!', NULL, 0, THEME_ERROR, "", "Room %s not found: %s", recipient, err_msg);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -597,7 +600,7 @@ _ui_handle_recipient_not_found(const char * const recipient, const char * const
|
||||
ProfPrivateWin *privatewin = wins_get_private(recipient);
|
||||
if (privatewin) {
|
||||
cons_show_error("Recipient %s not found: %s", recipient, err_msg);
|
||||
win_save_vprint(&privatewin->super, '!', NULL, 0, THEME_ERROR, "", "Recipient %s not found: %s", recipient, err_msg);
|
||||
win_save_vprint((ProfWin*) privatewin, '!', NULL, 0, THEME_ERROR, "", "Recipient %s not found: %s", recipient, err_msg);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2342,42 +2345,44 @@ _ui_show_room_info(ProfMucWin *mucwin)
|
||||
char *role = muc_role_str(mucwin->roomjid);
|
||||
char *affiliation = muc_affiliation_str(mucwin->roomjid);
|
||||
|
||||
win_save_vprint(&mucwin->super, '!', NULL, 0, 0, "", "Room: %s", mucwin->roomjid);
|
||||
win_save_vprint(&mucwin->super, '!', NULL, 0, 0, "", "Affiliation: %s", affiliation);
|
||||
win_save_vprint(&mucwin->super, '!', NULL, 0, 0, "", "Role: %s", role);
|
||||
win_save_print(&mucwin->super, '-', NULL, 0, 0, "", "");
|
||||
ProfWin *window = (ProfWin*) mucwin;
|
||||
win_save_vprint(window, '!', NULL, 0, 0, "", "Room: %s", mucwin->roomjid);
|
||||
win_save_vprint(window, '!', NULL, 0, 0, "", "Affiliation: %s", affiliation);
|
||||
win_save_vprint(window, '!', NULL, 0, 0, "", "Role: %s", role);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", "");
|
||||
}
|
||||
|
||||
static void
|
||||
_ui_show_room_role_list(ProfMucWin *mucwin, muc_role_t role)
|
||||
{
|
||||
ProfWin *window = (ProfWin*) mucwin;
|
||||
GSList *occupants = muc_occupants_by_role(mucwin->roomjid, role);
|
||||
|
||||
if (!occupants) {
|
||||
switch (role) {
|
||||
case MUC_ROLE_MODERATOR:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "No moderators found.");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "No moderators found.");
|
||||
break;
|
||||
case MUC_ROLE_PARTICIPANT:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "No participants found.");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "No participants found.");
|
||||
break;
|
||||
case MUC_ROLE_VISITOR:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "No visitors found.");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "No visitors found.");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
win_save_print(&mucwin->super, '-', NULL, 0, 0, "", "");
|
||||
win_save_print(window, '-', NULL, 0, 0, "", "");
|
||||
} else {
|
||||
switch (role) {
|
||||
case MUC_ROLE_MODERATOR:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "Moderators:");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "Moderators:");
|
||||
break;
|
||||
case MUC_ROLE_PARTICIPANT:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "Participants:");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "Participants:");
|
||||
break;
|
||||
case MUC_ROLE_VISITOR:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "Visitors:");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "Visitors:");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -2388,55 +2393,56 @@ _ui_show_room_role_list(ProfMucWin *mucwin, muc_role_t role)
|
||||
Occupant *occupant = curr_occupant->data;
|
||||
if (occupant->role == role) {
|
||||
if (occupant->jid) {
|
||||
win_save_vprint(&mucwin->super, '!', NULL, 0, 0, "", " %s (%s)", occupant->nick, occupant->jid);
|
||||
win_save_vprint(window, '!', NULL, 0, 0, "", " %s (%s)", occupant->nick, occupant->jid);
|
||||
} else {
|
||||
win_save_vprint(&mucwin->super, '!', NULL, 0, 0, "", " %s", occupant->nick);
|
||||
win_save_vprint(window, '!', NULL, 0, 0, "", " %s", occupant->nick);
|
||||
}
|
||||
}
|
||||
|
||||
curr_occupant = g_slist_next(curr_occupant);
|
||||
}
|
||||
|
||||
win_save_print(&mucwin->super, '-', NULL, 0, 0, "", "");
|
||||
win_save_print(window, '-', NULL, 0, 0, "", "");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_ui_show_room_affiliation_list(ProfMucWin *mucwin, muc_affiliation_t affiliation)
|
||||
{
|
||||
ProfWin *window = (ProfWin*) mucwin;
|
||||
GSList *occupants = muc_occupants_by_affiliation(mucwin->roomjid, affiliation);
|
||||
|
||||
if (!occupants) {
|
||||
switch (affiliation) {
|
||||
case MUC_AFFILIATION_OWNER:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "No owners found.");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "No owners found.");
|
||||
break;
|
||||
case MUC_AFFILIATION_ADMIN:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "No admins found.");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "No admins found.");
|
||||
break;
|
||||
case MUC_AFFILIATION_MEMBER:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "No members found.");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "No members found.");
|
||||
break;
|
||||
case MUC_AFFILIATION_OUTCAST:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "No outcasts found.");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "No outcasts found.");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
win_save_print(&mucwin->super, '-', NULL, 0, 0, "", "");
|
||||
win_save_print(window, '-', NULL, 0, 0, "", "");
|
||||
} else {
|
||||
switch (affiliation) {
|
||||
case MUC_AFFILIATION_OWNER:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "Owners:");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "Owners:");
|
||||
break;
|
||||
case MUC_AFFILIATION_ADMIN:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "Admins:");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "Admins:");
|
||||
break;
|
||||
case MUC_AFFILIATION_MEMBER:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "Members:");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "Members:");
|
||||
break;
|
||||
case MUC_AFFILIATION_OUTCAST:
|
||||
win_save_print(&mucwin->super, '!', NULL, 0, 0, "", "Outcasts:");
|
||||
win_save_print(window, '!', NULL, 0, 0, "", "Outcasts:");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -2447,16 +2453,16 @@ _ui_show_room_affiliation_list(ProfMucWin *mucwin, muc_affiliation_t affiliation
|
||||
Occupant *occupant = curr_occupant->data;
|
||||
if (occupant->affiliation == affiliation) {
|
||||
if (occupant->jid) {
|
||||
win_save_vprint(&mucwin->super, '!', NULL, 0, 0, "", " %s (%s)", occupant->nick, occupant->jid);
|
||||
win_save_vprint(window, '!', NULL, 0, 0, "", " %s (%s)", occupant->nick, occupant->jid);
|
||||
} else {
|
||||
win_save_vprint(&mucwin->super, '!', NULL, 0, 0, "", " %s", occupant->nick);
|
||||
win_save_vprint(window, '!', NULL, 0, 0, "", " %s", occupant->nick);
|
||||
}
|
||||
}
|
||||
|
||||
curr_occupant = g_slist_next(curr_occupant);
|
||||
}
|
||||
|
||||
win_save_print(&mucwin->super, '-', NULL, 0, 0, "", "");
|
||||
win_save_print(window, '-', NULL, 0, 0, "", "");
|
||||
}
|
||||
}
|
||||
|
||||
@ -2594,16 +2600,17 @@ _ui_handle_form_field(ProfWin *window, char *tag, FormField *field)
|
||||
static void
|
||||
_ui_show_form(ProfMucConfWin *confwin)
|
||||
{
|
||||
ProfWin *window = (ProfWin*) confwin;
|
||||
if (confwin->form->title != NULL) {
|
||||
win_save_print(&confwin->super, '-', NULL, NO_EOL, 0, "", "Form title: ");
|
||||
win_save_print(&confwin->super, '-', NULL, NO_DATE, 0, "", confwin->form->title);
|
||||
win_save_print(window, '-', NULL, NO_EOL, 0, "", "Form title: ");
|
||||
win_save_print(window, '-', NULL, NO_DATE, 0, "", confwin->form->title);
|
||||
} else {
|
||||
gchar **split_recipient = g_strsplit(confwin->from, " ", 2);
|
||||
char *roomjid = split_recipient[0];
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", "Configuration for room %s.", roomjid);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", "Configuration for room %s.", roomjid);
|
||||
g_strfreev(split_recipient);
|
||||
}
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", "");
|
||||
win_save_print(window, '-', NULL, 0, 0, "", "");
|
||||
|
||||
ui_show_form_help(confwin);
|
||||
|
||||
@ -2615,11 +2622,11 @@ _ui_show_form(ProfMucConfWin *confwin)
|
||||
if ((g_strcmp0(field->type, "fixed") == 0) && field->values) {
|
||||
if (field->values) {
|
||||
char *value = field->values->data;
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", value);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", value);
|
||||
}
|
||||
} else if (g_strcmp0(field->type, "hidden") != 0 && field->var) {
|
||||
char *tag = g_hash_table_lookup(confwin->form->var_to_tag, field->var);
|
||||
_ui_handle_form_field(&confwin->super, tag, field);
|
||||
_ui_handle_form_field(window, tag, field);
|
||||
}
|
||||
|
||||
curr_field = g_slist_next(curr_field);
|
||||
@ -2755,18 +2762,19 @@ _ui_handle_room_config_submit_result_error(const char * const roomjid, const cha
|
||||
static void
|
||||
_ui_show_form_field_help(ProfMucConfWin *confwin, char *tag)
|
||||
{
|
||||
ProfWin *window = (ProfWin*) confwin;
|
||||
FormField *field = form_get_field_by_tag(confwin->form, tag);
|
||||
if (field != NULL) {
|
||||
win_save_print(&confwin->super, '-', NULL, NO_EOL, 0, "", field->label);
|
||||
win_save_print(window, '-', NULL, NO_EOL, 0, "", field->label);
|
||||
if (field->required) {
|
||||
win_save_print(&confwin->super, '-', NULL, NO_DATE, 0, "", " (Required):");
|
||||
win_save_print(window, '-', NULL, NO_DATE, 0, "", " (Required):");
|
||||
} else {
|
||||
win_save_print(&confwin->super, '-', NULL, NO_DATE, 0, "", ":");
|
||||
win_save_print(window, '-', NULL, NO_DATE, 0, "", ":");
|
||||
}
|
||||
if (field->description != NULL) {
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Description : %s", field->description);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Description : %s", field->description);
|
||||
}
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Type : %s", field->type);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Type : %s", field->type);
|
||||
|
||||
int num_values = 0;
|
||||
GSList *curr_option = NULL;
|
||||
@ -2775,51 +2783,51 @@ _ui_show_form_field_help(ProfMucConfWin *confwin, char *tag)
|
||||
switch (field->type_t) {
|
||||
case FIELD_TEXT_SINGLE:
|
||||
case FIELD_TEXT_PRIVATE:
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Set : /%s <value>", tag);
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", " Where : <value> is any text");
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Set : /%s <value>", tag);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", " Where : <value> is any text");
|
||||
break;
|
||||
case FIELD_TEXT_MULTI:
|
||||
num_values = form_get_value_count(confwin->form, tag);
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Add : /%s add <value>", tag);
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", " Where : <value> is any text");
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Add : /%s add <value>", tag);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", " Where : <value> is any text");
|
||||
if (num_values > 0) {
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Remove : /%s remove <value>", tag);
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Where : <value> between 'val1' and 'val%d'", num_values);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Remove : /%s remove <value>", tag);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Where : <value> between 'val1' and 'val%d'", num_values);
|
||||
}
|
||||
break;
|
||||
case FIELD_BOOLEAN:
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Set : /%s <value>", tag);
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", " Where : <value> is either 'on' or 'off'");
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Set : /%s <value>", tag);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", " Where : <value> is either 'on' or 'off'");
|
||||
break;
|
||||
case FIELD_LIST_SINGLE:
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Set : /%s <value>", tag);
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", " Where : <value> is one of");
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Set : /%s <value>", tag);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", " Where : <value> is one of");
|
||||
curr_option = field->options;
|
||||
while (curr_option != NULL) {
|
||||
option = curr_option->data;
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " %s", option->value);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " %s", option->value);
|
||||
curr_option = g_slist_next(curr_option);
|
||||
}
|
||||
break;
|
||||
case FIELD_LIST_MULTI:
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Add : /%s add <value>", tag);
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Remove : /%s remove <value>", tag);
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", " Where : <value> is one of");
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Add : /%s add <value>", tag);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Remove : /%s remove <value>", tag);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", " Where : <value> is one of");
|
||||
curr_option = field->options;
|
||||
while (curr_option != NULL) {
|
||||
option = curr_option->data;
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " %s", option->value);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " %s", option->value);
|
||||
curr_option = g_slist_next(curr_option);
|
||||
}
|
||||
break;
|
||||
case FIELD_JID_SINGLE:
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Set : /%s <value>", tag);
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", " Where : <value> is a valid Jabber ID");
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Set : /%s <value>", tag);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", " Where : <value> is a valid Jabber ID");
|
||||
break;
|
||||
case FIELD_JID_MULTI:
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Add : /%s add <value>", tag);
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", " Remove : /%s remove <value>", tag);
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", " Where : <value> is a valid Jabber ID");
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Add : /%s add <value>", tag);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", " Remove : /%s remove <value>", tag);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", " Where : <value> is a valid Jabber ID");
|
||||
break;
|
||||
case FIELD_FIXED:
|
||||
case FIELD_UNKNOWN:
|
||||
@ -2828,7 +2836,7 @@ _ui_show_form_field_help(ProfMucConfWin *confwin, char *tag)
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
win_save_vprint(&confwin->super, '-', NULL, 0, 0, "", "No such field %s", tag);
|
||||
win_save_vprint(window, '-', NULL, 0, 0, "", "No such field %s", tag);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2836,9 +2844,10 @@ static void
|
||||
_ui_show_form_help(ProfMucConfWin *confwin)
|
||||
{
|
||||
if (confwin->form->instructions != NULL) {
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", "Supplied instructions:");
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", confwin->form->instructions);
|
||||
win_save_print(&confwin->super, '-', NULL, 0, 0, "", "");
|
||||
ProfWin *window = (ProfWin*) confwin;
|
||||
win_save_print(window, '-', NULL, 0, 0, "", "Supplied instructions:");
|
||||
win_save_print(window, '-', NULL, 0, 0, "", confwin->form->instructions);
|
||||
win_save_print(window, '-', NULL, 0, 0, "", "");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ _occupantswin_occupants(const char * const roomjid)
|
||||
if (mucwin) {
|
||||
GList *occupants = muc_roster(roomjid);
|
||||
if (occupants) {
|
||||
ProfLayoutSplit *layout = (ProfLayoutSplit*)mucwin->super.layout;
|
||||
ProfLayoutSplit *layout = (ProfLayoutSplit*)mucwin->window.layout;
|
||||
assert(layout->memcheck == LAYOUT_SPLIT_MEMCHECK);
|
||||
|
||||
werase(layout->subwin);
|
||||
|
110
src/ui/window.c
110
src/ui/window.c
@ -83,15 +83,15 @@ _win_create_simple_layout(void)
|
||||
int cols = getmaxx(stdscr);
|
||||
|
||||
ProfLayoutSimple *layout = malloc(sizeof(ProfLayoutSimple));
|
||||
layout->super.type = LAYOUT_SIMPLE;
|
||||
layout->super.win = newpad(PAD_SIZE, cols);
|
||||
wbkgd(layout->super.win, theme_attrs(THEME_TEXT));
|
||||
layout->super.buffer = buffer_create();
|
||||
layout->super.y_pos = 0;
|
||||
layout->super.paged = 0;
|
||||
scrollok(layout->super.win, TRUE);
|
||||
layout->base.type = LAYOUT_SIMPLE;
|
||||
layout->base.win = newpad(PAD_SIZE, cols);
|
||||
wbkgd(layout->base.win, theme_attrs(THEME_TEXT));
|
||||
layout->base.buffer = buffer_create();
|
||||
layout->base.y_pos = 0;
|
||||
layout->base.paged = 0;
|
||||
scrollok(layout->base.win, TRUE);
|
||||
|
||||
return &layout->super;
|
||||
return &layout->base;
|
||||
}
|
||||
|
||||
static ProfLayout*
|
||||
@ -100,40 +100,40 @@ _win_create_split_layout(void)
|
||||
int cols = getmaxx(stdscr);
|
||||
|
||||
ProfLayoutSplit *layout = malloc(sizeof(ProfLayoutSplit));
|
||||
layout->super.type = LAYOUT_SPLIT;
|
||||
layout->super.win = newpad(PAD_SIZE, cols);
|
||||
wbkgd(layout->super.win, theme_attrs(THEME_TEXT));
|
||||
layout->super.buffer = buffer_create();
|
||||
layout->super.y_pos = 0;
|
||||
layout->super.paged = 0;
|
||||
scrollok(layout->super.win, TRUE);
|
||||
layout->base.type = LAYOUT_SPLIT;
|
||||
layout->base.win = newpad(PAD_SIZE, cols);
|
||||
wbkgd(layout->base.win, theme_attrs(THEME_TEXT));
|
||||
layout->base.buffer = buffer_create();
|
||||
layout->base.y_pos = 0;
|
||||
layout->base.paged = 0;
|
||||
scrollok(layout->base.win, TRUE);
|
||||
layout->subwin = NULL;
|
||||
layout->sub_y_pos = 0;
|
||||
layout->memcheck = LAYOUT_SPLIT_MEMCHECK;
|
||||
|
||||
return &layout->super;
|
||||
return &layout->base;
|
||||
}
|
||||
|
||||
ProfWin*
|
||||
win_create_console(void)
|
||||
{
|
||||
ProfConsoleWin *new_win = malloc(sizeof(ProfConsoleWin));
|
||||
new_win->super.type = WIN_CONSOLE;
|
||||
new_win->super.layout = _win_create_split_layout();
|
||||
new_win->super.unread = 0;
|
||||
new_win->window.type = WIN_CONSOLE;
|
||||
new_win->window.layout = _win_create_split_layout();
|
||||
new_win->window.unread = 0;
|
||||
|
||||
new_win->from = strdup(CONS_WIN_TITLE);
|
||||
|
||||
return &new_win->super;
|
||||
return &new_win->window;
|
||||
}
|
||||
|
||||
ProfWin*
|
||||
win_create_chat(const char * const barejid)
|
||||
{
|
||||
ProfChatWin *new_win = malloc(sizeof(ProfChatWin));
|
||||
new_win->super.type = WIN_CHAT;
|
||||
new_win->super.layout = _win_create_simple_layout();
|
||||
new_win->super.unread = 0;
|
||||
new_win->window.type = WIN_CHAT;
|
||||
new_win->window.layout = _win_create_simple_layout();
|
||||
new_win->window.unread = 0;
|
||||
|
||||
new_win->barejid = strdup(barejid);
|
||||
new_win->resource = NULL;
|
||||
@ -143,7 +143,7 @@ win_create_chat(const char * const barejid)
|
||||
|
||||
new_win->memcheck = PROFCHATWIN_MEMCHECK;
|
||||
|
||||
return &new_win->super;
|
||||
return &new_win->window;
|
||||
}
|
||||
|
||||
ProfWin*
|
||||
@ -152,80 +152,80 @@ win_create_muc(const char * const roomjid)
|
||||
ProfMucWin *new_win = malloc(sizeof(ProfMucWin));
|
||||
int cols = getmaxx(stdscr);
|
||||
|
||||
new_win->super.type = WIN_MUC;
|
||||
new_win->window.type = WIN_MUC;
|
||||
|
||||
ProfLayoutSplit *layout = malloc(sizeof(ProfLayoutSplit));
|
||||
layout->super.type = LAYOUT_SPLIT;
|
||||
layout->base.type = LAYOUT_SPLIT;
|
||||
|
||||
if (prefs_get_boolean(PREF_OCCUPANTS)) {
|
||||
int subwin_cols = win_occpuants_cols();
|
||||
layout->super.win = newpad(PAD_SIZE, cols - subwin_cols);
|
||||
wbkgd(layout->super.win, theme_attrs(THEME_TEXT));
|
||||
layout->base.win = newpad(PAD_SIZE, cols - subwin_cols);
|
||||
wbkgd(layout->base.win, theme_attrs(THEME_TEXT));
|
||||
layout->subwin = newpad(PAD_SIZE, subwin_cols);;
|
||||
wbkgd(layout->subwin, theme_attrs(THEME_TEXT));
|
||||
} else {
|
||||
layout->super.win = newpad(PAD_SIZE, (cols));
|
||||
wbkgd(layout->super.win, theme_attrs(THEME_TEXT));
|
||||
layout->base.win = newpad(PAD_SIZE, (cols));
|
||||
wbkgd(layout->base.win, theme_attrs(THEME_TEXT));
|
||||
layout->subwin = NULL;
|
||||
}
|
||||
layout->sub_y_pos = 0;
|
||||
layout->memcheck = LAYOUT_SPLIT_MEMCHECK;
|
||||
layout->super.buffer = buffer_create();
|
||||
layout->super.y_pos = 0;
|
||||
layout->super.paged = 0;
|
||||
scrollok(layout->super.win, TRUE);
|
||||
new_win->super.layout = (ProfLayout*)layout;
|
||||
layout->base.buffer = buffer_create();
|
||||
layout->base.y_pos = 0;
|
||||
layout->base.paged = 0;
|
||||
scrollok(layout->base.win, TRUE);
|
||||
new_win->window.layout = (ProfLayout*)layout;
|
||||
|
||||
new_win->roomjid = strdup(roomjid);
|
||||
new_win->super.unread = 0;
|
||||
new_win->window.unread = 0;
|
||||
|
||||
new_win->memcheck = PROFMUCWIN_MEMCHECK;
|
||||
|
||||
return &new_win->super;
|
||||
return &new_win->window;
|
||||
}
|
||||
|
||||
ProfWin*
|
||||
win_create_muc_config(const char * const title, DataForm *form)
|
||||
{
|
||||
ProfMucConfWin *new_win = malloc(sizeof(ProfMucConfWin));
|
||||
new_win->super.type = WIN_MUC_CONFIG;
|
||||
new_win->super.layout = _win_create_simple_layout();
|
||||
new_win->super.unread = 0;
|
||||
new_win->window.type = WIN_MUC_CONFIG;
|
||||
new_win->window.layout = _win_create_simple_layout();
|
||||
new_win->window.unread = 0;
|
||||
|
||||
new_win->from = strdup(title);
|
||||
new_win->form = form;
|
||||
|
||||
new_win->memcheck = PROFCONFWIN_MEMCHECK;
|
||||
|
||||
return &new_win->super;
|
||||
return &new_win->window;
|
||||
}
|
||||
|
||||
ProfWin*
|
||||
win_create_private(const char * const fulljid)
|
||||
{
|
||||
ProfPrivateWin *new_win = malloc(sizeof(ProfPrivateWin));
|
||||
new_win->super.type = WIN_PRIVATE;
|
||||
new_win->super.layout = _win_create_simple_layout();
|
||||
new_win->super.unread = 0;
|
||||
new_win->window.type = WIN_PRIVATE;
|
||||
new_win->window.layout = _win_create_simple_layout();
|
||||
new_win->window.unread = 0;
|
||||
|
||||
new_win->fulljid = strdup(fulljid);
|
||||
|
||||
new_win->memcheck = PROFPRIVATEWIN_MEMCHECK;
|
||||
|
||||
return &new_win->super;
|
||||
return &new_win->window;
|
||||
}
|
||||
|
||||
ProfWin*
|
||||
win_create_xmlconsole(void)
|
||||
{
|
||||
ProfXMLWin *new_win = malloc(sizeof(ProfXMLWin));
|
||||
new_win->super.type = WIN_XML;
|
||||
new_win->super.layout = _win_create_simple_layout();
|
||||
new_win->super.unread = 0;
|
||||
new_win->window.type = WIN_XML;
|
||||
new_win->window.layout = _win_create_simple_layout();
|
||||
new_win->window.unread = 0;
|
||||
|
||||
new_win->from = strdup(XML_WIN_TITLE);
|
||||
|
||||
return &new_win->super;
|
||||
return &new_win->window;
|
||||
}
|
||||
|
||||
void
|
||||
@ -239,7 +239,7 @@ win_hide_subwin(ProfWin *window)
|
||||
layout->subwin = NULL;
|
||||
layout->sub_y_pos = 0;
|
||||
int cols = getmaxx(stdscr);
|
||||
wresize(layout->super.win, PAD_SIZE, cols);
|
||||
wresize(layout->base.win, PAD_SIZE, cols);
|
||||
win_redraw(window);
|
||||
} else {
|
||||
int cols = getmaxx(stdscr);
|
||||
@ -267,7 +267,7 @@ win_show_subwin(ProfWin *window)
|
||||
ProfLayoutSplit *layout = (ProfLayoutSplit*)window->layout;
|
||||
layout->subwin = newpad(PAD_SIZE, subwin_cols);
|
||||
wbkgd(layout->subwin, theme_attrs(THEME_TEXT));
|
||||
wresize(layout->super.win, PAD_SIZE, cols - subwin_cols);
|
||||
wresize(layout->base.win, PAD_SIZE, cols - subwin_cols);
|
||||
win_redraw(window);
|
||||
}
|
||||
|
||||
@ -279,8 +279,8 @@ win_free(ProfWin* window)
|
||||
if (layout->subwin) {
|
||||
delwin(layout->subwin);
|
||||
}
|
||||
buffer_free(layout->super.buffer);
|
||||
delwin(layout->super.win);
|
||||
buffer_free(layout->base.buffer);
|
||||
delwin(layout->base.win);
|
||||
} else {
|
||||
buffer_free(window->layout->buffer);
|
||||
delwin(window->layout->win);
|
||||
@ -374,10 +374,10 @@ win_update_virtual(ProfWin *window)
|
||||
} else {
|
||||
subwin_cols = win_roster_cols();
|
||||
}
|
||||
pnoutrefresh(layout->super.win, layout->super.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1);
|
||||
pnoutrefresh(layout->base.win, layout->base.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1);
|
||||
pnoutrefresh(layout->subwin, layout->sub_y_pos, 0, 1, (cols-subwin_cols), rows-3, cols-1);
|
||||
} else {
|
||||
pnoutrefresh(layout->super.win, layout->super.y_pos, 0, 1, 0, rows-3, cols-1);
|
||||
pnoutrefresh(layout->base.win, layout->base.y_pos, 0, 1, 0, rows-3, cols-1);
|
||||
}
|
||||
} else {
|
||||
pnoutrefresh(window->layout->win, window->layout->y_pos, 0, 1, 0, rows-3, cols-1);
|
||||
|
@ -76,11 +76,11 @@ typedef struct prof_layout_t {
|
||||
} ProfLayout;
|
||||
|
||||
typedef struct prof_layout_simple_t {
|
||||
ProfLayout super;
|
||||
ProfLayout base;
|
||||
} ProfLayoutSimple;
|
||||
|
||||
typedef struct prof_layout_split_t {
|
||||
ProfLayout super;
|
||||
ProfLayout base;
|
||||
WINDOW *subwin;
|
||||
int sub_y_pos;
|
||||
unsigned long memcheck;
|
||||
@ -102,12 +102,12 @@ typedef struct prof_win_t {
|
||||
} ProfWin;
|
||||
|
||||
typedef struct prof_console_win_t {
|
||||
ProfWin super;
|
||||
ProfWin window;
|
||||
char *from;
|
||||
} ProfConsoleWin;
|
||||
|
||||
typedef struct prof_chat_win_t {
|
||||
ProfWin super;
|
||||
ProfWin window;
|
||||
char *barejid;
|
||||
gboolean is_otr;
|
||||
gboolean is_trusted;
|
||||
@ -117,26 +117,26 @@ typedef struct prof_chat_win_t {
|
||||
} ProfChatWin;
|
||||
|
||||
typedef struct prof_muc_win_t {
|
||||
ProfWin super;
|
||||
ProfWin window;
|
||||
char *roomjid;
|
||||
unsigned long memcheck;
|
||||
} ProfMucWin;
|
||||
|
||||
typedef struct prof_mucconf_win_t {
|
||||
ProfWin super;
|
||||
ProfWin window;
|
||||
char *from;
|
||||
DataForm *form;
|
||||
unsigned long memcheck;
|
||||
} ProfMucConfWin;
|
||||
|
||||
typedef struct prof_private_win_t {
|
||||
ProfWin super;
|
||||
ProfWin window;
|
||||
char *fulljid;
|
||||
unsigned long memcheck;
|
||||
} ProfPrivateWin;
|
||||
|
||||
typedef struct prof_xml_win_t {
|
||||
ProfWin super;
|
||||
ProfWin window;
|
||||
char *from;
|
||||
} ProfXMLWin;
|
||||
|
||||
|
@ -505,11 +505,11 @@ wins_resize_all(void)
|
||||
} else if (window->type == WIN_MUC) {
|
||||
subwin_cols = win_occpuants_cols();
|
||||
}
|
||||
wresize(layout->super.win, PAD_SIZE, cols - subwin_cols);
|
||||
wresize(layout->base.win, PAD_SIZE, cols - subwin_cols);
|
||||
wresize(layout->subwin, PAD_SIZE, subwin_cols);
|
||||
rosterwin_roster();
|
||||
} else {
|
||||
wresize(layout->super.win, PAD_SIZE, cols);
|
||||
wresize(layout->base.win, PAD_SIZE, cols);
|
||||
}
|
||||
} else {
|
||||
wresize(window->layout->win, PAD_SIZE, cols);
|
||||
@ -551,12 +551,12 @@ wins_show_subwin(ProfWin *window)
|
||||
if (current_win->type == WIN_MUC) {
|
||||
ProfLayoutSplit *layout = (ProfLayoutSplit*)current_win->layout;
|
||||
subwin_cols = win_occpuants_cols();
|
||||
pnoutrefresh(layout->super.win, layout->super.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1);
|
||||
pnoutrefresh(layout->base.win, layout->base.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1);
|
||||
pnoutrefresh(layout->subwin, layout->sub_y_pos, 0, 1, (cols-subwin_cols), rows-3, cols-1);
|
||||
} else if (current_win->type == WIN_CONSOLE) {
|
||||
ProfLayoutSplit *layout = (ProfLayoutSplit*)current_win->layout;
|
||||
subwin_cols = win_roster_cols();
|
||||
pnoutrefresh(layout->super.win, layout->super.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1);
|
||||
pnoutrefresh(layout->base.win, layout->base.y_pos, 0, 1, 0, rows-3, (cols-subwin_cols)-1);
|
||||
pnoutrefresh(layout->subwin, layout->sub_y_pos, 0, 1, (cols-subwin_cols), rows-3, cols-1);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user