blob: e4d18302d977f59e0f346bf2a644bbd16d60aed0 [file] [log] [blame]
Dennis Syrovatsky139d7832005-11-02 05:36:05 +00001/* Copyright (C) 2005 TightVNC Team. All Rights Reserved.
2 *
3 * This is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This software is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this software; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
16 * USA.
17 *
18 * TightVNC distribution homepage on the Web: http://www.tightvnc.com/
19 *
20 */
21
22// -=- FTDialog.cxx
23
24#include <vncviewer/FTDialog.h>
25
26using namespace rfb;
27using namespace rfb::win32;
28
Dennis Syrovatsky6c6786d2005-11-07 09:17:38 +000029FTDialog::FTDialog(HINSTANCE hInst, FileTransfer *pFT)
Dennis Syrovatsky139d7832005-11-02 05:36:05 +000030{
31 m_pFileTransfer = pFT;
32 m_hInstance = hInst;
33 m_bDlgShown = false;
34 m_szLocalPath[0] = '\0';
35 m_szRemotePath[0] = '\0';
36 m_szLocalPathTmp[0] = '\0';
37 m_szRemotePathTmp[0] = '\0';
Dennis Syrovatsky6c6786d2005-11-07 09:17:38 +000038
39 m_pLocalLV = NULL;
40 m_pRemoteLV = NULL;
41 m_pProgress = NULL;
Dennis Syrovatsky4ab41852005-11-07 09:52:36 +000042
43 m_hwndFTDialog = false;
Dennis Syrovatsky139d7832005-11-02 05:36:05 +000044}
45
46FTDialog::~FTDialog()
47{
Dennis Syrovatsky6c6786d2005-11-07 09:17:38 +000048 destroyFTDialog();
Dennis Syrovatsky139d7832005-11-02 05:36:05 +000049}
50
51bool
52FTDialog::createFTDialog()
53{
Dennis Syrovatsky4ab41852005-11-07 09:52:36 +000054 if (m_hwndFTDialog != NULL) return true;
55
Dennis Syrovatsky6c6786d2005-11-07 09:17:38 +000056 m_hwndFTDialog = CreateDialogParam(m_hInstance,
57 MAKEINTRESOURCE(IDD_FILETRANSFER_DLG),
58 NULL,
59 (DLGPROC) FTDialogProc,
60 (LONG) this);
61
62 if (m_hwndFTDialog == NULL) return false;
63
64 m_pLocalLV = new FTListView(GetDlgItem(m_hwndFTDialog, IDC_FTLOCALLIST));
65 m_pRemoteLV = new FTListView(GetDlgItem(m_hwndFTDialog, IDC_FTREMOTELIST));
66
67 m_pProgress = new FTProgress(m_hwndFTDialog);
68
69 if ((m_pLocalLV == NULL) || (m_pRemoteLV == NULL) || (m_pProgress == NULL)) {
70 destroyFTDialog();
71 return false;
72 }
Dennis Syrovatsky4ab41852005-11-07 09:52:36 +000073
74 initFTDialog();
Dennis Syrovatsky6c6786d2005-11-07 09:17:38 +000075
Dennis Syrovatsky4ab41852005-11-07 09:52:36 +000076 if (ShowWindow(m_hwndFTDialog, SW_SHOW) == 0) {
77 UpdateWindow(m_hwndFTDialog);
78 m_bDlgShown = true;
79 return true;
80 } else {
81 destroyFTDialog();
82 m_bDlgShown = false;
83 return false;
84 }
Dennis Syrovatsky139d7832005-11-02 05:36:05 +000085}
86
87bool
88FTDialog::initFTDialog()
89{
Dennis Syrovatsky4ab41852005-11-07 09:52:36 +000090 m_pLocalLV->initialize(m_hInstance);
91 m_pRemoteLV->initialize(m_hInstance);
92
93 m_pProgress->initialize(0,0);
94
95 return true;
Dennis Syrovatsky139d7832005-11-02 05:36:05 +000096}
97
Dennis Syrovatsky6c6786d2005-11-07 09:17:38 +000098bool
Dennis Syrovatsky139d7832005-11-02 05:36:05 +000099FTDialog::closeFTDialog()
100{
Dennis Syrovatsky6c6786d2005-11-07 09:17:38 +0000101 return false;
102}
103
104void
105FTDialog::destroyFTDialog()
106{
107 if (m_pLocalLV != NULL) {
108 delete m_pLocalLV;
109 m_pLocalLV = NULL;
110 }
111
112 if (m_pRemoteLV != NULL) {
113 delete m_pRemoteLV;
114 m_pRemoteLV = NULL;
115 }
116
117 if (m_pProgress != NULL) {
118 delete m_pProgress;
119 m_pProgress = NULL;
120 }
Dennis Syrovatsky139d7832005-11-02 05:36:05 +0000121}
122
123BOOL CALLBACK
124FTDialog::FTDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
125{
126 FTDialog *_this = (FTDialog *) GetWindowLong(hwnd, GWL_USERDATA);
127 return FALSE;
128}
129
130void
131FTDialog::reloadLocalFileList()
132{
133}
134
135void
136FTDialog::reloadRemoteFileList()
137{
138}
139
140void
141FTDialog::onLocalItemActivate(LPNMITEMACTIVATE lpnmia)
142{
143}
144
145void
146FTDialog::onRemoteItemActivate(LPNMITEMACTIVATE lpnmia)
147{
148}
149
150void
151FTDialog::addLocalLVItems(FileInfo *pFI)
152{
153}
154
155void
156FTDialog::addRemoteLVItems(FileInfo *pFI)
157{
158}
159
160void
161FTDialog::onLocalOneUpFolder(char *pPath)
162{
163}
164
165void
166FTDialog::onRemoteOneUpFolder(char *pPath)
167{
168}