1503 |
wnoutrefresh (ptr_win->win_input); |
wnoutrefresh (ptr_win->win_input); |
1504 |
} |
} |
1505 |
|
|
1506 |
if (buffer->input_buffer_size == 0) |
if (buffer->dcc) |
|
buffer->input_buffer[0] = '\0'; |
|
|
|
|
|
input_width = gui_get_input_width (ptr_win); |
|
|
|
|
|
if (buffer->input_buffer_pos - buffer->input_buffer_1st_display + 1 > |
|
|
input_width) |
|
|
buffer->input_buffer_1st_display = buffer->input_buffer_pos - |
|
|
input_width + 1; |
|
|
else |
|
1507 |
{ |
{ |
1508 |
if (buffer->input_buffer_pos < buffer->input_buffer_1st_display) |
dcc_selected = (ptr_win->dcc_selected) ? (t_irc_dcc *) ptr_win->dcc_selected : dcc_list; |
1509 |
buffer->input_buffer_1st_display = buffer->input_buffer_pos; |
wmove (ptr_win->win_input, 0, 0); |
1510 |
else |
if (dcc_selected) |
1511 |
{ |
{ |
1512 |
if ((buffer->input_buffer_1st_display > 0) && |
switch (dcc_selected->status) |
|
(buffer->input_buffer_pos - |
|
|
buffer->input_buffer_1st_display + 1) < input_width) |
|
1513 |
{ |
{ |
1514 |
buffer->input_buffer_1st_display = |
case DCC_WAITING: |
1515 |
buffer->input_buffer_pos - input_width + 1; |
if (DCC_IS_RECV(dcc_selected->type)) |
1516 |
if (buffer->input_buffer_1st_display < 0) |
wprintw (ptr_win->win_input, _(" [A] Accept")); |
1517 |
buffer->input_buffer_1st_display = 0; |
wprintw (ptr_win->win_input, _(" [C] Cancel")); |
1518 |
|
break; |
1519 |
|
case DCC_CONNECTING: |
1520 |
|
case DCC_ACTIVE: |
1521 |
|
wprintw (ptr_win->win_input, _(" [C] Cancel")); |
1522 |
|
break; |
1523 |
|
case DCC_DONE: |
1524 |
|
case DCC_FAILED: |
1525 |
|
case DCC_ABORTED: |
1526 |
|
wprintw (ptr_win->win_input, _(" [R] Remove")); |
1527 |
|
break; |
1528 |
} |
} |
1529 |
} |
} |
1530 |
} |
wprintw (ptr_win->win_input, _(" [P] Purge old DCC")); |
1531 |
if (CHANNEL(buffer)) |
wprintw (ptr_win->win_input, _(" [Q] Close DCC view")); |
|
{ |
|
|
snprintf (format, 32, "%%s %%s> %%-%ds", input_width); |
|
|
if (ptr_win == gui_current_window) |
|
|
mvwprintw (ptr_win->win_input, 0, 0, format, |
|
|
CHANNEL(buffer)->name, |
|
|
SERVER(buffer)->nick, |
|
|
buffer->input_buffer + buffer->input_buffer_1st_display); |
|
|
else |
|
|
mvwprintw (ptr_win->win_input, 0, 0, format, |
|
|
CHANNEL(buffer)->name, |
|
|
SERVER(buffer)->nick, |
|
|
""); |
|
1532 |
wclrtoeol (ptr_win->win_input); |
wclrtoeol (ptr_win->win_input); |
1533 |
ptr_win->win_input_x = strlen (CHANNEL(buffer)->name) + |
ptr_win->win_input_x = 0; |
|
strlen (SERVER(buffer)->nick) + 3 + |
|
|
(buffer->input_buffer_pos - buffer->input_buffer_1st_display); |
|
1534 |
if (ptr_win == gui_current_window) |
if (ptr_win == gui_current_window) |
1535 |
move (ptr_win->win_y + ptr_win->win_height - 1, |
move (ptr_win->win_y + ptr_win->win_height - 1, |
1536 |
ptr_win->win_x + ptr_win->win_input_x); |
ptr_win->win_x); |
1537 |
} |
} |
1538 |
else |
else if (buffer->has_input) |
1539 |
{ |
{ |
1540 |
if (buffer->dcc) |
if (buffer->input_buffer_size == 0) |
1541 |
|
buffer->input_buffer[0] = '\0'; |
1542 |
|
|
1543 |
|
input_width = gui_get_input_width (ptr_win); |
1544 |
|
|
1545 |
|
if (buffer->input_buffer_pos - buffer->input_buffer_1st_display + 1 > |
1546 |
|
input_width) |
1547 |
|
buffer->input_buffer_1st_display = buffer->input_buffer_pos - |
1548 |
|
input_width + 1; |
1549 |
|
else |
1550 |
{ |
{ |
1551 |
dcc_selected = (ptr_win->dcc_selected) ? (t_irc_dcc *) ptr_win->dcc_selected : dcc_list; |
if (buffer->input_buffer_pos < buffer->input_buffer_1st_display) |
1552 |
wmove (ptr_win->win_input, 0, 0); |
buffer->input_buffer_1st_display = buffer->input_buffer_pos; |
1553 |
if (dcc_selected) |
else |
1554 |
{ |
{ |
1555 |
switch (dcc_selected->status) |
if ((buffer->input_buffer_1st_display > 0) && |
1556 |
|
(buffer->input_buffer_pos - |
1557 |
|
buffer->input_buffer_1st_display + 1) < input_width) |
1558 |
{ |
{ |
1559 |
case DCC_WAITING: |
buffer->input_buffer_1st_display = |
1560 |
if (DCC_IS_RECV(dcc_selected->type)) |
buffer->input_buffer_pos - input_width + 1; |
1561 |
wprintw (ptr_win->win_input, _(" [A] Accept")); |
if (buffer->input_buffer_1st_display < 0) |
1562 |
wprintw (ptr_win->win_input, _(" [C] Cancel")); |
buffer->input_buffer_1st_display = 0; |
|
break; |
|
|
case DCC_CONNECTING: |
|
|
case DCC_ACTIVE: |
|
|
wprintw (ptr_win->win_input, _(" [C] Cancel")); |
|
|
break; |
|
|
case DCC_DONE: |
|
|
case DCC_FAILED: |
|
|
case DCC_ABORTED: |
|
|
wprintw (ptr_win->win_input, _(" [R] Remove")); |
|
|
break; |
|
1563 |
} |
} |
1564 |
} |
} |
1565 |
wprintw (ptr_win->win_input, _(" [P] Purge old DCC")); |
} |
1566 |
wprintw (ptr_win->win_input, _(" [Q] Close DCC view")); |
if (CHANNEL(buffer)) |
1567 |
|
{ |
1568 |
|
snprintf (format, 32, "%%s %%s> %%-%ds", input_width); |
1569 |
|
if (ptr_win == gui_current_window) |
1570 |
|
mvwprintw (ptr_win->win_input, 0, 0, format, |
1571 |
|
CHANNEL(buffer)->name, |
1572 |
|
SERVER(buffer)->nick, |
1573 |
|
buffer->input_buffer + buffer->input_buffer_1st_display); |
1574 |
|
else |
1575 |
|
mvwprintw (ptr_win->win_input, 0, 0, format, |
1576 |
|
CHANNEL(buffer)->name, |
1577 |
|
SERVER(buffer)->nick, |
1578 |
|
""); |
1579 |
wclrtoeol (ptr_win->win_input); |
wclrtoeol (ptr_win->win_input); |
1580 |
ptr_win->win_input_x = 0; |
ptr_win->win_input_x = strlen (CHANNEL(buffer)->name) + |
1581 |
|
strlen (SERVER(buffer)->nick) + 3 + |
1582 |
|
(buffer->input_buffer_pos - buffer->input_buffer_1st_display); |
1583 |
if (ptr_win == gui_current_window) |
if (ptr_win == gui_current_window) |
1584 |
move (ptr_win->win_y + ptr_win->win_height - 1, |
move (ptr_win->win_y + ptr_win->win_height - 1, |
1585 |
ptr_win->win_x); |
ptr_win->win_x + ptr_win->win_input_x); |
1586 |
} |
} |
1587 |
else |
else |
1588 |
{ |
{ |
1759 |
} |
} |
1760 |
|
|
1761 |
/* |
/* |
|
* gui_switch_to_dcc_buffer: switch to dcc buffer (create it if it does not exist) |
|
|
*/ |
|
|
|
|
|
void |
|
|
gui_switch_to_dcc_buffer () |
|
|
{ |
|
|
t_gui_buffer *ptr_buffer; |
|
|
|
|
|
if (!gui_ok) |
|
|
return; |
|
|
|
|
|
/* check if dcc buffer exists */ |
|
|
for (ptr_buffer = gui_buffers; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer) |
|
|
{ |
|
|
if (ptr_buffer->dcc) |
|
|
break; |
|
|
} |
|
|
if (ptr_buffer) |
|
|
{ |
|
|
gui_switch_to_buffer (gui_current_window, ptr_buffer); |
|
|
gui_redraw_buffer (ptr_buffer); |
|
|
} |
|
|
else |
|
|
gui_buffer_new (gui_current_window, NULL, NULL, 1, 1); |
|
|
} |
|
|
|
|
|
/* |
|
1762 |
* gui_input_page_up: display previous page on buffer |
* gui_input_page_up: display previous page on buffer |
1763 |
*/ |
*/ |
1764 |
|
|