diff --git a/vncviewer/FTDialog.cxx b/vncviewer/FTDialog.cxx
index 3de1b6c..b5782d6 100644
--- a/vncviewer/FTDialog.cxx
+++ b/vncviewer/FTDialog.cxx
@@ -224,6 +224,12 @@
       case IDC_FTCLOSE:
         _this->onClose();
         return FALSE;
+      case IDC_FTLOCALBROWSE:
+        _this->onLocalBrowse();
+        return FALSE;
+      case IDC_FTREMOTEBROWSE:
+        _this->onRemoteBrowse();
+        return FALSE;
       case IDC_FTLOCALUP:
         _this->setButtonsState();
         _this->onLocalOneUpFolder();
@@ -355,6 +361,18 @@
 }
 
 void 
+FTDialog::onLocalBrowse()
+{
+
+}
+
+void 
+FTDialog::onRemoteBrowse()
+{
+ 
+}
+
+void 
 FTDialog::onLocalReload()
 {
   strcpy(m_szLocalPathTmp, m_szLocalPath);
@@ -857,6 +875,11 @@
 }
 
 void 
+FTDialog::addBrowseItems(FileInfo *pFI)
+{
+}
+
+void 
 FTDialog::processDlgMsgs()
 {
   MSG msg;
@@ -1026,31 +1049,3 @@
   setItemString(IDC_FTFOLDERNAME, m_szFilename);
   SendDlgItemMessage(handle, IDC_FTFOLDERNAME, EM_SETSEL, (WPARAM) 0, (LPARAM) -1);
 }
-
-FTDialog::BrowseDlg::BrowseDlg(FTDialog *pFTDlg) : Dialog(GetModuleHandle(0))
-{
-
-}
-
-FTDialog::BrowseDlg::~BrowseDlg()
-{
-
-}
-
-bool 
-FTDialog::BrowseDlg::onOk()
-{
-  return false;
-}
-
-bool 
-FTDialog::BrowseDlg::create()
-{
-  return false;
-}
-
-void 
-FTDialog::BrowseDlg::initDialog()
-{
-
-}
