1
0
Эх сурвалжийг харах

Added 2 more shortcut controls to set shortcuts to activate ditto. Useful when using multiple language keyboards

ScottBrogden 9 жил өмнө
parent
commit
7454bececf
7 өөрчлөгдсөн 77 нэмэгдсэн , 46 устгасан
  1. 2 0
      CP_Main.cpp
  2. 2 0
      CP_Main.h
  3. 55 44
      CP_Main.rc
  4. 3 1
      MainFrm.cpp
  5. 6 0
      OptionsKeyBoard.cpp
  6. 2 0
      OptionsKeyBoard.h
  7. 7 1
      Resource.h

+ 2 - 0
CP_Main.cpp

@@ -316,6 +316,8 @@ void CCP_MainApp::AfterMainCreate()
 
 	// create hotkeys here.  They are automatically deleted on exit
 	m_pDittoHotKey = new CHotKey(CString("DittoHotKey"), 704); //704 is ctrl-tilda
+	m_pDittoHotKey2 = new CHotKey(CString("DittoHotKey2"));
+	m_pDittoHotKey3 = new CHotKey(CString("DittoHotKey3"));
 
 	m_pPosOne = new CHotKey("Position1", 0, true);
 	m_pPosTwo = new CHotKey("Position2", 0, true);

+ 2 - 0
CP_Main.h

@@ -53,6 +53,8 @@ public:
 
 // System-wide HotKeys
 	CHotKey*	m_pDittoHotKey; // activate ditto's qpaste window
+	CHotKey*	m_pDittoHotKey2; // activate ditto's qpaste window
+	CHotKey*	m_pDittoHotKey3; // activate ditto's qpaste window
 	
 	CHotKey*	m_pPosOne;
 	CHotKey*	m_pPosTwo;

+ 55 - 44
CP_Main.rc

@@ -541,57 +541,63 @@ BEGIN
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,151,335,10
 END
 
-IDD_OPTIONS_KEYSTROKES DIALOGEX 0, 0, 350, 219
+IDD_OPTIONS_KEYSTROKES DIALOGEX 0, 0, 351, 244
 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Keyboard Shortcuts"
 FONT 8, "MS Shell Dlg", 0, 0, 0x1
 BEGIN
     CONTROL         "HotKey1",IDC_HOTKEY,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,97,13,80,14
     CONTROL         "Win",IDC_CHECK_WIN_DITTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,13,33,14
-    LTEXT           "Send custom strokes Per Application",IDC_STATIC_CUSTOM_KEYS,216,16,127,8
-    CONTROL         "",IDC_HOTKEY_TEXT_ONLY,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,97,30,80,14
-    CONTROL         "Win",IDC_CHECK_WIN_TEXT_ONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,30,33,14
-    CONTROL         "HotKey1",IDC_HOTKEY1,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,104,80,14
-    CONTROL         "Win",IDC_CHECK_WIN1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,104,33,14
-    CONTROL         "HotKey1",IDC_HOTKEY2,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,119,80,14
-    CONTROL         "Win",IDC_CHECK_WIN2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,119,33,14
-    CONTROL         "HotKey1",IDC_HOTKEY3,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,134,80,14
-    CONTROL         "Win",IDC_CHECK_WIN3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,134,33,14
-    CONTROL         "HotKey1",IDC_HOTKEY4,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,149,80,14
-    CONTROL         "Win",IDC_CHECK_WIN4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,149,33,14
-    CONTROL         "HotKey1",IDC_HOTKEY5,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,164,80,14
-    CONTROL         "Win",IDC_CHECK_WIN5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,164,33,14
-    CONTROL         "HotKey1",IDC_HOTKEY6,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,104,80,14
-    CONTROL         "Win",IDC_CHECK_WIN6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,309,104,27,14
-    CONTROL         "HotKey1",IDC_HOTKEY7,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,119,80,14
-    CONTROL         "Win",IDC_CHECK_WIN7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,309,119,26,14
-    CONTROL         "HotKey1",IDC_HOTKEY8,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,134,80,14
-    CONTROL         "Win",IDC_CHECK_WIN8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,310,134,26,14
-    CONTROL         "HotKey1",IDC_HOTKEY9,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,149,80,14
-    CONTROL         "Win",IDC_CHECK_WIN9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,309,149,27,14
-    CONTROL         "HotKey1",IDC_HOTKEY10,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,164,80,14
-    CONTROL         "Win",IDC_CHECK_WIN10,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,309,164,27,14
+    LTEXT           "Send custom strokes Per Application",IDC_STATIC_CUSTOM_KEYS,217,16,127,8
+    CONTROL         "",IDC_HOTKEY_TEXT_ONLY,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,97,61,80,14
+    CONTROL         "Win",IDC_CHECK_WIN_TEXT_ONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,61,33,14
+    CONTROL         "HotKey1",IDC_HOTKEY1,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,135,80,14
+    CONTROL         "Win",IDC_CHECK_WIN1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,135,33,14
+    CONTROL         "HotKey1",IDC_HOTKEY2,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,150,80,14
+    CONTROL         "Win",IDC_CHECK_WIN2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,150,33,14
+    CONTROL         "HotKey1",IDC_HOTKEY3,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,165,80,14
+    CONTROL         "Win",IDC_CHECK_WIN3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,165,33,14
+    CONTROL         "HotKey1",IDC_HOTKEY4,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,180,80,14
+    CONTROL         "Win",IDC_CHECK_WIN4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,180,33,14
+    CONTROL         "HotKey1",IDC_HOTKEY5,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,66,195,80,14
+    CONTROL         "Win",IDC_CHECK_WIN5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,195,33,14
+    CONTROL         "HotKey1",IDC_HOTKEY6,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,135,80,14
+    CONTROL         "Win",IDC_CHECK_WIN6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,309,135,27,14
+    CONTROL         "HotKey1",IDC_HOTKEY7,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,150,80,14
+    CONTROL         "Win",IDC_CHECK_WIN7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,309,150,26,14
+    CONTROL         "HotKey1",IDC_HOTKEY8,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,165,80,14
+    CONTROL         "Win",IDC_CHECK_WIN8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,310,165,26,14
+    CONTROL         "HotKey1",IDC_HOTKEY9,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,180,80,14
+    CONTROL         "Win",IDC_CHECK_WIN9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,309,180,27,14
+    CONTROL         "HotKey1",IDC_HOTKEY10,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,229,195,80,14
+    CONTROL         "Win",IDC_CHECK_WIN10,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,309,195,27,14
     CONTROL         "Send Paste (Otherwise it will just load the item on the clipboard)",IDC_CHECK_SEND_PASTE,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,78,324,13
