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
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)
{
namespace rfb {
namespace win32 {
+ class FTDialog;
+
class FTBrowseDlg
{
public:
bool create();
void destroy();
+ void addItems(FileInfo *pFI);
+
private:
HWND m_hwndDlg;
FTDialog *m_pFTDlg;
m_pCancelingDlg = NULL;
m_pCreateFolderDlg = NULL;
m_pRenameDlg = NULL;
+ m_pBrowseDlg = NULL;
m_hwndFTDialog = NULL;
m_hwndLocalPath = NULL;
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
void
FTDialog::addBrowseItems(FileInfo *pFI)
{
+ if (m_pBrowseDlg == NULL) return;
+
+ m_pBrowseDlg->addItems(pFI);
}
void
#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
{
FTListView *m_pLocalLV;
FTListView *m_pRemoteLV;
+ FTBrowseDlg *m_pBrowseDlg;
+
int m_FTMenuSource;
char m_szLocalPath[FT_FILENAME_SIZE];