]> source.dussan.org Git - tigervnc.git/commitdiff
Code improvements.
authorDennis Syrovatsky <dennis@tightvnc.com>
Thu, 10 Nov 2005 04:27:49 +0000 (04:27 +0000)
committerDennis Syrovatsky <dennis@tightvnc.com>
Thu, 10 Nov 2005 04:27:49 +0000 (04:27 +0000)
Added FTDialog::showLocalLVItems(...) method.

git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@389 3789f03b-4d11-0410-bbf8-ca57d06f2519

vncviewer/FTDialog.cxx
vncviewer/FTDialog.h
vncviewer/FileTransfer.cxx
vncviewer/FileTransfer.h

index 49c948ffbb76e54a14f43d88c434a1716e9e4f77..72dd6ae529dac95bdd4a01de8c8a3480abe31c78 100644 (file)
@@ -39,6 +39,11 @@ FTDialog::FTDialog(HINSTANCE hInst, FileTransfer *pFT)
   m_hwndFTDialog = NULL;
   m_hwndLocalPath = NULL;
   m_hwndRemotePath = NULL;
+
+  m_szLocalPath[0] = '\0';
+  m_szRemotePath[0] = '\0';
+  m_szLocalPathTmp[0] = '\0';
+  m_szRemotePathTmp[0] = '\0';
 }
 
 FTDialog::~FTDialog()
@@ -49,7 +54,11 @@ FTDialog::~FTDialog()
 bool
 FTDialog::createFTDialog()
 {
-  if (m_hwndFTDialog != NULL) return true;
+  if (m_hwndFTDialog != NULL) {
+    ShowWindow(m_hwndFTDialog, SW_SHOW);
+    m_bDlgShown = true;
+    return true;
+  }
 
   m_hwndFTDialog = CreateDialogParam(m_hInstance, 
                                      MAKEINTRESOURCE(IDD_FILETRANSFER_DLG),
@@ -96,6 +105,8 @@ FTDialog::initFTDialog()
   m_hwndLocalPath = GetDlgItem(m_hwndLocalPath, IDC_FTLOCALPATH);
   m_hwndRemotePath = GetDlgItem(m_hwndRemotePath, IDC_FTREMOTEPATH);
 
+  showLocalLVItems();
+
   return true;
 }
 
@@ -104,7 +115,7 @@ FTDialog::closeFTDialog()
 {
   ShowWindow(m_hwndFTDialog, SW_HIDE);
   m_bDlgShown = false;
-  return false;
+  return true;
 }
 
 void
@@ -131,62 +142,74 @@ FTDialog::destroyFTDialog()
 BOOL CALLBACK 
 FTDialog::FTDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
-       FTDialog *_this = (FTDialog *) GetWindowLong(hwnd, GWL_USERDATA);
-       switch (uMsg)
-       {
-       case WM_INITDIALOG:
-               SetWindowLong(hwnd, GWL_USERDATA, (LONG) lParam);
-               SetForegroundWindow(hwnd);
-               return TRUE;
-       case WM_COMMAND:
-               {
-               switch (LOWORD(wParam))
-               {
-                       case IDC_FTCLOSE:
-                               _this->closeFTDialog();
-                               return FALSE;
-                       case IDC_FTLOCALUP:
-                               _this->onLocalOneUpFolder();
-                               return FALSE;
-                       case IDC_FTREMOTEUP:
-                               _this->onRemoteOneUpFolder();
-                               return FALSE;
-               }
-               }
-       break;
-
-       case WM_NOTIFY:
-               switch (LOWORD(wParam))
-               {
-               case IDC_FTLOCALLIST:
-                       switch (((LPNMHDR) lParam)->code)
-                       {
-                               case LVN_GETDISPINFO:
-                                       _this->m_pLocalLV->onGetDispInfo((NMLVDISPINFO *) lParam);
-                                       return FALSE;
-                       }
-               break;
-               case IDC_FTREMOTELIST:
-                       switch (((LPNMHDR) lParam)->code)
-                       {
-                               case LVN_GETDISPINFO:
-                                       _this->m_pRemoteLV->onGetDispInfo((NMLVDISPINFO *) lParam);
-                                       return FALSE;
-                       }
-               break;
-               }
-               break;
-       case WM_CLOSE:
-       case WM_DESTROY:
-               _this->closeFTDialog();
-               return FALSE;
-       }
-    return FALSE;
+  FTDialog *_this = (FTDialog *) GetWindowLong(hwnd, GWL_USERDATA);
+  switch (uMsg)
+  {
+  case WM_INITDIALOG:
+    SetWindowLong(hwnd, GWL_USERDATA, (LONG) lParam);
+    SetForegroundWindow(hwnd);
+    return TRUE;
+  case WM_COMMAND:
+    {
+      switch (LOWORD(wParam))
+      {
+      case IDC_FTCLOSE:
+        _this->closeFTDialog();
+        return FALSE;
+      case IDC_FTLOCALUP:
+        _this->onLocalOneUpFolder();
+        return FALSE;
+      case IDC_FTREMOTEUP:
+        _this->onRemoteOneUpFolder();
+        return FALSE;
+      }
+    }
+    break;
+    
+  case WM_NOTIFY:
+    switch (LOWORD(wParam))
+    {
+    case IDC_FTLOCALLIST:
+      switch (((LPNMHDR) lParam)->code)
+      {
+      case LVN_GETDISPINFO:
+        _this->m_pLocalLV->onGetDispInfo((NMLVDISPINFO *) lParam);
+        return FALSE;
+      case LVN_ITEMACTIVATE:
+        _this->onLocalItemActivate((LPNMITEMACTIVATE) lParam);
+        return FALSE;
+      }
+      break;
+    case IDC_FTREMOTELIST:
+      switch (((LPNMHDR) lParam)->code)
+      {
+      case LVN_GETDISPINFO:
+        _this->m_pRemoteLV->onGetDispInfo((NMLVDISPINFO *) lParam);
+        return FALSE;
+      case LVN_ITEMACTIVATE:
+        _this->onRemoteItemActivate((LPNMITEMACTIVATE) lParam);
+        return FALSE;
+      }
+      break;
+    }
+    break;
+    case WM_CLOSE:
+    case WM_DESTROY:
+      _this->closeFTDialog();
+      return FALSE;
+  }
+  return FALSE;
 }
 
 void 
 FTDialog::onLocalItemActivate(LPNMITEMACTIVATE lpnmia)
 {
+  if (strlen(m_szLocalPath) == 0) {
+   strcpy(m_szLocalPathTmp, m_pLocalLV->getActivateItemName(lpnmia)); 
+  } else {
+    sprintf(m_szLocalPathTmp, "%s\\%s", m_szLocalPath, m_pLocalLV->getActivateItemName(lpnmia));
+  }
+  showLocalLVItems();
 }
 
 void 
