]> source.dussan.org Git - tigervnc.git/commitdiff
Added RBUTTON menu to the file transfer dialog.
authorDennis Syrovatsky <dennis@tightvnc.com>
Wed, 23 Nov 2005 05:23:50 +0000 (05:23 +0000)
committerDennis Syrovatsky <dennis@tightvnc.com>
Wed, 23 Nov 2005 05:23:50 +0000 (05:23 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@414 3789f03b-4d11-0410-bbf8-ca57d06f2519

vncviewer/FTDialog.cxx
vncviewer/FTDialog.h
vncviewer/resource.h
vncviewer/vncviewer.rc

index dacce7bf01efffa6f7f815e0b25d2fe779ebd81d..b27270da6f3b699a11971e984e76e75e92c9cb4e 100644 (file)
@@ -222,6 +222,7 @@ FTDialog::FTDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
         _this->onLocalItemActivate((LPNMITEMACTIVATE) lParam);
         return FALSE;
       case NM_RCLICK:
+        _this->onLocalRButton();
         return FALSE;
       }
       break;
@@ -239,6 +240,7 @@ FTDialog::FTDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
         _this->onRemoteItemActivate((LPNMITEMACTIVATE) lParam);
         return FALSE;
       case NM_RCLICK:
+        _this->onRemoteRButton();
         return FALSE;
       }
       break;
@@ -367,6 +369,33 @@ FTDialog::onDownload()
 
 }
 
+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)
 {
index 88ff9e931070793b09d04f675b34dd3e609e50db..f9e5ba3822d8e108e8900a77bf7e0ce8a0c09e1c 100644 (file)
@@ -69,6 +69,11 @@ namespace rfb {
       void onLocalReload();
       void onRemoteReload();
 
+      void onLocalRButton();
+      void onRemoteRButton();
+      void showFTMenu(int copyBtnState, int renameBtnState, 
+                      int deleteBtnState, int cancelBtnState);
+
       void onUpload();
       void onDownload();
 
index 722b6ddf860b2c83ef2fc6ca22a84d5a624a608a..3f3f365353f42d2ca977abfcb26e48c2170b079b 100644 (file)
@@ -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
 #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
index 64a4d900fd5de4536a2f742673759bdd7ce0addc..9836c3e2d81801b3c0941e2bf71a1a2d641c9ff1 100644 (file)
@@ -627,6 +627,19 @@ BEGIN
     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
+
 
 /////////////////////////////////////////////////////////////////////////////
 //