Remember contents of filter control when switching tabs

This commit is contained in:
Twan van Laarhoven
2020-04-21 00:10:17 +02:00
parent 4889f0b7e8
commit e72909f430
4 changed files with 17 additions and 4 deletions
+8 -2
View File
@@ -219,7 +219,9 @@ void CardsPanel::initUI(wxToolBar* tb, wxMenuBar* mb) {
#endif
// Filter/search textbox
tb->AddSeparator();
if (!filter) filter = new FilterCtrl(tb, ID_CARD_FILTER, _LABEL_("search cards"));
assert(!filter);
filter = new FilterCtrl(tb, ID_CARD_FILTER, _LABEL_("search cards"));
filter->setFilter(filter_value);
tb->AddControl(filter);
tb->Realize();
// Menus
@@ -236,7 +238,11 @@ void CardsPanel::destroyUI(wxToolBar* tb, wxMenuBar* mb) {
tb->DeleteTool(ID_CARD_ADD);
tb->DeleteTool(ID_CARD_REMOVE);
tb->DeleteTool(ID_CARD_ROTATE);
tb->DeleteTool(filter->GetId()); filter = nullptr;
// remember the value in the filter control, because the card list remains filtered
// the control is destroyed by DeleteTool
filter_value = filter->getFilterString();
tb->DeleteTool(filter->GetId());
filter = nullptr;
// HACK: hardcoded size of rest of toolbar
tb->DeleteToolByPos(12); // delete separator
tb->DeleteToolByPos(12); // delete separator