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/FileTransfer.cxx b/vncviewer/FileTransfer.cxx
index 4adceac..6a4e4b7 100644
--- a/vncviewer/FileTransfer.cxx
+++ b/vncviewer/FileTransfer.cxx
@@ -116,9 +116,11 @@
 FileTransfer::checkDeleteQueue()
 {
   if (m_DeleteQueue.getNumEntries() > 0) {
+    if (m_bFTDlgShown) 
+      m_pFTDialog->setStatusText("Delete Operation Executing: %s", m_DeleteQueue.getFullLocPathAt(0));
     if (m_DeleteQueue.getFlagsAt(0) & FT_ATTR_DELETE_LOCAL) {
       FolderManager fm;
-      if (!fm.deleteIt(m_DeleteQueue.getLocNameAt(0))) {
+      if (!fm.deleteIt(m_DeleteQueue.getFullLocPathAt(0))) {
         if (m_bFTDlgShown) m_pFTDialog->setStatusText("Delete Operation Failed");
       } else {
         if (m_bFTDlgShown) m_pFTDialog->setStatusText("Delete Operation Completed");
@@ -130,13 +132,17 @@
         m_pWriter->writeFileDeleteRqst(strlen(m_DeleteQueue.getFullLocPathAt(0)), 
                                        m_DeleteQueue.getFullLocPathAt(0));
 
-        char *pPath = m_DeleteQueue.getRemPathAt(0);
+        char *pPath = m_DeleteQueue.getLocPathAt(0);
         m_queueFileListRqst.add(pPath, 0, 0, FT_FLR_DEST_DELETE);
         m_pWriter->writeFileListRqst(strlen(pPath), pPath, false);
       }
     }
   } else {
-    if (m_bFTDlgShown) m_pFTDialog->setStatusText("Delete Operation Completed Successfully");
+    if (m_bFTDlgShown) {
+      m_pFTDialog->setStatusText("Delete Operation Completed Successfully");
+      PostMessage(m_pFTDialog->getWndHandle(), WM_COMMAND, MAKEWPARAM(IDC_FTLOCALRELOAD, 0), 0);
+      PostMessage(m_pFTDialog->getWndHandle(), WM_COMMAND, MAKEWPARAM(IDC_FTREMOTERELOAD, 0), 0);
+    }
   }
 }
 
@@ -406,7 +412,14 @@
 bool 
 FileTransfer::procFLRDelete(FileInfo *pFI)
 {
-  return false;
+  if (isExistName(pFI, m_DeleteQueue.getLocNameAt(0)) >= 0) {
+    if (m_bFTDlgShown) m_pFTDialog->setStatusText("Delete Operation Failed.");
+  } else {
+    if (m_bFTDlgShown) m_pFTDialog->setStatusText("Delete Operation Completed.");
+  }
+  m_DeleteQueue.deleteAt(0);
+  checkDeleteQueue();
+  return true;
 }
 
 bool