]> source.dussan.org Git - tigervnc.git/commitdiff
Added FTBrowseDlg::addItems methods.
authorDennis Syrovatsky <dennis@tightvnc.com>
Thu, 15 Dec 2005 10:02:16 +0000 (10:02 +0000)
committerDennis Syrovatsky <dennis@tightvnc.com>
Thu, 15 Dec 2005 10:02:16 +0000 (10:02 +0000)
Added some code to the FTDialog class for control browsing folders
in the "Browse Folders" dialog.

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

vncviewer/FTBrowseDlg.cxx
vncviewer/FTBrowseDlg.h
vncviewer/FTDialog.cxx
vncviewer/FTDialog.h

index 9c930322ef279868c6e82313cb123dff1555b446..81cd882ede22bb84c198c25142fac895ecb62463 100644 (file)
@@ -58,6 +58,23 @@ FTBrowseDlg::destroy()
   EndDialog(m_hwndDlg, 0);
 }
 
+void
+FTBrowseDlg::addItems(FileInfo *pFI)
+{
+  TVITEM tvi;
+  TVINSERTSTRUCT tvins;
+
+  for (unsigned int i = 0; i < pFI->getNumEntries(); i++)
+  {
+    tvi.mask = TVIF_TEXT;
+    tvi.pszText = pFI->getNameAt(i);;
+    tvins.hParent = NULL;
+    tvins.item = tvi;
+    tvins.hParent = TreeView_InsertItem(GetDlgItem(m_hwndDlg, IDC_FTBROWSETREE), &tvins);
+    TreeView_InsertItem(GetDlgItem(m_hwndDlg, IDC_FTBROWSETREE), &tvins);
+  }
+}
+
 BOOL CALLBACK 
 FTBrowseDlg::FTBrowseDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
index 716efcbbd8d88247f59570fceb9b4be55f99136b..0ebf569317a8836c2458d4da3d526bd039e0a706 100644 (file)
@@ -33,6 +33,8 @@
 
 namespace rfb {
   namespace win32 {
+    class FTDialog;
+
     class FTBrowseDlg
     {
     public:
@@ -44,6 +46,8 @@ namespace rfb {
       bool create();
       void destroy();
 
+      void addItems(FileInfo *pFI);
+
     private:
       HWND m_hwndDlg;
       FTDialog *m_pFTDlg;
index b5782d6e709b1ad5b024f810902a6a04b7d1d0dc..b7ec9ba9f816acb710576ac24b38658772059786 100644 (file)
@@ -44,6 +44,7 @@ FTDialog::FTDialog(HINSTANCE hInst, FileTransfer *pFT)
   m_pCancelingDlg = NULL;
   m_pCreateFolderDlg = NULL;
   m_pRenameDlg = NULL;
+  m_pBrowseDlg = NULL;
 
   m_hwndFTDialog = NULL;
   m_hwndLocalPath = NULL;
@@ -369,7 +370,12 @@ FTDialog::onLocalBrowse()
 void 
 FTDialog::onRemoteBrowse()
 {
+  if (m_pBrowseDlg != NULL) return;
+  
+  m_pBrowseDlg = new FTBrowseDlg(this);
+  m_pBrowseDlg->create();
+
+  m_pFileTransfer->requestFileList("", FT_FLR_DEST_BROWSE, true);
 }
 
 void 
@@ -877,6 +883,9 @@ FTDialog::setStatusText(LPCSTR format,...)
 void 
 FTDialog::addBrowseItems(FileInfo *pFI)
 {
+  if (m_pBrowseDlg == NULL) return;
+
+  m_pBrowseDlg->addItems(pFI);
 }
 
 void 
index 6cb9d6e3a5889f550f27e103f96dc07b7edf192d..d505e5f10b3e0f0363dd54b34cf2cc43f158b6e6 100644 (file)
 #include <vncviewer/FileTransfer.h>
 #include <vncviewer/FTListView.h>
 #include <vncviewer/FTProgress.h>
+#include <vncviewer/FTBrowseDlg.h>
 #include <vncviewer/resource.h>
 
 namespace rfb {
   namespace win32 {
     class FileTransfer;
+    class FTBrowseDlg;
 
     class FTDialog
     {
@@ -142,6 +144,8 @@ namespace rfb {
       FTListView *m_pLocalLV;
       FTListView *m_pRemoteLV;
 
+      FTBrowseDlg *m_pBrowseDlg;
+
       int m_FTMenuSource;
 
       char m_szLocalPath[FT_FILENAME_SIZE];