diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-12-26 18:56:59 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-12-26 18:56:59 +0100 |
| commit | 5c8334af1d96eb22ad09318b531fd7441f277285 (patch) | |
| tree | f664a90934888a5c443962760cc520cd39725ec6 /src | |
| parent | af331272c7a5a5c27b55ee17b54a0e710c8f5a93 (diff) | |
Debug db import
Diffstat (limited to 'src')
| -rw-r--r-- | src/base_tab/BaseImportTab.cpp | 10 | ||||
| -rw-r--r-- | src/base_tab/BaseImportTab.hpp | 3 | ||||
| -rw-r--r-- | src/base_tab/BaseTab.cpp | 9 |
3 files changed, 19 insertions, 3 deletions
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<GameBase> base){ this->base=base; this->games_to_import.clear(); this->databases_to_import.clear(); + this->selected_games_to_import.clear(); glm->Clear(); } + +std::vector<std::shared_ptr<Game>> BaseImportTab::GetGameToImport(){ + std::vector<std::shared_ptr<Game>> 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<GameBase> base); - + std::vector<std::shared_ptr<Game>> GetGameToImport(); + std::vector<std::shared_ptr<GameBase>> 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<std::shared_ptr<GameBase>> dummy_empty_base; - base->Save(games_tab->GetDeletedGameIds(), dummy_empty_base, games_tab->GetEditedGames()); + // Build new games + std::vector<std::shared_ptr<Game>> 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()); |
