|
@@ -27,6 +27,7 @@ void CAdvGeneral::DoDataExchange(CDataExchange* pDX)
|
|
|
{
|
|
{
|
|
|
CDialogEx::DoDataExchange(pDX);
|
|
CDialogEx::DoDataExchange(pDX);
|
|
|
DDX_Control(pDX, IDC_MFCPROPERTYGRID1, m_propertyGrid);
|
|
DDX_Control(pDX, IDC_MFCPROPERTYGRID1, m_propertyGrid);
|
|
|
|
|
+ DDX_Control(pDX, IDC_EDIT_ADV_FILTER, m_editFilter);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -38,6 +39,7 @@ BEGIN_MESSAGE_MAP(CAdvGeneral, CDialogEx)
|
|
|
ON_BN_CLICKED(IDC_BUTTON_PASTE_SCRIPTS, &CAdvGeneral::OnBnClickedButtonPasteScripts2)
|
|
ON_BN_CLICKED(IDC_BUTTON_PASTE_SCRIPTS, &CAdvGeneral::OnBnClickedButtonPasteScripts2)
|
|
|
ON_WM_GETMINMAXINFO()
|
|
ON_WM_GETMINMAXINFO()
|
|
|
ON_WM_NCLBUTTONDOWN()
|
|
ON_WM_NCLBUTTONDOWN()
|
|
|
|
|
+ ON_EN_CHANGE(IDC_EDIT_ADV_FILTER, &CAdvGeneral::OnEnChangeAdvFilter)
|
|
|
END_MESSAGE_MAP()
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
@@ -165,8 +167,12 @@ BOOL CAdvGeneral::OnInitDialog()
|
|
|
|
|
|
|
|
m_propertyGrid.ModifyStyle(0, WS_CLIPCHILDREN);
|
|
m_propertyGrid.ModifyStyle(0, WS_CLIPCHILDREN);
|
|
|
|
|
|
|
|
|
|
+ // Store all properties for filtering
|
|
|
|
|
+ m_allProperties.RemoveAll();
|
|
|
|
|
+
|
|
|
CMFCPropertyGridProperty * pGroupTest = new CMFCPropertyGridProperty( _T( "Ditto" ) );
|
|
CMFCPropertyGridProperty * pGroupTest = new CMFCPropertyGridProperty( _T( "Ditto" ) );
|
|
|
- m_propertyGrid.AddProperty(pGroupTest);
|
|
|
|
|
|
|
+ m_propertyGrid.AddProperty(pGroupTest);
|
|
|
|
|
+ m_allProperties.Add(pGroupTest);
|
|
|
|
|
|
|
|
m_Resize.SetParent(m_hWnd);
|
|
m_Resize.SetParent(m_hWnd);
|
|
|
m_Resize.AddControl(IDC_MFCPROPERTYGRID1, DR_SizeWidth | DR_SizeHeight);
|
|
m_Resize.AddControl(IDC_MFCPROPERTYGRID1, DR_SizeWidth | DR_SizeHeight);
|
|
@@ -322,7 +328,8 @@ BOOL CAdvGeneral::OnInitDialog()
|
|
|
AddTrueFalse(pGroupTest, _T("Write debug to OutputDebugString"), CGetSetOptions::GetEnableDebugLogging(), SETTING_DEBUG_TO_OUTPUT_STRING);
|
|
AddTrueFalse(pGroupTest, _T("Write debug to OutputDebugString"), CGetSetOptions::GetEnableDebugLogging(), SETTING_DEBUG_TO_OUTPUT_STRING);
|
|
|
|
|
|
|
|
CMFCPropertyGridProperty * regexFilterGroup = new CMFCPropertyGridProperty(_T("Exclude clips by Regular Expressions"));
|
|
CMFCPropertyGridProperty * regexFilterGroup = new CMFCPropertyGridProperty(_T("Exclude clips by Regular Expressions"));
|
|
|
- m_propertyGrid.AddProperty(regexFilterGroup);
|
|
|
|
|
|
|
+ m_propertyGrid.AddProperty(regexFilterGroup);
|
|
|
|
|
+ m_allProperties.Add(regexFilterGroup);
|
|
|
|
|
|
|
|
CString processFilterDesc = _T("Process making the copy first must match this before the Regex will be applied (empty or * for all processes) (separate multiples by ;)");
|
|
CString processFilterDesc = _T("Process making the copy first must match this before the Regex will be applied (empty or * for all processes) (separate multiples by ;)");
|
|
|
CString regexFilterDesc = _T("If copied text matches this regular expression then the clip will not be saved to Ditto");
|
|
CString regexFilterDesc = _T("If copied text matches this regular expression then the clip will not be saved to Ditto");
|
|
@@ -1044,3 +1051,42 @@ void CAdvGeneral::OnNcLButtonDown(UINT nHitTest, CPoint point)
|
|
|
|
|
|
|
|
CDialog::OnNcLButtonDown(nHitTest, point);
|
|
CDialog::OnNcLButtonDown(nHitTest, point);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+void CAdvGeneral::OnEnChangeAdvFilter()
|
|
|
|
|
+{
|
|
|
|
|
+ CString filterText;
|
|
|
|
|
+ m_editFilter.GetWindowText(filterText);
|
|
|
|
|
+ filterText.MakeLower();
|
|
|
|
|
+
|
|
|
|
|
+ m_propertyGrid.RemoveAll();
|
|
|
|
|
+
|
|
|
|
|
+ for (int i = 0; i < m_allProperties.GetSize(); ++i)
|
|
|
|
|
+ {
|
|
|
|
|
+ CMFCPropertyGridProperty* pProp = m_allProperties[i];
|
|
|
|
|
+ CString name = pProp->GetName();
|
|
|
|
|
+ name.MakeLower();
|
|
|
|
|
+ if (filterText.IsEmpty() || name.Find(filterText) >= 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ m_propertyGrid.AddProperty(pProp);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ // Check subitems
|
|
|
|
|
+ BOOL found = FALSE;
|
|
|
|
|
+ for (int j = 0; j < pProp->GetSubItemsCount(); ++j)
|
|
|
|
|
+ {
|
|
|
|
|
+ CString subName = pProp->GetSubItem(j)->GetName();
|
|
|
|
|
+ subName.MakeLower();
|
|
|
|
|
+ if (subName.Find(filterText) >= 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ found = TRUE;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (found)
|
|
|
|
|
+ {
|
|
|
|
|
+ m_propertyGrid.AddProperty(pProp);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|