diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-02-25 11:42:46 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-02-25 11:42:46 +0100 |
| commit | c6f648cfb49372508fc4f2c6281d7752074397d7 (patch) | |
| tree | 83c49e4db7f76b74a02c2cb81e307211a004cb74 /src/base_tab/BaseTab.cpp | |
| parent | 64dec753e7a6594a8b68f7978773e80353d8e869 (diff) | |
Improve pgn save performance
Diffstat (limited to 'src/base_tab/BaseTab.cpp')
| -rw-r--r-- | src/base_tab/BaseTab.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/base_tab/BaseTab.cpp b/src/base_tab/BaseTab.cpp index 13530c7..bc1c09f 100644 --- a/src/base_tab/BaseTab.cpp +++ b/src/base_tab/BaseTab.cpp @@ -2,7 +2,7 @@ #include <wx/filename.h> BaseTab::BaseTab(wxFrame *parent, std::string base_file) - : BasePanelBF(parent), TabInfos(TabInfos::BASE), base(NULL) { + : BasePanelBF(parent), base_file(base_file), TabInfos(TabInfos::BASE), base(NULL) { game_list->InsertColumn(0, L"id", wxLIST_FORMAT_LEFT, 50); game_list->InsertColumn(1, L"White", wxLIST_FORMAT_LEFT, 200); @@ -16,7 +16,7 @@ BaseTab::BaseTab(wxFrame *parent, std::string base_file) this->Bind(wxEVT_BUTTON, &BaseTab::OnSave, this, ID_SAVE_BUTTON); this->Bind(wxEVT_LIST_ITEM_ACTIVATED, &BaseTab::OnOpenGame, this, wxID_ANY); current_base->SetLabel(base_file); - LoadFile(base_file); + LoadFile(); } void BaseTab::OnDelete(wxCommandEvent &event) { @@ -39,8 +39,9 @@ void BaseTab::OnSave(wxCommandEvent &event) { std::vector<GameBase *> new_games_bases; std::vector<Game *> new_games; base->Save(deleted, new_games_bases, new_games); - game_list->ClearAll(); + game_list->DeleteAllItems(); deleted.clear(); + LoadFile(); } void BaseTab::OnOpenGame(wxListEvent &event) { @@ -57,11 +58,11 @@ void BaseTab::OnOpenGame(wxListEvent &event) { void BaseTab::ApplyPreferences() {} -void BaseTab::LoadFile(std::string path) { - wxFileName file(path); +void BaseTab::LoadFile() { + wxFileName file(base_file); wxString ext = file.GetExt().Lower(); if (ext == "pgn") { - base = new PGNGameBase(path); + base = new PGNGameBase(base_file); SetLabel(file.GetName() + "(PGN)"); } |