-    GROUPBOX        "Global Hot Keys for Last Ten Items Copied",IDC_STATIC_GROUP,7,67,336,116
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,109,324,13
+    GROUPBOX        "Global Hot Keys for Last Ten Items Copied",IDC_STATIC_GROUP,7,98,337,116
     LTEXT           "Activate Ditto",IDC_STATIC_ACTIVATE,19,13,71,14,SS_CENTERIMAGE
-    RTEXT           "Position 1",IDC_STATIC_1,16,104,42,14,SS_CENTERIMAGE
-    RTEXT           "Position 2",IDC_STATIC_2,16,119,42,14,SS_CENTERIMAGE
-    RTEXT           "Position 3",IDC_STATIC_3,16,134,42,14,SS_CENTERIMAGE
-    RTEXT           "Position 4",IDC_STATIC_4,16,149,42,14,SS_CENTERIMAGE
-    RTEXT           "Position 5",IDC_STATIC_5,16,164,42,14,SS_CENTERIMAGE
-    RTEXT           "Position 6",IDC_STATIC_6,181,104,42,14,SS_CENTERIMAGE
-    RTEXT           "Position 7",IDC_STATIC_7,181,119,42,14,SS_CENTERIMAGE
-    RTEXT           "Position 8",IDC_STATIC_8,181,134,42,14,SS_CENTERIMAGE
-    RTEXT           "Position 9",IDC_STATIC_9,181,149,42,14,SS_CENTERIMAGE
-    RTEXT           "Position 10",IDC_STATIC_10,181,164,42,14,SS_CENTERIMAGE
-    LTEXT           "Check the ""Win"" Button to include the windows keyboard key in your hot key.",IDC_STATIC_WIN,7,188,336,18
-    LTEXT           "Text Only Paste",IDC_STATIC_ACTIVATE2,19,30,71,14,SS_CENTERIMAGE
+    RTEXT           "Position 1",IDC_STATIC_1,16,135,42,14,SS_CENTERIMAGE
+    RTEXT           "Position 2",IDC_STATIC_2,16,150,42,14,SS_CENTERIMAGE
+    RTEXT           "Position 3",IDC_STATIC_3,16,165,42,14,SS_CENTERIMAGE
+    RTEXT           "Position 4",IDC_STATIC_4,16,180,42,14,SS_CENTERIMAGE
+    RTEXT           "Position 5",IDC_STATIC_5,16,195,42,14,SS_CENTERIMAGE
+    RTEXT           "Position 6",IDC_STATIC_6,181,135,42,14,SS_CENTERIMAGE
+    RTEXT           "Position 7",IDC_STATIC_7,181,150,42,14,SS_CENTERIMAGE
+    RTEXT           "Position 8",IDC_STATIC_8,181,165,42,14,SS_CENTERIMAGE
+    RTEXT           "Position 9",IDC_STATIC_9,181,180,42,14,SS_CENTERIMAGE
+    RTEXT           "Position 10",IDC_STATIC_10,181,195,42,14,SS_CENTERIMAGE
+    LTEXT           "Check the ""Win"" Button to include the windows keyboard key in your hot key.",IDC_STATIC_WIN,7,219,337,18
+    LTEXT           "Text Only Paste",IDC_STATIC_ACTIVATE2,19,61,71,14,SS_CENTERIMAGE
     CONTROL         "Move clips to the top of the list on paste",IDC_CHECK_MOVE_CLIPS_ON_PASTE,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,90,324,13
