Browse Source

move send to friend and position to customizable keys

Scott Brogden 9 years ago
parent
commit
da656bb903
8 changed files with 201 additions and 59 deletions
  1. 4 4
      Accels.cpp
  2. 90 0
      ActionEnums.cpp
  3. 25 0
      ActionEnums.h
  4. 1 35
      QListCtrl.cpp
  5. 0 1
      QListCtrl.h
  6. 80 17
      QPasteWnd.cpp
  7. 0 1
      QPasteWnd.h
  8. 1 1
      QuickPasteKeyboard.h

+ 4 - 4
Accels.cpp

@@ -85,7 +85,7 @@ bool CAccels::OnMsg(MSG *pMsg, CAccel &a)
     DWORD key = ACCEL_MAKEKEY(vkey, mod);
 
     CString cs;
-    cs.Format(_T("Key: %d, Mod: %d, vkey: %d"), key, mod, vkey);
+    cs.Format(_T("Key: %d, Mod: %d, vkey: %d\r\n"), key, mod, vkey);
     OutputDebugString(cs);
 		
 	if (m_firstMapTick != 0 &&
@@ -96,7 +96,7 @@ bool CAccels::OnMsg(MSG *pMsg, CAccel &a)
 
 		for (multimap<DWORD, CAccel>::iterator it2 = ppp.first; it2 != ppp.second; ++it2)
 		{
-			if (vkey == it2->second.Key2)
+			if (key == it2->second.Key2)
 			{
 				a = (*it2).second;
 				m_firstMapTick = 0;
@@ -111,7 +111,7 @@ bool CAccels::OnMsg(MSG *pMsg, CAccel &a)
 		m_activeFirstKey = 0;
 
 		pair<multimap<DWORD, CAccel>::iterator, multimap<DWORD, CAccel>::iterator> ppp;
-		ppp = m_multiMap.equal_range(vkey);
+		ppp = m_multiMap.equal_range(key);
 
 		for (multimap<DWORD, CAccel>::iterator it2 = ppp.first; it2 != ppp.second; ++it2)
 		{
@@ -122,7 +122,7 @@ bool CAccels::OnMsg(MSG *pMsg, CAccel &a)
 			}
 			else
 			{
-				m_activeFirstKey = vkey;
+				m_activeFirstKey = key;
 				m_firstMapTick = GetTickCount();
 				break;
 			}

+ 90 - 0
ActionEnums.cpp

@@ -115,6 +115,56 @@ CString ActionEnums::EnumDescription(ActionEnumValues value)
 		return "PASTE_ADD_TWO_LINE_FEEDS";
 	case PASTE_TYPOGLYCEMIA:
 		return "PASTE_TYPOGLYCEMIA";
+	case SEND_TO_FRIEND_1:
+		return "Send to friend 1";
+	case SEND_TO_FRIEND_2:
+		return "Send to friend 2";
+	case SEND_TO_FRIEND_3:
+		return "Send to friend 3";
+	case SEND_TO_FRIEND_4:
+		return "Send to friend 4";
+	case SEND_TO_FRIEND_5:
+		return "Send to friend 5";
+	case SEND_TO_FRIEND_6:
+		return "Send to friend 6";
+	case SEND_TO_FRIEND_7:
+		return "Send to friend 7";
+	case SEND_TO_FRIEND_8:
+		return "Send to friend 8";
+	case SEND_TO_FRIEND_9:
+		return "Send to friend 9";
+	case SEND_TO_FRIEND_10:
+		return "Send to friend 10";
+	case SEND_TO_FRIEND_11:
+		return "Send to friend 11";
+	case SEND_TO_FRIEND_12:
+		return "Send to friend 12";
+	case SEND_TO_FRIEND_13:
+		return "Send to friend 13";
+	case SEND_TO_FRIEND_14:
+		return "Send to friend 14";
+	case SEND_TO_FRIEND_15:
+		return "Send to friend 15";
+	case PASTE_POSITION_1:
+		return "Paste Position 1";
+	case PASTE_POSITION_2:
+		return "Paste Position 2";
+	case PASTE_POSITION_3:
+		return "Paste Position 3";
+	case PASTE_POSITION_4:
+		return "Paste Position 4";
+	case PASTE_POSITION_5:
+		return "Paste Position 5";
+	case PASTE_POSITION_6:
+		return "Paste Position 6";
+	case PASTE_POSITION_7:
+		return "Paste Position 7";
+	case PASTE_POSITION_8:
+		return "Paste Position 8";
+	case PASTE_POSITION_9:
+		return "Paste Position 9";
+	case PASTE_POSITION_10:
+		return "Paste Position 10";
 	}
 
 	return "";
@@ -157,6 +207,26 @@ int ActionEnums::GetDefaultShortCutKeyA(ActionEnumValues value, int pos)
 			return VK_RETURN;
 		case ActionEnums::SHOWMENU:
 			return VK_MOUSE_RIGHT_CLICK;
+		case PASTE_POSITION_1:
+			return ACCEL_MAKEKEY('1', HOTKEYF_CONTROL);
+		case PASTE_POSITION_2:
+			return ACCEL_MAKEKEY('2', HOTKEYF_CONTROL);
+		case PASTE_POSITION_3:
+			return ACCEL_MAKEKEY('3', HOTKEYF_CONTROL);
+		case PASTE_POSITION_4:
+			return ACCEL_MAKEKEY('4', HOTKEYF_CONTROL);
+		case PASTE_POSITION_5:
+			return ACCEL_MAKEKEY('5', HOTKEYF_CONTROL);
+		case PASTE_POSITION_6:
+			return ACCEL_MAKEKEY('6', HOTKEYF_CONTROL);
+		case PASTE_POSITION_7:
+			return ACCEL_MAKEKEY('7', HOTKEYF_CONTROL);
+		case PASTE_POSITION_8:
+			return ACCEL_MAKEKEY('8', HOTKEYF_CONTROL);
+		case PASTE_POSITION_9:
+			return ACCEL_MAKEKEY('9', HOTKEYF_CONTROL);
+		case PASTE_POSITION_10:
+			return ACCEL_MAKEKEY('0 ', HOTKEYF_CONTROL);
 		}
 		break;
 	case 1:
@@ -168,6 +238,26 @@ int ActionEnums::GetDefaultShortCutKeyA(ActionEnumValues value, int pos)
 			return VK_DOWN;
 		case ActionEnums::PASTE_SELECTED:
 			return VK_MOUSE_DOUBLE_CLICK;
+		case PASTE_POSITION_1:
+			return ACCEL_MAKEKEY(VK_NUMPAD1, HOTKEYF_CONTROL);
+		case PASTE_POSITION_2:
+			return ACCEL_MAKEKEY(VK_NUMPAD2, HOTKEYF_CONTROL);
+		case PASTE_POSITION_3:
+			return ACCEL_MAKEKEY(VK_NUMPAD3, HOTKEYF_CONTROL);
+		case PASTE_POSITION_4:
+			return ACCEL_MAKEKEY(VK_NUMPAD4, HOTKEYF_CONTROL);
+		case PASTE_POSITION_5:
+			return ACCEL_MAKEKEY(VK_NUMPAD5, HOTKEYF_CONTROL);
+		case PASTE_POSITION_6:
+			return ACCEL_MAKEKEY(VK_NUMPAD6, HOTKEYF_CONTROL);
+		case PASTE_POSITION_7:
+			return ACCEL_MAKEKEY(VK_NUMPAD7, HOTKEYF_CONTROL);
+		case PASTE_POSITION_8:
+			return ACCEL_MAKEKEY(VK_NUMPAD8, HOTKEYF_CONTROL);
+		case PASTE_POSITION_9:
+			return ACCEL_MAKEKEY(VK_NUMPAD9, HOTKEYF_CONTROL);
+		case PASTE_POSITION_10:
+			return ACCEL_MAKEKEY(VK_NUMPAD0, HOTKEYF_CONTROL);
 		}
 		break;
 	}

