Browse Source

Added command to move selection up/down that can be assigned to shortcut key

Scott Brogden 8 years ago
parent
commit
88a68c50a2
5 changed files with 36 additions and 12 deletions
  1. 6 0
      ActionEnums.cpp
  2. 2 0
      ActionEnums.h
  3. 22 4
      QPasteWnd.cpp
  4. 3 1
      QPasteWnd.h
  5. 3 7
      QuickPaste.cpp

+ 6 - 0
ActionEnums.cpp

@@ -284,6 +284,12 @@ CString ActionEnums::EnumDescription(ActionEnumValues value)
 	case TOGGLE_CLIPBOARD_CONNECTION:
 		val = "Toggle clipboard connection";
 		break;
+	case MOVE_SELECTION_UP:
+		val = "Move Selection Up";
+		break;
+	case MOVE_SELECTION_DOWN:
+		val = "Move Selection Down";
+		break;
 	}
 
 	CString translatedValue = theApp.m_Language.GetQuickPasteKeyboardString(value, val);

+ 2 - 0
ActionEnums.h

@@ -96,6 +96,8 @@ public:
 		PROMPT_SEND_TO_FRIEND,
 		SAVE_CF_HDROP_FIlE_DATA,
 		TOGGLE_CLIPBOARD_CONNECTION,
+		MOVE_SELECTION_UP,
+		MOVE_SELECTION_DOWN,
 
 		LAST_ACTION
 	};

+ 22 - 4
QPasteWnd.cpp

@@ -2661,9 +2661,9 @@ CString CQPasteWnd::LoadDescription(int nItem)
     return cs;
 }
 
-void CQPasteWnd::MoveSelection(bool down)
+void CQPasteWnd::MoveSelection(bool down, bool requireModifersActive)
 {
-    if(m_bModifersMoveActive)
+    if(m_bModifersMoveActive || requireModifersActive == false)
     {
         ARRAY arr;
         m_lstHeader.GetSelectionIndexes(arr);
@@ -3053,6 +3053,12 @@ bool CQPasteWnd::DoAction(DWORD actionId)
 	case ActionEnums::TOGGLE_CLIPBOARD_CONNECTION:
 		ret = DoActionToggleClipboardConnection();
 		break;
+	case ActionEnums::MOVE_SELECTION_UP:
+		ret = DoActionMoveSelectionUp();
+		break;
+	case ActionEnums::MOVE_SELECTION_DOWN:
+		ret = DoActionMoveSelectionDown();
+		break;
 	}
 
 	return ret;
@@ -3319,11 +3325,23 @@ bool CQPasteWnd::DoActionEditClip()
 	return true;
 }
 
+bool CQPasteWnd::DoActionMoveSelectionUp()
+{
+	MoveSelection(false, false);
+	return true;
+}
+
+bool CQPasteWnd::DoActionMoveSelectionDown()
+{
+	MoveSelection(true, false);
+	return true;
+}
+
 bool CQPasteWnd::DoModifierActiveActionSelectionUp()
 {
 	if (m_bModifersMoveActive)
 	{
-		MoveSelection(false);
+		MoveSelection(false, true);
 		m_modifierKeyActions.m_handleRepeatKeys = true;
 		return true;
 	}
@@ -3335,7 +3353,7 @@ bool CQPasteWnd::DoModifierActiveActionSelectionDown()
 {
 	if (m_bModifersMoveActive)
 	{
-		MoveSelection(true);
+		MoveSelection(true, true);
 		m_modifierKeyActions.m_handleRepeatKeys = true;
 		return true;
 	}

+ 3 - 1
QPasteWnd.h

@@ -203,7 +203,7 @@ public:
 
     void FillMainTable(CMainTable &table, CppSQLite3Query &q);
     void RunThread();
-    void MoveSelection(bool down);
+    void MoveSelection(bool down, bool requireModifersActive);
     void OnKeyStateUp();
     void SetKeyModiferState(bool bActive);
 	void SaveWindowSize();
@@ -233,6 +233,8 @@ public:
 	bool DoActionShowGroups();
 	bool DoActionNewClip();
 	bool DoActionEditClip();
+	bool DoActionMoveSelectionDown();
+	bool DoActionMoveSelectionUp();
 	bool DoModifierActiveActionSelectionUp();
 	bool DoModifierActiveActionSelectionDown();
 	bool DoModifierActiveActionMoveFirst();

+ 3 - 7
QuickPaste.cpp

@@ -245,13 +245,9 @@ void CQuickPaste::ShowQPasteWnd(CWnd *pParent, bool bAtPrevPos, bool bFromKeyboa
 
 		// Show the window
 		m_pwndPaste->ShowWindow(SW_SHOW);
-	}
-	
-	
+	}	
 
-	m_pwndPaste->SetKeyModiferState(bFromKeyboard);
-	
-	
+	m_pwndPaste->SetKeyModiferState(bFromKeyboard);	
 
 	if(bReFillList)
 	{
@@ -268,7 +264,7 @@ void CQuickPaste::MoveSelection(bool down)
 	{
 		if (IsWindow(m_pwndPaste->m_hWnd))
 		{
-			m_pwndPaste->MoveSelection(down);
+			m_pwndPaste->MoveSelection(down, true);
 		}
 	}
 }