diff --git a/src/filtertransdialog.cpp b/src/filtertransdialog.cpp index 53c546f182..23573acd2e 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; } } 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_