+ 25 - 0
ActionEnums.h

@@ -57,6 +57,31 @@ public:
 		PASTE_ADD_ONE_LINE_FEED,
 		PASTE_ADD_TWO_LINE_FEEDS,
 		PASTE_TYPOGLYCEMIA,
+		SEND_TO_FRIEND_1,
+		SEND_TO_FRIEND_2,
+		SEND_TO_FRIEND_3,
+		SEND_TO_FRIEND_4,
+		SEND_TO_FRIEND_5,
+		SEND_TO_FRIEND_6,
+		SEND_TO_FRIEND_7,
+		SEND_TO_FRIEND_8,
+		SEND_TO_FRIEND_9,
+		SEND_TO_FRIEND_10,
+		SEND_TO_FRIEND_11,
+		SEND_TO_FRIEND_12,
+		SEND_TO_FRIEND_13,
+		SEND_TO_FRIEND_14,
+		SEND_TO_FRIEND_15,
+		PASTE_POSITION_1,
+		PASTE_POSITION_2,
+		PASTE_POSITION_3,
+		PASTE_POSITION_4,
+		PASTE_POSITION_5,
+		PASTE_POSITION_6,
+		PASTE_POSITION_7,
+		PASTE_POSITION_8,
+		PASTE_POSITION_9,
+		PASTE_POSITION_10,
 
 		LAST_ACTION
 	};

