diff --git a/src/base_tab/BaseImportTab.cpp b/src/base_tab/BaseImportTab.cpp index 7e9e964..d7da23b 100644 --- a/src/base_tab/BaseImportTab.cpp +++ b/src/base_tab/BaseImportTab.cpp @@ -107,5 +107,15 @@ void BaseImportTab::Reset(std::shared_ptr base){ this->base=base; this->games_to_import.clear(); this->databases_to_import.clear(); + this->selected_games_to_import.clear(); glm->Clear(); } + +std::vector> BaseImportTab::GetGameToImport(){ + std::vector> to_import; + for(auto g: games_to_import){to_import.push_back(g);} + for (auto it = selected_games_to_import.begin(); it != selected_games_to_import.end(); it++){ + to_import.push_back(it->second); + } + return to_import; +} diff --git a/src/base_tab/BaseImportTab.hpp b/src/base_tab/BaseImportTab.hpp index 6d9d234..2bd5953 100644 --- a/src/base_tab/BaseImportTab.hpp +++ b/src/base_tab/BaseImportTab.hpp @@ -23,5 +23,6 @@ public: void OnImportSelection(wxCommandEvent &event); void OnImportDatabase(wxCommandEvent &event); void Reset(std::shared_ptr base); - + std::vector> GetGameToImport(); + std::vector> GetDatabaseToImport() {return databases_to_import;}; }; \ No newline at end of file diff --git a/src/base_tab/BaseTab.cpp b/src/base_tab/BaseTab.cpp index 8a2b4ad..bc40e60 100644 --- a/src/base_tab/BaseTab.cpp +++ b/src/base_tab/BaseTab.cpp @@ -55,8 +55,13 @@ void BaseTab::OpenDatabase(std::string dbpath) { } void BaseTab::OnSave(wxCommandEvent &event) { - std::vector> dummy_empty_base; - base->Save(games_tab->GetDeletedGameIds(), dummy_empty_base, games_tab->GetEditedGames()); + // Build new games + std::vector> new_games=games_tab->GetEditedGames(); + for(auto g: import_tab->GetGameToImport()){ + new_games.push_back(g); + } + SHOW_DIALOG_BUSY("Apply all changes. Take a coffee, this process can takes time..."); + base->Save(games_tab->GetDeletedGameIds(), import_tab->GetDatabaseToImport(), new_games); // Close all opened games in this database wxCommandEvent closeLinkedTabEvent(CLOSE_LINKED_TAB, GetId());