diff options
Diffstat (limited to 'src/base_tab/BaseImportTab.cpp')
| -rw-r--r-- | src/base_tab/BaseImportTab.cpp | 11 |
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(); } |
