Code evalution.
Now it's possible the deleting files and folders on both sides (local and remote).


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@434 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/vncviewer/FTDialog.cxx b/vncviewer/FTDialog.cxx
index 683547b..5d69108 100644
--- a/vncviewer/FTDialog.cxx
+++ b/vncviewer/FTDialog.cxx
@@ -46,6 +46,7 @@
   m_hwndRemotePath = NULL;
 
   m_FTMenuSource = 0;
+  m_dwNumStatusStrings = 0;
 
   m_szLocalPath[0] = '\0';
   m_szRemotePath[0] = '\0';
@@ -674,7 +675,22 @@
   va_list args;
   va_start(args, format);
   int nSize = _vsnprintf(text, sizeof(text), format, args);
-  SetDlgItemText(m_hwndFTDialog, IDC_FTSTATUS, text);
+
+  HWND hStatusBox = GetDlgItem(m_hwndFTDialog, IDC_FTSTATUS);
+
+  LRESULT lRes = SendMessage(hStatusBox, (UINT) CB_INSERTSTRING, (WPARAM) 0, (LPARAM) text);
+  if ((lRes != CB_ERR) && (lRes != CB_ERRSPACE)) {
+    lRes = SendMessage(hStatusBox, (UINT) CB_SETCURSEL, (WPARAM) lRes, (LPARAM) 0);
+  }
+  
+  m_dwNumStatusStrings++;
+  if (m_dwNumStatusStrings > FT_MAX_STATUS_STRINGS) {
+    int numItems = SendMessage(hStatusBox, (UINT) CB_GETCOUNT, (WPARAM) 0, (LPARAM) 0); 
+    if (numItems != CB_ERR) {
+      m_dwNumStatusStrings--;
+      SendMessage(hStatusBox, (UINT) CB_DELETESTRING, (WPARAM) numItems - 1, (LPARAM) 0); 
+    }
+  }
 }
 
 void