Browse Source

Show tooltip options for lines and characters in adv options
try and not draw rich text when highlighting search text

sabrogden 6 years ago
parent
commit
709a93fc8a
5 changed files with 38 additions and 8 deletions
  1. 23 0
      AdvGeneral.cpp
  2. 3 3
      Options.cpp
  3. 2 2
      Options.h
  4. 3 3
      QPasteWnd.cpp
  5. 7 0
      ToolTipEx.cpp

+ 23 - 0
AdvGeneral.cpp

@@ -114,6 +114,9 @@ END_MESSAGE_MAP()
 #define SETTING_REVERT_TO_TOP_LEVEL_GROUP 67
 #define SETTING_UPDATE_ORDER_ON_CTRL_C 68
 
+#define SETTING_TOOLTIP_LINES 69
+#define SETTING_TOOLTIP_CHARACTERS 70
+
 BOOL CAdvGeneral::OnInitDialog()
 {
 	CDialogEx::OnInitDialog();
@@ -162,8 +165,12 @@ BOOL CAdvGeneral::OnInitDialog()
 	AddTrueFalse(pGroupTest, _T("Find As You Type"), CGetSetOptions::GetFindAsYouType(), SETTING_FIND_AS_TYPE);
 	AddTrueFalse(pGroupTest, _T("Hide Ditto on Hot Key if Ditto is Visible"), CGetSetOptions::GetHideDittoOnHotKeyIfAlreadyShown(), SETTING_HIDE_ON_HOTKEY_IF_VISIBLE);
 	pGroupTest->AddSubItem( new CMFCPropertyGridProperty(_T("Maximum Clip Size in Bytes (0 for no limit)"), g_Opt.m_lMaxClipSizeInBytes, _T(""), SETTING_MAX_CLIP_SIZE));
+	
+	
+	
 	pGroupTest->AddSubItem( new CMFCPropertyGridProperty(_T("Multi-Paste clip separator ([LF] = line feed)"), g_Opt.GetMultiPasteSeparator(false), _T(""), SETTING_CLIP_SEPARATOR));
 
+
 	AddTrueFalse(pGroupTest, _T("Multi-Paste in reverse order"), g_Opt.m_bMultiPasteReverse, SETTING_MULTIPASTE_REVERSE_ORDER);
 
 	static TCHAR BASED_CODE szFilter[] = _T("Sounds(*.wav)|*.wav||");
@@ -196,6 +203,8 @@ BOOL CAdvGeneral::OnInitDialog()
 	pGroupTest->AddSubItem(new CMFCPropertyGridProperty(_T("Text Lines per Clip"), CGetSetOptions::GetLinesPerRow(), _T(""), SETTING_LINES_PER_ROW));
 
 	pGroupTest->AddSubItem(new CMFCPropertyGridProperty(_T("Tooltip display time(ms) max of 32000 (-1 default (5 seconds), 0 to turn off)"), g_Opt.m_tooltipTimeout, _T(""), SETTING_TOOLTIP_TIMEOUT));
+	pGroupTest->AddSubItem(new CMFCPropertyGridProperty(_T("Tooltip maximum display lines"), (long)CGetSetOptions::GetMaxToolTipLines(), _T(""), SETTING_TOOLTIP_LINES));
+	pGroupTest->AddSubItem(new CMFCPropertyGridProperty(_T("Tooltip display characters"), (long)CGetSetOptions::GetMaxToolTipCharacters(), _T(""), SETTING_TOOLTIP_CHARACTERS));
 
 	AddTrueFalse(pGroupTest, _T("Transparency Enabled"), CGetSetOptions::GetEnableTransparency(), SETTING_ENABLE_TRANSPARENCY);
 	pGroupTest->AddSubItem(new CMFCPropertyGridProperty(_T("Transparency Percentage"), CGetSetOptions::GetTransparencyPercent(), _T(""), SETTING_TRANSPARENCY));
@@ -651,6 +660,20 @@ void CAdvGeneral::OnBnClickedOk()
 				}
 				break;
 
