Added FTBrowseDlg::addItems methods.
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
diff --git a/vncviewer/FTBrowseDlg.cxx b/vncviewer/FTBrowseDlg.cxx
index 9c93032..81cd882 100644
--- a/vncviewer/FTBrowseDlg.cxx
+++ b/vncviewer/FTBrowseDlg.cxx
@@ -58,6 +58,23 @@
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)
{
diff --git a/vncviewer/FTBrowseDlg.h b/vncviewer/FTBrowseDlg.h
index 716efcb..0ebf569 100644
--- a/vncviewer/FTBrowseDlg.h
+++ b/vncviewer/FTBrowseDlg.h
@@ -33,6 +33,8 @@
namespace rfb {
namespace win32 {
+ class FTDialog;
+
class FTBrowseDlg
{
public:
@@ -44,6 +46,8 @@
bool create();
void destroy();
+ void addItems(FileInfo *pFI);
+
private:
HWND m_hwndDlg;
FTDialog *m_pFTDlg;
diff --git a/vncviewer/FTDialog.cxx b/vncviewer/FTDialog.cxx
index b5782d6..b7ec9ba 100644
--- a/vncviewer/FTDialog.cxx
+++ b/vncviewer/FTDialog.cxx
@@ -44,6 +44,7 @@
m_pCancelingDlg = NULL;
m_pCreateFolderDlg = NULL;
m_pRenameDlg = NULL;
+ m_pBrowseDlg = NULL;
m_hwndFTDialog = NULL;
m_hwndLocalPath = NULL;
@@ -369,7 +370,12 @@
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 @@
void
FTDialog::addBrowseItems(FileInfo *pFI)
{
+ if (m_pBrowseDlg == NULL) return;
+
+ m_pBrowseDlg->addItems(pFI);
}
void
diff --git a/vncviewer/FTDialog.h b/vncviewer/FTDialog.h
index 6cb9d6e..d505e5f 100644
--- a/vncviewer/FTDialog.h
+++ b/vncviewer/FTDialog.h
@@ -32,11 +32,13 @@
#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 @@
FTListView *m_pLocalLV;
FTListView *m_pRemoteLV;
+ FTBrowseDlg *m_pBrowseDlg;
+
int m_FTMenuSource;
char m_szLocalPath[FT_FILENAME_SIZE];