-    CONTROL         "",IDC_HOTKEY_SAVE_CLIPBOARD,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,98,48,80,14
-    CONTROL         "Win",IDC_CHECK_WIN_SAVE_CLIPBOARD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,48,33,14
-    LTEXT           "Save Current Clipboard",IDC_STATIC_COLLECT_CLIPBOARD,20,48,77,14,SS_CENTERIMAGE
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,121,324,13
+    CONTROL         "",IDC_HOTKEY_SAVE_CLIPBOARD,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,98,79,80,14
+    CONTROL         "Win",IDC_CHECK_WIN_SAVE_CLIPBOARD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,79,33,14
+    LTEXT           "Save Current Clipboard",IDC_STATIC_COLLECT_CLIPBOARD,20,79,77,14,SS_CENTERIMAGE
+    CONTROL         "",IDC_HOTKEY_ACTIVATE_2,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,97,29,80,14
+    CONTROL         "Win",IDC_CHECK_WIN_DITTO2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,29,33,14
+    LTEXT           "Activate Ditto",IDC_STATIC_ACTIVATE3,19,29,71,14,SS_CENTERIMAGE
+    CONTROL         "",IDC_HOTKEY_ACTIVATE_3,"msctls_hotkey32",WS_BORDER | WS_TABSTOP,97,45,80,14
+    CONTROL         "Win",IDC_CHECK_WIN_DITTO3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,45,33,14
+    LTEXT           "Activate Ditto",IDC_STATIC_ACTIVATE4,19,45,71,14,SS_CENTERIMAGE
 END
 
 IDD_OPTIONS_GENERAL DIALOGEX 0, 0, 351, 281
@@ -1020,9 +1026,9 @@ BEGIN
     IDD_OPTIONS_KEYSTROKES, DIALOG
     BEGIN
         LEFTMARGIN, 7
-        RIGHTMARGIN, 343
+        RIGHTMARGIN, 344
         TOPMARGIN, 7
-        BOTTOMMARGIN, 211
+        BOTTOMMARGIN, 236
     END
 
     IDD_OPTIONS_GENERAL, DIALOG
@@ -1302,6 +1308,11 @@ BEGIN
     0
 END
 
+IDD_OPTIONS_KEYSTROKES AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
 
 /////////////////////////////////////////////////////////////////////////////
 //

+ 3 - 1
MainFrm.cpp

