aboutsummaryrefslogtreecommitdiff
path: root/src/base_tab
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-12-26 18:56:59 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-12-26 18:56:59 +0100
commit5c8334af1d96eb22ad09318b531fd7441f277285 (patch)
treef664a90934888a5c443962760cc520cd39725ec6 /src/base_tab
parentaf331272c7a5a5c27b55ee17b54a0e710c8f5a93 (diff)
Debug db import
Diffstat (limited to 'src/base_tab')
-rw-r--r--src/base_tab/BaseImportTab.cpp10
-rw-r--r--src/base_tab/BaseImportTab.hpp3
-rw-r--r--src/base_tab/BaseTab.cpp9
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());