+ 1 - 35
QListCtrl.cpp

@@ -788,40 +788,6 @@ BOOL CQListCtrl::HandleKeyDown(WPARAM wParam, LPARAM lParam)
 	}
 
 	WPARAM vk = wParam;
-				
-	// if a number key was pressed
-	if('0' <= vk && vk <= '9')
-	{
-		// if <Ctrl> is required but is absent, then break
-		if(g_Opt.m_bUseCtrlNumAccel && !(CONTROL_PRESSED))
-			return FALSE;
-		
-		int index = (int)vk - '0';
-		// '0' is actually 10 in the ditto window
-		if(index == 0)
-			index = 10;
-		// translate num 1-10 into the actual index (based upon m_bStartTop)
-		index = GetFirstTenIndex(index);
-		GetParent()->SendMessage(NM_SELECT_INDEX, index, 0);
-		return TRUE;
-	}
-
-	if(VK_NUMPAD0 <= vk && vk <= VK_NUMPAD9)
-	{
-		// if <Ctrl> is required but is absent, then break
-		if( g_Opt.m_bUseCtrlNumAccel && !(CONTROL_PRESSED) )
-			return FALSE;
-		
-		int index = (int)vk - VK_NUMPAD0;
-		// '0' is actually 10 in the ditto window
-		if(index == 0)
-			index = 10;
-		
-		// translate num 1-10 into the actual index (based upon m_bStartTop)
-		index = GetFirstTenIndex(index);
-		GetParent()->SendMessage(NM_SELECT_INDEX, index, 0);
-		return TRUE;
-	}
 	
 	switch( vk )
 	{
@@ -1195,7 +1161,7 @@ void CQListCtrl::LoadDittoCopyBufferHotkeys()
 	g_Opt.GetCopyBufferItem(0, Item);	
 	if(Item.m_lCopyHotKey > 0)
 	{
-		a.Cmd = COPY_BUFFER_HOT_KEY_1_ID;
+		a.Cmd = COPY_BUFFER_HOT_KEY_1_ID; 
 		a.Key = Item.m_lCopyHotKey;
 		m_Accels.AddAccel(a);
 	}

+ 0 - 1
QListCtrl.h

@@ -23,7 +23,6 @@
 #define NM_LBUTTONDOWN				WM_USER+0x106
 #define NM_GETTOOLTIPTEXT	        WM_USER+0x107
 #define NM_SELECT_DB_ID		        WM_USER+0x108
-#define NM_SELECT_INDEX		        WM_USER+0x109
 #define NM_GROUP_TREE_MESSAGE       WM_USER+0x110
 #define CB_SEARCH					WM_USER+0x112
 #define CB_UPDOWN					WM_USER+0x113

+ 80 - 17
QPasteWnd.cpp

@@ -169,7 +169,6 @@ ON_MESSAGE(CB_SEARCH, OnSearch)
 ON_MESSAGE(NM_DELETE, OnDelete)
 ON_NOTIFY(NM_GETTOOLTIPTEXT, ID_LIST_HEADER, OnGetToolTipText)
 ON_MESSAGE(NM_SELECT_DB_ID, OnListSelect_DB_ID)
-ON_MESSAGE(NM_SELECT_INDEX, OnListSelect_Index)
 ON_MESSAGE(WM_REFRESH_VIEW, OnRefreshView)
 ON_MESSAGE(WM_RELOAD_CLIP_ORDER, OnReloadClipOrder)
 ON_WM_NCLBUTTONDBLCLK()
@@ -877,6 +876,11 @@ BOOL CQPasteWnd::OpenSelection(CSpecialPasteOptions pasteOptions)
 
 BOOL CQPasteWnd::OpenIndex(int item)
 {
+	if (item >= m_lstHeader.GetItemCount())
+	{
+		return FALSE;
+	}
+
 	CSpecialPasteOptions pasteOptions;
     return OpenID(m_lstHeader.GetItemData(item), pasteOptions);
 }
@@ -945,18 +949,6 @@ LRESULT CQPasteWnd::OnListMoveSelectionToGroup(WPARAM wParam, LPARAM lParam)
 	return TRUE;
 }
 
