Browse Source

Set focus to search combo when typing in list box. Cancel filter on Escape.

git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@59 595ec19a-5cb4-439b-94a8-42fb3063c22c
sabrogden 22 years ago
parent
commit
f37e3834f3
1 changed files with 20 additions and 4 deletions
  1. 20 4
      QPasteWnd.cpp

+ 20 - 4
QPasteWnd.cpp

@@ -1243,13 +1243,21 @@ BOOL CQPasteWnd::PreTranslateMessage(MSG* pMsg)
 			break;
 
 		case VK_ESCAPE:
-		{			
-			if(!m_cbSearch.GetShowingDropDown() &&
-				m_GroupTree.IsWindowVisible() == FALSE)
+		{	
+			if(m_strSQLSearch.IsEmpty() == FALSE)
 			{
-				HideQPasteWindow();
+				OnCancelFilter();
 				return TRUE;
 			}
+			else
+			{	
+				if(!m_cbSearch.GetShowingDropDown() &&
+					m_GroupTree.IsWindowVisible() == FALSE)
+				{
+					HideQPasteWindow();
+					return TRUE;
+				}
+			}
 			break;
 		}
 		case VK_TAB:
@@ -1488,6 +1496,14 @@ void CQPasteWnd::OnFindItem(NMHDR* pNMHDR, LRESULT* pResult)
 
 	if(fndItem.flags & LVFI_STRING)
 	{
+		{
+			m_cbSearch.SetWindowText(fndItem.psz);
+			m_cbSearch.SetFocus();
+			m_cbSearch.SetEditSel(strlen(fndItem.psz), strlen(fndItem.psz));
+			*pResult = -1;
+			return;
+		}
+		
         int   nLength = strlen(fndItem.psz);
         long lArraySize = m_Recset.GetRecordCount();