Browse Source

select index position after pasting

sabrogden 4 years ago
parent
commit
e5c5aee7aa
3 changed files with 17 additions and 26 deletions
  1. 5 5
      AdvGeneral.cpp
  2. 4 17
      ProcessPaste.cpp
  3. 8 4
      QPasteWnd.cpp

+ 5 - 5
AdvGeneral.cpp

@@ -830,7 +830,7 @@ void CAdvGeneral::OnBnClickedOk()
 				}
 				break;
 			case SETTING_MOVE_SELECTION_ON_OPEN_HOTKEY:
-				if (pNewValue->lVal != pOrigValue->lVal)
+				if (wcscmp(pNewValue->bstrVal, pOrigValue->bstrVal) != 0)
 				{
 					BOOL val = false;
 					if (wcscmp(pNewValue->bstrVal, L"True") == 0)
@@ -841,7 +841,7 @@ void CAdvGeneral::OnBnClickedOk()
 				}
 				break;
 			case SETTING_MAINTAIN_SEARCH_VIEW:
-				if (pNewValue->lVal != pOrigValue->lVal)
+				if (wcscmp(pNewValue->bstrVal, pOrigValue->bstrVal) != 0)
 				{
 					BOOL val = false;
 					if (wcscmp(pNewValue->bstrVal, L"True") == 0)
@@ -858,7 +858,7 @@ void CAdvGeneral::OnBnClickedOk()
 				}
 				break;
 			case SETTING_DEBUG_TO_FILE:
-				if (pNewValue->lVal != pOrigValue->lVal)
+				if (wcscmp(pNewValue->bstrVal, pOrigValue->bstrVal) != 0)
 				{
 					BOOL val = false;
 					if (wcscmp(pNewValue->bstrVal, L"True") == 0)
@@ -869,7 +869,7 @@ void CAdvGeneral::OnBnClickedOk()
 				}
 				break;
 			case SETTING_DEBUG_TO_OUTPUT_STRING:
-				if (pNewValue->lVal != pOrigValue->lVal)
+				if (wcscmp(pNewValue->bstrVal, pOrigValue->bstrVal) != 0)
 				{
 					BOOL val = false;
 					if (wcscmp(pNewValue->bstrVal, L"True") == 0)
@@ -886,7 +886,7 @@ void CAdvGeneral::OnBnClickedOk()
 				}
 				break;
 			case SETTING_DISABLE_FRIENDS:
-				if (pNewValue->lVal != pOrigValue->lVal)
+				if (wcscmp(pNewValue->bstrVal, pOrigValue->bstrVal) != 0)
 				{
 					BOOL val = true;
 					if (wcscmp(pNewValue->bstrVal, L"True") == 0)

+ 4 - 17
ProcessPaste.cpp

@@ -58,7 +58,7 @@ BOOL CProcessPaste::DoPaste()
 			// when new data is put on the Clipboard
 			m_pOle = NULL; // m_pOle should not be accessed past this point
 
-			if (m_bSendPaste)
+			/*if (m_bSendPaste)
 			{
 				Log(_T("Sending Paste to active window"));
 				theApp.m_activeWnd.SendPaste(m_bActivateTarget);
@@ -67,7 +67,7 @@ BOOL CProcessPaste::DoPaste()
 			{
 				Log(_T("Activating active window"));
 				theApp.m_activeWnd.ActivateTarget();
-			}
+			}*/
 
 			ret = TRUE;
 		}
@@ -242,25 +242,12 @@ UINT CProcessPaste::MarkAsPastedThread(LPVOID pParam)
 			}
 			CATCH_SQLITE_EXCEPTION
 
-			int refreshFlags = 0;
-
-			//if multiple clips are selected then don't change selection
-			if (clipCount == 1)
-			{
-				refreshFlags |= UPDATE_AFTER_PASTE_SELECT_CLIP;
-			}
-
 			for (int i = 0; i < clipCount; i++)
 			{
 				int id = pData->ids.ElementAt(i);
 
-				//refresh the window on the last clip
-				if (i == clipCount - 1)
-				{
-					refreshFlags |= UPDATE_AFTER_PASTE_REFRESH_VISIBLE;
-				}
-
-				theApp.RefreshClipAfterPaste(id, refreshFlags);
+				theApp.RefreshClipAfterPaste(id, 0);
+				break;
 			}			
 
 			delete pData;

+ 8 - 4
QPasteWnd.cpp

@@ -1208,18 +1208,20 @@ LRESULT CQPasteWnd::OnReloadClipAfterPaste(WPARAM wParam, LPARAM lParam)
 
 				foundClip = TRUE;
 
-				if (updateFlags & UPDATE_AFTER_PASTE_SELECT_CLIP)
+				//if (updateFlags & UPDATE_AFTER_PASTE_SELECT_CLIP)
 				{
-					theApp.m_FocusID = clipId;
-					SelectFocusID();
+					theApp.m_FocusID = -1;
+					
 				}
 
-				if (updateFlags & UPDATE_AFTER_PASTE_REFRESH_VISIBLE)
+				//if (updateFlags & UPDATE_AFTER_PASTE_REFRESH_VISIBLE)
 				{
 					m_lstHeader.RefreshVisibleRows();
 					m_lstHeader.RedrawWindow();
 				}
 
+				SelectFocusID();
+
 				break;
 			}
 
@@ -1256,6 +1258,7 @@ LRESULT CQPasteWnd::OnRefreshView(WPARAM wParam, LPARAM lParam)
 	theApp.m_FocusID = -1;
 
 	m_bHandleSearchTextChange = false;
+
 	m_search.SetWindowText(_T(""));
 	m_bHandleSearchTextChange = true;
 
@@ -6046,6 +6049,7 @@ void CQPasteWnd::SelectFocusID()
 
 	if (selectedItem == false)
 	{
+		m_lstHeader.EnsureVisible(0, FALSE);
 		m_lstHeader.SetListPos(g_Opt.SelectedIndex());
 	}
 }