diff --git a/vncviewer/FTDialog.cxx b/vncviewer/FTDialog.cxx
index dacce7b..b27270d 100644
--- a/vncviewer/FTDialog.cxx
+++ b/vncviewer/FTDialog.cxx
@@ -222,6 +222,7 @@
         _this->onLocalItemActivate((LPNMITEMACTIVATE) lParam);
         return FALSE;
       case NM_RCLICK:
+        _this->onLocalRButton();
         return FALSE;
       }
       break;
@@ -239,6 +240,7 @@
         _this->onRemoteItemActivate((LPNMITEMACTIVATE) lParam);
         return FALSE;
       case NM_RCLICK:
+        _this->onRemoteRButton();
         return FALSE;
       }
       break;
@@ -367,6 +369,33 @@
 
 }
 
+void 
+FTDialog::onLocalRButton()
+{
+  showFTMenu(1, 1, 1, 1);
+}
+
+void 
+FTDialog::onRemoteRButton()
+{
+  showFTMenu(1, 1, 1, 1);
+}
+
+void
+FTDialog::showFTMenu(int copyBtnState, int renameBtnState, int deleteBtnState, int cancelBtnState)
+{
+  HMENU hMenu = LoadMenu(m_hInstance, MAKEINTRESOURCE(IDR_FTMENU));
+  HMENU hFTMenu = GetSubMenu(hMenu, 0);
+
+  SetMenuDefaultItem(hFTMenu, IDM_FTCOPY, FALSE);
+
+  SetForegroundWindow(m_hwndFTDialog);
+
+  POINT cursorPosition;
+  GetCursorPos(&cursorPosition);
+  TrackPopupMenu(hFTMenu, 0, cursorPosition.x, cursorPosition.y, 0, m_hwndFTDialog, 0);
+}
+
 void
 FTDialog::setIcon(int dest, int idIcon)
 {
diff --git a/vncviewer/FTDialog.h b/vncviewer/FTDialog.h
index 88ff9e9..f9e5ba3 100644
--- a/vncviewer/FTDialog.h
+++ b/vncviewer/FTDialog.h
@@ -69,6 +69,11 @@
       void onLocalReload();
       void onRemoteReload();
 
+      void onLocalRButton();
+      void onRemoteRButton();
+      void showFTMenu(int copyBtnState, int renameBtnState, 
+                      int deleteBtnState, int cancelBtnState);
+
       void onUpload();
       void onDownload();
 
diff --git a/vncviewer/resource.h b/vncviewer/resource.h
index 722b6dd..3f3f365 100644
--- a/vncviewer/resource.h
+++ b/vncviewer/resource.h
@@ -24,6 +24,7 @@
 #define IDI_FTDIR                       126
 #define IDI_FTFILE                      127
 #define IDI_FTRELOAD                    128
+#define IDR_FTMENU                      130
 #define IDC_PASSWORD                    1000
 #define IDC_CONNECTING_TEXT             1001
 #define IDC_SERVER_EDIT                 1002
@@ -121,13 +122,17 @@
 #define ID_SEND_CTLESC                  40014
 #define ID_CONN_SAVE_AS                 40015
 #define ID_FILE_TRANSFER                40016
+#define IDM_FTCOPY                      40022
+#define IDM_FTRENAME                    40023
+#define IDM_FTDELETE                    40024
+#define IDM_FTCANCEL                    40025
 
 // Next default values for new objects
 // 
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        129
-#define _APS_NEXT_COMMAND_VALUE         40017
+#define _APS_NEXT_RESOURCE_VALUE        131
+#define _APS_NEXT_COMMAND_VALUE         40026
 #define _APS_NEXT_CONTROL_VALUE         1083
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
diff --git a/vncviewer/vncviewer.rc b/vncviewer/vncviewer.rc
index 64a4d90..9836c3e 100644
--- a/vncviewer/vncviewer.rc
+++ b/vncviewer/vncviewer.rc
@@ -627,6 +627,19 @@
     END
 END
 
+IDR_FTMENU MENU DISCARDABLE 
+BEGIN
+    POPUP "File Transfer"
+    BEGIN
+        MENUITEM "Copy Files and Folders",      IDM_FTCOPY
+        MENUITEM SEPARATOR
+        MENUITEM "Rename File or Folder",       IDM_FTRENAME
+        MENUITEM "Delete Files and Folders",    IDM_FTDELETE
+        MENUITEM SEPARATOR
+        MENUITEM "Cancel File Transfer",        IDM_FTCANCEL
+    END
+END
+
 
 /////////////////////////////////////////////////////////////////////////////
 //
