|
@@ -54,6 +54,7 @@ BEGIN_MESSAGE_MAP(CQuickPasteKeyboard, CPropertyPage)
|
|
|
ON_BN_CLICKED(IDC_RADIO_MOUSE_1, &CQuickPasteKeyboard::OnBnClickedRadioMouse1)
|
|
|
ON_BN_CLICKED(IDC_RADIO_KEYBOARD_2, &CQuickPasteKeyboard::OnBnClickedRadioKeyboard2)
|
|
|
ON_BN_CLICKED(IDC_RADIO_MOUSE_2, &CQuickPasteKeyboard::OnBnClickedRadioMouse2)
|
|
|
+ ON_BN_CLICKED(IDC_CHECK_ENABLE_SECOND_PRESS, &CQuickPasteKeyboard::OnBnClickedCheckEnableSecondPress)
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
@@ -294,29 +295,36 @@ void CQuickPasteKeyboard::OnBnClickedAssign()
|
|
|
m_map[id].Array[shortCutId].A = ACCEL_MAKEKEY(vk, mod);
|
|
|
}
|
|
|
|
|
|
- if (this->IsDlgButtonChecked(IDC_RADIO_KEYBOARD_2) == BST_CHECKED)
|
|
|
+ if (IsDlgButtonChecked(IDC_CHECK_ENABLE_SECOND_PRESS) == BST_CHECKED)
|
|
|
{
|
|
|
- //remove the extended key flag, don't think this is needed now days
|
|
|
- m_map[id].Array[shortCutId].B = ACCEL_MAKEKEY(LOBYTE(m_hotKey2.GetHotKey()), (HIBYTE(m_hotKey2.GetHotKey()) & ~HOTKEYF_EXT));
|
|
|
- }
|
|
|
- else if (this->IsDlgButtonChecked(IDC_RADIO_MOUSE_2) == BST_CHECKED)
|
|
|
- {
|
|
|
- WORD vk = (WORD)m_mouseType2.GetItemData(m_mouseType2.GetCurSel());
|
|
|
- WORD mod = 0;
|
|
|
- if (this->IsDlgButtonChecked(IDC_CHECK_SHIFT_2) == BST_CHECKED)
|
|
|
- {
|
|
|
- mod |= HOTKEYF_SHIFT;
|
|
|
- }
|
|
|
- if (this->IsDlgButtonChecked(IDC_CHECK_CONTROL_2) == BST_CHECKED)
|
|
|
+ if (this->IsDlgButtonChecked(IDC_RADIO_KEYBOARD_2) == BST_CHECKED)
|
|
|
{
|
|
|
- mod |= HOTKEYF_CONTROL;
|
|
|
+ //remove the extended key flag, don't think this is needed now days
|
|
|
+ m_map[id].Array[shortCutId].B = ACCEL_MAKEKEY(LOBYTE(m_hotKey2.GetHotKey()), (HIBYTE(m_hotKey2.GetHotKey()) & ~HOTKEYF_EXT));
|
|
|
}
|
|
|
- if (this->IsDlgButtonChecked(IDC_CHECK_ALT_2) == BST_CHECKED)
|
|
|
+ else if (this->IsDlgButtonChecked(IDC_RADIO_MOUSE_2) == BST_CHECKED)
|
|
|
{
|
|
|
- mod |= HOTKEYF_ALT;
|
|
|
- }
|
|
|
+ WORD vk = (WORD)m_mouseType2.GetItemData(m_mouseType2.GetCurSel());
|
|
|
+ WORD mod = 0;
|
|
|
+ if (this->IsDlgButtonChecked(IDC_CHECK_SHIFT_2) == BST_CHECKED)
|
|
|
+ {
|
|
|
+ mod |= HOTKEYF_SHIFT;
|
|
|
+ }
|
|
|
+ if (this->IsDlgButtonChecked(IDC_CHECK_CONTROL_2) == BST_CHECKED)
|
|
|
+ {
|
|
|
+ mod |= HOTKEYF_CONTROL;
|
|
|
+ }
|
|
|
+ if (this->IsDlgButtonChecked(IDC_CHECK_ALT_2) == BST_CHECKED)
|
|
|
+ {
|
|
|
+ mod |= HOTKEYF_ALT;
|
|
|
+ }
|
|
|
|
|
|
- m_map[id].Array[shortCutId].B = ACCEL_MAKEKEY(vk, mod);
|
|
|
+ m_map[id].Array[shortCutId].B = ACCEL_MAKEKEY(vk, mod);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ m_map[id].Array[shortCutId].B = 0;
|
|
|
}
|
|
|
|
|
|
CString sh = GetShortCutText(m_map[id]);
|
|
@@ -564,6 +572,12 @@ void CQuickPasteKeyboard::LoadHotKey(KeyboardAB ab)
|
|
|
int b = 0;
|
|
|
if (ab.B > 0)
|
|
|
{
|
|
|
+ CheckDlgButton(IDC_CHECK_ENABLE_SECOND_PRESS, BST_CHECKED);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_RADIO_MOUSE_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_RADIO_KEYBOARD_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_STATIC_SECOND_PRESS), SW_SHOW);
|
|
|
+
|
|
|
b = ab.B;
|
|
|
|
|
|
switch (LOBYTE((DWORD)b))
|
|
@@ -594,6 +608,12 @@ void CQuickPasteKeyboard::LoadHotKey(KeyboardAB ab)
|
|
|
case VK_MOUSE_MIDDLE_CLICK:
|
|
|
SelectMouseTypeCombo(m_mouseType2, LOBYTE((DWORD)b));
|
|
|
CheckDlgButton(IDC_RADIO_MOUSE_2, BST_CHECKED);
|
|
|
+ CheckDlgButton(IDC_RADIO_KEYBOARD_2, BST_UNCHECKED);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_MOUSE_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_SHIFT_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_CONTROL_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_ALT_2), SW_SHOW);
|
|
|
|
|
|
{
|
|
|
BYTE mod = HIBYTE(b);
|
|
@@ -608,22 +628,37 @@ void CQuickPasteKeyboard::LoadHotKey(KeyboardAB ab)
|
|
|
break;
|
|
|
default:
|
|
|
CheckDlgButton(IDC_RADIO_KEYBOARD_2, BST_CHECKED);
|
|
|
+ CheckDlgButton(IDC_RADIO_MOUSE_2, BST_UNCHECKED);
|
|
|
m_hotKey2.SetHotKey(LOBYTE((DWORD)b), (HIBYTE((DWORD)b)));
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ CheckDlgButton(IDC_CHECK_ENABLE_SECOND_PRESS, BST_UNCHECKED);
|
|
|
CheckDlgButton(IDC_RADIO_KEYBOARD_2, BST_CHECKED);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_RADIO_MOUSE_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_RADIO_KEYBOARD_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_HOTKEY2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_BUTTON_ENTER2), SW_HIDE);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_MOUSE_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_SHIFT_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_CONTROL_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_ALT_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_STATIC_SECOND_PRESS), SW_HIDE);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ CheckDlgButton(IDC_CHECK_ENABLE_SECOND_PRESS, BST_UNCHECKED);
|
|
|
CheckDlgButton(IDC_RADIO_KEYBOARD_1, BST_CHECKED);
|
|
|
CheckDlgButton(IDC_RADIO_KEYBOARD_2, BST_CHECKED);
|
|
|
}
|
|
|
|
|
|
OnBnClickedRadioMouse1();
|
|
|
+ //ShowSecondPress(FALSE);
|
|
|
}
|
|
|
|
|
|
void CQuickPasteKeyboard::SelectMouseTypeCombo(CComboBox &combo, int value)
|
|
@@ -828,25 +863,28 @@ void CQuickPasteKeyboard::OnBnClickedRadioMouse1()
|
|
|
::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_ALT_1), SW_SHOW);
|
|
|
}
|
|
|
|
|
|
- if (IsDlgButtonChecked(IDC_RADIO_KEYBOARD_2) == BST_CHECKED)
|
|
|
+ if (IsDlgButtonChecked(IDC_CHECK_ENABLE_SECOND_PRESS) == BST_CHECKED)
|
|
|
{
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_HOTKEY2), SW_SHOW);
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_BUTTON_ENTER2), SW_SHOW);
|
|
|
+ if (IsDlgButtonChecked(IDC_RADIO_KEYBOARD_2) == BST_CHECKED)
|
|
|
+ {
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_HOTKEY2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_BUTTON_ENTER2), SW_SHOW);
|
|
|
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_MOUSE_2), SW_HIDE);
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_SHIFT_2), SW_HIDE);
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_CONTROL_2), SW_HIDE);
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_ALT_2), SW_HIDE);
|
|
|
- }
|
|
|
- else if (IsDlgButtonChecked(IDC_RADIO_MOUSE_2) == BST_CHECKED)
|
|
|
- {
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_HOTKEY2), SW_HIDE);
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_BUTTON_ENTER2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_MOUSE_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_SHIFT_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_CONTROL_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_ALT_2), SW_HIDE);
|
|
|
+ }
|
|
|
+ else if (IsDlgButtonChecked(IDC_RADIO_MOUSE_2) == BST_CHECKED)
|
|
|
+ {
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_HOTKEY2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_BUTTON_ENTER2), SW_HIDE);
|
|
|
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_MOUSE_2), SW_SHOW);
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_SHIFT_2), SW_SHOW);
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_CONTROL_2), SW_SHOW);
|
|
|
- ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_ALT_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_MOUSE_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_SHIFT_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_CONTROL_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_ALT_2), SW_SHOW);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -860,3 +898,53 @@ void CQuickPasteKeyboard::OnBnClickedRadioMouse2()
|
|
|
{
|
|
|
OnBnClickedRadioMouse1();
|
|
|
}
|
|
|
+
|
|
|
+void CQuickPasteKeyboard::OnBnClickedCheckEnableSecondPress()
|
|
|
+{
|
|
|
+ int shortCutId = SelectedCommandShortCutId();
|
|
|
+ int id = SelectedCommandId();
|
|
|
+
|
|
|
+ if (m_map.find(id) != m_map.end() &&
|
|
|
+ shortCutId >= 0 &&
|
|
|
+ shortCutId < 10 &&
|
|
|
+ m_map[id].Array[shortCutId].B > 0)
|
|
|
+ {
|
|
|
+ m_map[id].Array[shortCutId].Dirty = true;
|
|
|
+ m_map[id].Array[shortCutId].B = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (IsDlgButtonChecked(IDC_CHECK_ENABLE_SECOND_PRESS) == BST_CHECKED)
|
|
|
+ {
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_HOTKEY2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_BUTTON_ENTER2), SW_SHOW);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_MOUSE_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_SHIFT_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_CONTROL_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_ALT_2), SW_HIDE);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_RADIO_MOUSE_2), SW_SHOW);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_RADIO_KEYBOARD_2), SW_SHOW);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_STATIC_SECOND_PRESS), SW_SHOW);
|
|
|
+
|
|
|
+ CheckDlgButton(IDC_RADIO_KEYBOARD_2, BST_CHECKED);
|
|
|
+ CheckDlgButton(IDC_RADIO_MOUSE_2, BST_UNCHECKED);
|
|
|
+ m_hotKey2.SetHotKey(0, 0);
|
|
|
+ }
|
|
|
+ else if (IsDlgButtonChecked(IDC_CHECK_ENABLE_SECOND_PRESS) == BST_UNCHECKED)
|
|
|
+ {
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_HOTKEY2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_BUTTON_ENTER2), SW_HIDE);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_MOUSE_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_SHIFT_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_CONTROL_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_CHECK_ALT_2), SW_HIDE);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_RADIO_KEYBOARD_2), SW_HIDE);
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_RADIO_MOUSE_2), SW_HIDE);
|
|
|
+
|
|
|
+ ::ShowWindow(::GetDlgItem(m_hWnd, IDC_STATIC_SECOND_PRESS), SW_HIDE);
|
|
|
+ }
|
|
|
+}
|