mcabber/src/screen.c
changeset 807 f6cda389db48
parent 806 3521e34f722a
child 822 0dbb2be10975
equal deleted inserted replaced
806:3521e34f722a 807:f6cda389db48
    76 static window_entry_t *currentWindow;
    76 static window_entry_t *currentWindow;
    77 
    77 
    78 static int roster_hidden;
    78 static int roster_hidden;
    79 static int chatmode;
    79 static int chatmode;
    80 static int multimode;
    80 static int multimode;
    81 static char *multiline;
    81 static char *multiline, *multimode_subj;
    82 int update_roster;
    82 int update_roster;
    83 int utf8_mode = 0;
    83 int utf8_mode = 0;
    84 static bool Autoaway;
    84 static bool Autoaway;
    85 static bool Curses;
    85 static bool Curses;
    86 
    86 
  1558 
  1558 
  1559 //  scr_set_multimode()
  1559 //  scr_set_multimode()
  1560 // Public function to (un)set multimode...
  1560 // Public function to (un)set multimode...
  1561 // Convention:
  1561 // Convention:
  1562 //  0 = disabled / 1 = multimode / 2 = multimode verbatim (commands disabled)
  1562 //  0 = disabled / 1 = multimode / 2 = multimode verbatim (commands disabled)
  1563 inline void scr_set_multimode(int enable)
  1563 inline void scr_set_multimode(int enable, char *subject)
  1564 {
  1564 {
  1565   if (multiline) {
  1565   g_free(multiline);
  1566     g_free(multiline);
  1566   multiline = NULL;
  1567     multiline = NULL;
  1567 
  1568   }
  1568   g_free(multimode_subj);
       
  1569   if (enable && subject)
       
  1570     multimode_subj = g_strdup(subject);
       
  1571   else
       
  1572     multimode_subj = NULL;
       
  1573 
  1569   multimode = enable;
  1574   multimode = enable;
  1570 }
  1575 }
  1571 
  1576 
  1572 //  scr_get_multiline()
  1577 //  scr_get_multiline()
  1573 // Public function to get the current multi-line.
  1578 // Public function to get the current multi-line.
  1574 inline const char *scr_get_multiline()
  1579 inline const char *scr_get_multiline(void)
  1575 {
  1580 {
  1576   if (multimode && multiline)
  1581   if (multimode && multiline)
  1577     return multiline;
  1582     return multiline;
  1578   else
  1583   return NULL;
  1579     return NULL;
  1584 }
       
  1585 
       
  1586 //  scr_get_multimode_subj()
       
  1587 // Public function to get the multi-line subject, if any.
       
  1588 inline const char *scr_get_multimode_subj(void)
       
  1589 {
       
  1590   if (multimode)
       
  1591     return multimode_subj;
       
  1592   return NULL;
  1580 }
  1593 }
  1581 
  1594 
  1582 //  scr_append_multiline(line)
  1595 //  scr_append_multiline(line)
  1583 // Public function to append a line to the current multi-line message.
  1596 // Public function to append a line to the current multi-line message.
  1584 // Skip empty leading lines.
  1597 // Skip empty leading lines.