/[weechat]/weechat/src/gui/curses/gui-display.c
ViewVC logotype

Diff of /weechat/src/gui/curses/gui-display.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.102 by flashcode, Thu Jul 14 07:04:45 2005 UTC revision 1.103 by flashcode, Sat Jul 16 11:32:23 2005 UTC
# Line 1503  gui_draw_buffer_input (t_gui_buffer *buf Line 1503  gui_draw_buffer_input (t_gui_buffer *buf
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                  {                  {
# Line 1759  gui_get_dcc_buffer () Line 1759  gui_get_dcc_buffer ()
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    

Legend:
Removed from v.1.102  
changed lines
  Added in v.1.103

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26