aboutsummaryrefslogtreecommitdiff
path: root/src/base_tab/BaseImportTab.cpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-12-26 16:57:14 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-12-26 16:57:14 +0100
commitaae19085bb0d5df835e97d58b1174a637bd7c3c3 (patch)
tree876d73dd58c32e68c5b4b979504a3685ab51b960 /src/base_tab/BaseImportTab.cpp
parent8a9b920a5e98196fa33d7642174597887b8c94f9 (diff)
Improve import
Diffstat (limited to 'src/base_tab/BaseImportTab.cpp')
-rw-r--r--src/base_tab/BaseImportTab.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/base_tab/BaseImportTab.cpp b/src/base_tab/BaseImportTab.cpp
index c3fe433..eb98c04 100644
--- a/src/base_tab/BaseImportTab.cpp
+++ b/src/base_tab/BaseImportTab.cpp
@@ -27,9 +27,10 @@ void BaseImportTab::OnImportDatabase(wxCommandEvent &event){
void BaseImportTab::RefreshPendingImports(){
int ngames=games_to_import.size();
int ndb=databases_to_import.size();
+ int nbselect=selected_games_to_import.size();
pending_imports->Clear();
- if(ngames+ndb>0){
- pending_imports->AppendText(" Pending imports: "+std::to_string(ngames)+" games and "+std::to_string(ndb)+" databases");
+ if(ngames+ndb+nbselect>0){
+ pending_imports->AppendText(" Pending imports: "+std::to_string(ngames+nbselect)+" games and "+std::to_string(ndb)+" databases");
}else
pending_imports->SetHint("No pending imports");
}
@@ -56,7 +57,11 @@ void BaseImportTab::OnImportSelection(wxCommandEvent &event){
while ((selected = game_list->GetNextItem(selected, wxLIST_NEXT_ALL,
wxLIST_STATE_SELECTED)) !=
wxNOT_FOUND) {
- games_to_import.push_back(selected_base->GetGame(glm->GetItemGameId(selected)));
+ long game_id=glm->GetItemGameId(selected);
+ if(selected_games_to_import.find(game_id) == selected_games_to_import.end()){
+ selected_games_to_import[game_id]=selected_base->GetGame(glm->GetItemGameId(selected));
+ glm->MarkItemAsImported(selected);
+ }
}
RefreshPendingImports();
}