@@ -195,21 +218,22 @@ FTDialog::onRemoteItemActivate(LPNMITEMACTIVATE lpnmia)
 }
 
 void
-FTDialog::addLocalLVItems(char *pPath, FileInfo *pFI)
+FTDialog::showLocalLVItems()
 {
-  pFI->sort();
-  SetWindowText(m_hwndLocalPath, pPath);
-  m_pLocalLV->deleteAllItems();
-  m_pLocalLV->addItems(pFI);
+  FolderManager fm;
+  FileInfo fileInfo;
+  if (fm.getDirInfo(m_szLocalPathTmp, &fileInfo, 0)) {
+    fileInfo.sort();
+    m_pLocalLV->deleteAllItems();
+    m_pLocalLV->addItems(&fileInfo);
+    strcpy(m_szLocalPath, m_szLocalPathTmp);
+    SetWindowText(m_hwndLocalPath, m_szLocalPath);
+  }
 }
 
 void 
-FTDialog::addRemoteLVItems(char *pPath, FileInfo *pFI)
+FTDialog::addRemoteLVItems(FileInfo *pFI)
 {
-  pFI->sort();
-  SetWindowText(m_hwndRemotePath, pPath);
-  m_pRemoteLV->deleteAllItems();
-  m_pRemoteLV->addItems(pFI);
 }
 
 void 
index b1fa68a1a5df22feccade939c32e31ad972d2d80..c8bfc54aa7b1f7dfc0cbb3a80345c179f0518eb7 100644 (file)
@@ -49,8 +49,8 @@ namespace rfb {
       
       static BOOL CALLBACK FTDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
       
-      void addLocalLVItems(char *pPath, FileInfo *pFI);
-      void addRemoteLVItems(char *pPath, FileInfo *pFI);
+      void showLocalLVItems();
+      void addRemoteLVItems(FileInfo *pFI);
       
     private:
       FileTransfer *m_pFileTransfer;
@@ -74,6 +74,11 @@ namespace rfb {
       FTListView *m_pRemoteLV;
 
       FTProgress *m_pProgress;
+
+      char m_szLocalPath[FT_FILENAME_SIZE];
+      char m_szRemotePath[FT_FILENAME_SIZE];
+      char m_szLocalPathTmp[FT_FILENAME_SIZE];
+      char m_szRemotePathTmp[FT_FILENAME_SIZE];
     };
   }
 }
index 82888af55a55f5e295dcf132fc55719e6a8159bb..d690f6d62b73083cba957d1b6d13ae2950bfaed8 100644 (file)
@@ -34,11 +34,6 @@ FileTransfer::FileTransfer()
   m_pFTDialog = new FTDialog(GetModuleHandle(0), this);
   m_pInStream = NULL;
   m_pOutStream = NULL;
-
-  m_szLocalPath[0] = '\0';
-  m_szRemotePath[0] = '\0';
-  m_szLocalPathTmp[0] = '\0';
-  m_szRemotePathTmp[0] = '\0';
 }
 
 FileTransfer::~FileTransfer()
@@ -67,11 +62,5 @@ FileTransfer::show()
   if (!m_bInitialized) return false;
 
   m_bFTDlgShown = m_pFTDialog->createFTDialog();
-
-  FolderManager fm;
-  FileInfo fileInfo;
-  fm.getDirInfo("",&fileInfo, 0);
-  m_pFTDialog->addLocalLVItems("", &fileInfo);
-
   return m_bFTDlgShown;
 }
index d358d822db5b02263f0e96b1e3f5d6a023da0fbd..76bba1e280ecc0258d0b2bb6c5bc74548b7d545a 100644 (file)
@@ -49,11 +49,6 @@ namespace rfb {
 
       rdr::InStream *m_pInStream;
       rdr::OutStream *m_pOutStream;
-
-      char m_szLocalPath[FT_FILENAME_SIZE];
-      char m_szRemotePath[FT_FILENAME_SIZE];
-      char m_szLocalPathTmp[FT_FILENAME_SIZE];
-      char m_szRemotePathTmp[FT_FILENAME_SIZE];
     };
   }
 }