diff main.c @ 503:bac3f9af112c

More work on curses cleanup. Almost working now.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 02 Jun 2012 20:03:08 +0300
parents 52da406caf54
children 12939e665e49
line wrap: on
line diff
--- a/main.c	Fri Jun 01 17:45:38 2012 +0300
+++ b/main.c	Sat Jun 02 20:03:08 2012 +0300
@@ -1634,7 +1634,7 @@
         if (cursesInit)
         {
             int c, cnt = 0;
-            BOOL update = FALSE, updateMain = FALSE;
+            BOOL update = FALSE;
 
             // Handle several buffered keypresses at once
             do
@@ -1717,7 +1717,7 @@
                         if (win != NULL)
                         {
                             currWin = win;
-                            update = updateMain = TRUE;
+                            update = TRUE;
                         }
                         c = ERR;
                     }
@@ -1735,7 +1735,7 @@
                     if (win != NULL)
                     {
                         currWin = win;
-                        update = updateMain = TRUE;
+                        update = TRUE;
                     }
                     c = ERR;
                 }
@@ -1749,7 +1749,7 @@
                     erase();
                     timeout(SET_DELAY);
                     nnwin_reset();
-                    update = updateMain = TRUE;
+                    update = TRUE;
                     break;
 #endif
 
@@ -1787,8 +1787,6 @@
                             // Update time value of last sent message for unidle timeouts
                             prevKeepAlive = time(NULL);
                         }
-
-                        updateMain = update = TRUE;
                     }
                     break;
 
@@ -1803,7 +1801,6 @@
                         histPos++;
                         nn_editbuf_free(editBuf);
                         editBuf = nn_editbuf_copy(histBuf[histPos]);
-                        update = TRUE;
                     }
                     break;
 
@@ -1813,7 +1810,6 @@
                         histPos--;
                         nn_editbuf_free(editBuf);
                         editBuf = nn_editbuf_copy(histBuf[histPos]);
-                        update = TRUE;
                     }
                     break;
 
@@ -1823,7 +1819,6 @@
                         editBuf->pos--;
                     while (editBuf->pos > 0 && !isspace((int) editBuf->data[editBuf->pos - 1]))
                         editBuf->pos--;
-                    update = TRUE;
                     editBuf->dirty = TRUE;
                     break;
 
@@ -1833,25 +1828,20 @@
                         editBuf->pos++;
                     while (editBuf->pos < editBuf->len && !isspace((int) editBuf->data[editBuf->pos]))
                         editBuf->pos++;
-                    update = TRUE;
                     editBuf->dirty = TRUE;
                     break;
 
                 case KEY_HOME:
                     nn_editbuf_setpos(editBuf, 0);
-                    update = TRUE;
                     break;
                 case KEY_END:
                     nn_editbuf_setpos(editBuf, editBuf->len);
-                    update = TRUE;
                     break;
                 case KEY_LEFT:
                     nn_editbuf_setpos(editBuf, editBuf->pos - 1);
-                    update = TRUE;
                     break;
                 case KEY_RIGHT:
                     nn_editbuf_setpos(editBuf, editBuf->pos + 1);
-                    update = TRUE;
                     break;
 
                 case KEY_BACKSPACE:
@@ -1859,23 +1849,19 @@
                 case 0x7f:
                     nn_editbuf_delete(editBuf, editBuf->pos - 1);
                     nn_editbuf_setpos(editBuf, editBuf->pos - 1);
-                    update = TRUE;
                     break;
 
                 case KEY_DC: // Delete character
                     nn_editbuf_delete(editBuf, editBuf->pos);
-                    update = TRUE;
                     break;
 
 
                 case KEY_IC: // Ins = Toggle insert / overwrite mode
                     insertMode = !insertMode;
-                    update = TRUE;
                     break;
 
                 case KEY_F(2): // F2 = Clear editbuffer
                     nn_editbuf_clear(editBuf);
-                    update = TRUE;
                     break;
 
                 case KEY_F(5): // F5 = Ignore mode
@@ -1898,11 +1884,10 @@
 
                 case 0x09: // Tab = complete username or command
                     nn_tabcomplete_buffer(editBuf);
-                    update = TRUE;
                     break;
 
                 case 0x0c: // Ctrl + L
-                    wrefresh(stdscr);
+                    update = TRUE;
                     break;
 
                 case KEY_NPAGE:
@@ -1920,7 +1905,7 @@
                             currWin->pos = currWin->data->n - 10;
 
                         if (oldPos != currWin->pos)
-                            updateMain = TRUE;
+                            update = TRUE;
                     }
                     break;
 
@@ -1936,7 +1921,6 @@
                         else
                             nn_editbuf_write(editBuf, editBuf->pos, c);
                         nn_editbuf_setpos(editBuf, editBuf->pos + 1);
-                        update = TRUE;
                     }
                     else
                     {
@@ -1948,7 +1932,7 @@
             }
             while (c != ERR && !exitProg && ++cnt < 10);
 
-            nnwin_update(FALSE, editBuf, optUserName, optUserColor);
+            nnwin_update(update, editBuf, optUserName, optUserColor);
         } // cursesInit
 
         if (++updateCount > 10)