@@ -240,7 +240,9 @@ void CMainFrame::OnFirstExit()
 
 LRESULT CMainFrame::OnHotKey(WPARAM wParam, LPARAM lParam)
 {
-    if(theApp.m_pDittoHotKey && wParam == theApp.m_pDittoHotKey->m_Atom)
+    if(theApp.m_pDittoHotKey && wParam == theApp.m_pDittoHotKey->m_Atom ||
+		theApp.m_pDittoHotKey2 && wParam == theApp.m_pDittoHotKey2->m_Atom ||
+		theApp.m_pDittoHotKey3 && wParam == theApp.m_pDittoHotKey3->m_Atom)
     {
         //If they still have the shift/ctrl keys down
         if(m_keyStateModifiers != 0 && m_quickPaste.IsWindowVisibleEx())

+ 6 - 0
OptionsKeyBoard.cpp

@@ -46,6 +46,8 @@ void COptionsKeyBoard::DoDataExchange(CDataExchange* pDX)
 	DDX_Control(pDX, IDC_HOTKEY10, m_Ten);
 	DDX_Control(pDX, IDC_HOTKEY1, m_One);
 	DDX_Control(pDX, IDC_HOTKEY, m_HotKey);
+	DDX_Control(pDX, IDC_HOTKEY_ACTIVATE_2, m_HotKey2);
+	DDX_Control(pDX, IDC_HOTKEY_ACTIVATE_3, m_HotKey3);
 	DDX_Control(pDX, IDC_HOTKEY_TEXT_ONLY, m_TextOnlyKey);
 	//}}AFX_DATA_MAP
 	DDX_Control(pDX, IDC_STATIC_CUSTOM_KEYS, m_CustomeKeysHelp);
@@ -72,6 +74,8 @@ BOOL COptionsKeyBoard::OnInitDialog()
 	m_pParent = (COptionsSheet *)GetParent();
 
 	theApp.m_pDittoHotKey->CopyToCtrl(m_HotKey, m_hWnd, IDC_CHECK_WIN_DITTO);
+	theApp.m_pDittoHotKey2->CopyToCtrl(m_HotKey2, m_hWnd, IDC_CHECK_WIN_DITTO2);
+	theApp.m_pDittoHotKey3->CopyToCtrl(m_HotKey3, m_hWnd, IDC_CHECK_WIN_DITTO3);
 
 	theApp.m_pPosOne->CopyToCtrl(m_One, m_hWnd, IDC_CHECK_WIN1);
 	theApp.m_pPosTwo->CopyToCtrl(m_Two, m_hWnd, IDC_CHECK_WIN2);
@@ -123,6 +127,8 @@ BOOL COptionsKeyBoard::OnApply()
 	g_HotKeys.GetKeys( keys ); // save old keys just in case new ones are invalid
 	
 	theApp.m_pDittoHotKey->CopyFromCtrl(m_HotKey, m_hWnd, IDC_CHECK_WIN_DITTO);
+	theApp.m_pDittoHotKey2->CopyFromCtrl(m_HotKey2, m_hWnd, IDC_CHECK_WIN_DITTO2);
+	theApp.m_pDittoHotKey3->CopyFromCtrl(m_HotKey3, m_hWnd, IDC_CHECK_WIN_DITTO3);
 	
 	theApp.m_pPosOne->CopyFromCtrl(m_One, m_hWnd, IDC_CHECK_WIN1);
 	theApp.m_pPosTwo->CopyFromCtrl(m_Two, m_hWnd, IDC_CHECK_WIN2);

+ 2 - 0
OptionsKeyBoard.h

@@ -41,6 +41,8 @@ public:
 	CHotKeyCtrl	m_Ten;
 	CHotKeyCtrl	m_One;
 	CHotKeyCtrl	m_HotKey;
+	CHotKeyCtrl	m_HotKey2;
+	CHotKeyCtrl	m_HotKey3;
 	CHotKeyCtrl m_TextOnlyKey;
 	//}}AFX_DATA
 

+ 7 - 1
Resource.h

@@ -206,8 +206,10 @@
 #define IDC_START_ON_STARTUP            2004
 #define IDC_HOTKEY_SAVE_CLIPBOARD       2004
 #define IDR_QUICK_PASTE                 2005
+#define IDC_HOTKEY_ACTIVATE_2           2005
 #define IDC_TRANSPARENCY                2006
 #define IDD_OPTIONS_QUICK_PASTE         2006
+#define IDC_HOTKEY_ACTIVATE_3           2006
 #define IDD_OPTIONS_UTILITIES           2007
 #define IDC_TRANS_PERC                  2007
 #define IDC_MAXIMUM                     2008
@@ -308,9 +310,13 @@
 #define IDC_STATIC_NAMED_COPY2          2062
 #define IDC_STATIC_COLLECT_CLIPBOARD    2062
 #define IDC_STATIC_POPUP                2063
+#define IDC_CHECK_WIN_DITTO2            2063
 #define IDC_STATIC_LEGEND               2064
+#define IDC_STATIC_ACTIVATE3            2064
 #define IDC_STATIC_LEG                  2065
+#define IDC_CHECK_WIN_DITTO3            2065
 #define IDC_STATIC_11                   2066
+#define IDC_STATIC_ACTIVATE4            2066
 #define IDC_STATIC_12                   2067
 #define IDC_STATIC_13                   2068
 #define IDC_STATIC_LANGUAGE             2069
@@ -585,7 +591,7 @@
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_3D_CONTROLS                     1
-#define _APS_NEXT_RESOURCE_VALUE        258
+#define _APS_NEXT_RESOURCE_VALUE        259
 #define _APS_NEXT_COMMAND_VALUE         32929
 #define _APS_NEXT_CONTROL_VALUE         2146
 #define _APS_NEXT_SYMED_VALUE           104