From 6307b0d9ad7dd832cb2f3f0def3d19c20f16652a Mon Sep 17 00:00:00 2001 From: n-stein <16599929+n-stein@users.noreply.github.com> Date: Mon, 5 Dec 2022 11:58:02 -0500 Subject: [PATCH 1/3] fix(#5392): fix categ delimiter in filter dialog --- src/filtertransdialog.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/filtertransdialog.cpp b/src/filtertransdialog.cpp index 53c546f182..d54fbf988c 100644 --- a/src/filtertransdialog.cpp +++ b/src/filtertransdialog.cpp @@ -40,6 +40,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #include "model/allmodel.h" #include +#include constexpr auto DATE_MAX = 253402214400 /* Dec 31, 9999 */; @@ -272,11 +273,13 @@ void mmFilterTransactionsDialog::mmDoDataToControls(const wxString& json) if (delimiter != ":" && s_category.Contains(":")) { wxStringTokenizer categ_token(s_category, ":", wxTOKEN_RET_EMPTY_ALL); + wxRegEx regex; const auto& categ_name = categ_token.GetNextToken(); Model_Category::Data_Set categs = Model_Category::instance().all(); for (const auto& categ : categs) { if (categ.CATEGNAME == categ_name) { - s_category.Replace(categ_name + ":", categ_name + delimiter); + regex.Compile(categ_name + _(" ?: ?")); + regex.Replace(&s_category, categ_name + delimiter); break; } } From a7097f5d822cc9d8ebe7d5ff3815fac447515c2d Mon Sep 17 00:00:00 2001 From: n-stein <16599929+n-stein@users.noreply.github.com> Date: Mon, 5 Dec 2022 17:22:33 -0500 Subject: [PATCH 2/3] fix(#5391): special chars in split category --- src/filtertransdialog.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/filtertransdialog.h b/src/filtertransdialog.h index 6a4906cc38..98ee5ebaf8 100644 --- a/src/filtertransdialog.h +++ b/src/filtertransdialog.h @@ -246,7 +246,7 @@ inline bool mmFilterTransactionsDialog::mmIsCategoryChecked() const { return cat inline bool mmFilterTransactionsDialog::mmIsCategorySubCatChecked() const { return categorySubCatCheckBox_->IsChecked(); } inline bool mmFilterTransactionsDialog::mmIsStatusChecked() const { return statusCheckBox_->IsChecked(); } inline const wxString mmFilterTransactionsDialog::mmGetLabelString() const { return m_setting_name->GetStringSelection(); } -inline const wxString mmFilterTransactionsDialog::mmGetCategoryPattern() const { return categoryComboBox_->GetValue(); } +inline const wxString mmFilterTransactionsDialog::mmGetCategoryPattern() const { return categoryComboBox_->mmGetPattern(); } #endif // FILTERTRANSDIALOG_H_ From a2c74d1b0d97af86cb2bcc30aeff6935b44fb5a1 Mon Sep 17 00:00:00 2001 From: n-stein <16599929+n-stein@users.noreply.github.com> Date: Mon, 5 Dec 2022 17:26:34 -0500 Subject: [PATCH 3/3] fix(#5392): fix categ delimiter in filter dialog --- src/filtertransdialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/filtertransdialog.cpp b/src/filtertransdialog.cpp index d54fbf988c..23573acd2e 100644 --- a/src/filtertransdialog.cpp +++ b/src/filtertransdialog.cpp @@ -278,7 +278,7 @@ void mmFilterTransactionsDialog::mmDoDataToControls(const wxString& json) Model_Category::Data_Set categs = Model_Category::instance().all(); for (const auto& categ : categs) { if (categ.CATEGNAME == categ_name) { - regex.Compile(categ_name + _(" ?: ?")); + regex.Compile(categ_name + " ?: ?"); regex.Replace(&s_category, categ_name + delimiter); break; }