Added RBUTTON menu to the file transfer dialog.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@414 3789f03b-4d11-0410-bbf8-ca57d06f2519
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
+
/////////////////////////////////////////////////////////////////////////////
//