-LRESULT CQPasteWnd::OnListSelect_Index(WPARAM wParam, LPARAM lParam)
-{
-    if((int)wParam >= m_lstHeader.GetItemCount())
-    {
-        return FALSE;
-    }
-
-    OpenIndex((int)wParam);
-
-    return TRUE;
-}
-
 LRESULT CQPasteWnd::OnListDblClick(WPARAM wParam, LPARAM lParam)
 {
 	//DoAction(ActionEnums::PASTE_SELECTED);
@@ -2807,22 +2799,93 @@ bool CQPasteWnd::DoAction(DWORD actionId)
 	case ActionEnums::PASTE_SENTENCE_CASE:
 		ret = DoPasteSentenceCase();
 		break;
-
 	case ActionEnums::PASTE_REMOVE_LINE_FEEDS:
 		ret = DoPasteRemoveLineFeeds();
 		break;
-
 	case ActionEnums::PASTE_ADD_ONE_LINE_FEED:
 		ret = DoPastePlusAddLineFeed();
 		break;
-
 	case ActionEnums::PASTE_ADD_TWO_LINE_FEEDS:
 		ret = DoPasteAddTwoLineFeeds();
 		break;
-
 	case ActionEnums::PASTE_TYPOGLYCEMIA:
 		ret = DoPasteTypoglycemia();
 		break;
+	case ActionEnums::SEND_TO_FRIEND_1:
+		ret = SendToFriendbyPos(0);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_2:
+		ret = SendToFriendbyPos(1);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_3:
+		ret = SendToFriendbyPos(2);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_4:
+		ret = SendToFriendbyPos(3);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_5:
+		ret = SendToFriendbyPos(4);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_6:
+		ret = SendToFriendbyPos(5);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_7:
+		ret = SendToFriendbyPos(6);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_8:
+		ret = SendToFriendbyPos(7);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_9:
+		ret = SendToFriendbyPos(8);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_10:
+		ret = SendToFriendbyPos(9);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_11:
+		ret = SendToFriendbyPos(10);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_12:
+		ret = SendToFriendbyPos(11);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_13:
+		ret = SendToFriendbyPos(12);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_14:
+		ret = SendToFriendbyPos(13);
+		break;
+	case ActionEnums::SEND_TO_FRIEND_15:
+		ret = SendToFriendbyPos(14);
+		break;
+	case ActionEnums::PASTE_POSITION_1:
+		ret = OpenIndex(0);
+		break;
+	case ActionEnums::PASTE_POSITION_2:
+		ret = OpenIndex(1);
+		break;
+	case ActionEnums::PASTE_POSITION_3:
+		ret = OpenIndex(2);
+		break;
+	case ActionEnums::PASTE_POSITION_4:
+		ret = OpenIndex(3);
+		break;
+	case ActionEnums::PASTE_POSITION_5:
+		ret = OpenIndex(4);
+		break;
+	case ActionEnums::PASTE_POSITION_6:
+		ret = OpenIndex(5);
+		break;
+	case ActionEnums::PASTE_POSITION_7:
+		ret = OpenIndex(6);
+		break;
+	case ActionEnums::PASTE_POSITION_8:
+		ret = OpenIndex(7);
+		break;
+	case ActionEnums::PASTE_POSITION_9:
+		ret = OpenIndex(8);
+		break;
+	case ActionEnums::PASTE_POSITION_10:
+		ret = OpenIndex(9);
+		break;
 	}
 
 	return ret;

+ 0 - 1
QPasteWnd.h

@@ -358,7 +358,6 @@ protected:
     afx_msg void OnGetToolTipText(NMHDR *pNMHDR, LRESULT *pResult);
     afx_msg LRESULT OnListSelect_DB_ID(WPARAM wParam, LPARAM lParam);
 	afx_msg LRESULT OnListMoveSelectionToGroup(WPARAM wParam, LPARAM lParam);
-    afx_msg LRESULT OnListSelect_Index(WPARAM wParam, LPARAM lParam);
     afx_msg LRESULT OnRefreshView(WPARAM wParam, LPARAM lParam);
 	afx_msg LRESULT OnReloadClipOrder(WPARAM wParam, LPARAM lParam);
     afx_msg LRESULT OnGroupTreeMessage(WPARAM wParam, LPARAM lParam);

+ 1 - 1
QuickPasteKeyboard.h

@@ -19,7 +19,7 @@ public:
 		KeyboardAB()
 		{
 			A = -1;
-			B = 0;
+			B = -1;
 			Dirty = false;
 		}
 		int A;