+			case SETTING_TOOLTIP_LINES:
+				if (pNewValue->lVal != pOrigValue->lVal)
+				{
+					CGetSetOptions::SetMaxToolTipLines(pNewValue->lVal);
+				}
+				break;
+
+			case SETTING_TOOLTIP_CHARACTERS:
+				if (pNewValue->lVal != pOrigValue->lVal)
+				{
+					CGetSetOptions::SetMaxToolTipCharacters(pNewValue->lVal);
+				}
+				break;
+
 			case SETTING_DEFAULT_PASTE_STRING:
 				if (wcscmp(pNewValue->bstrVal, pOrigValue->bstrVal) != 0)
 				{

+ 3 - 3
Options.cpp

@@ -2765,7 +2765,7 @@ void CGetSetOptions::SetUpdateClipOrderOnCtrlC(BOOL val)
 	SetProfileLong("UpdateClipOrderOnCtrlC", val);
 }
 
-BOOL CGetSetOptions::GetMaxToolTipLines()
+int CGetSetOptions::GetMaxToolTipLines()
 {
 	return GetProfileLong("MaxToolTipLines", 30);
 }
@@ -2775,9 +2775,9 @@ void CGetSetOptions::SetMaxToolTipLines(int val)
 	SetProfileLong("MaxToolTipLines", val);
 }
 
-BOOL CGetSetOptions::GetMaxToolTipCharacters()
+int CGetSetOptions::GetMaxToolTipCharacters()
 {
-	return GetProfileLong("MaxToolTipCharacters", 1500);
+	return GetProfileLong("MaxToolTipCharacters", 1000);
 }
 
 void CGetSetOptions::SetMaxToolTipCharacters(int val)

+ 2 - 2
Options.h

@@ -614,10 +614,10 @@ public:
 	static BOOL GetUpdateClipOrderOnCtrlC();
 	static void SetUpdateClipOrderOnCtrlC(BOOL val);
 
-	static BOOL GetMaxToolTipLines();
+	static int GetMaxToolTipLines();
 	static void SetMaxToolTipLines(int val);
 
-	static BOOL GetMaxToolTipCharacters();
+	static int GetMaxToolTipCharacters();
 	static void SetMaxToolTipCharacters(int val);
 };
 

+ 3 - 3
QPasteWnd.cpp

@@ -5371,9 +5371,9 @@ void CQPasteWnd::OnGetToolTipText(NMHDR *pNMHDR, LRESULT *pResult)
 
 			int lines = 0;
 			int maxLines = CGetSetOptions::GetMaxToolTipLines();
-			CTokenizer tokenizer(clipText, "\r\n");
-			CString token;
-			while (tokenizer.Next(token))
+			CTokenizer tokenizer(clipText, "\r\n");
+			CString token;
+			while (tokenizer.Next(token))
 			{
 				cs += token + "\r\n";
 				if (lines > maxLines)

+ 7 - 0
ToolTipEx.cpp

@@ -849,6 +849,10 @@ void CToolTipEx::HighlightSearchText()
 	cf.dwEffects = CFE_BOLD | ~CFE_AUTOCOLOR;
 	cf.crTextColor = RGB(255, 0, 0);
 
+	m_RichEdit.SetRedraw(0);
+	auto mask = m_RichEdit.GetEventMask();
+	m_RichEdit.SetEventMask(0);
+
 	do 
 	{
 		ft.chrg.cpMin = n+1;
@@ -862,6 +866,9 @@ void CToolTipEx::HighlightSearchText()
 	} while (n != -1);	
 
 	m_RichEdit.SetSel(0, 0);
+	m_RichEdit.SetEventMask(mask);
+	m_RichEdit.SetRedraw(1);
+	m_RichEdit.UpdateWindow();
 }
 
 void CToolTipEx::DoSearch()