aboutsummaryrefslogtreecommitdiff
path: root/src/base_tab
diff options
context:
space:
mode:
Diffstat (limited to 'src/base_tab')
-rw-r--r--src/base_tab/BaseImportTab.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/base_tab/BaseImportTab.cpp b/src/base_tab/BaseImportTab.cpp
index eb98c04..7e9e964 100644
--- a/src/base_tab/BaseImportTab.cpp
+++ b/src/base_tab/BaseImportTab.cpp
@@ -19,6 +19,8 @@ TabBase_TabImport(parent), main_tab(main_tab), base(db)
void BaseImportTab::OnImportDatabase(wxCommandEvent &event){
if(std::find(databases_to_import.begin(), databases_to_import.end(), selected_base) == databases_to_import.end()){
databases_to_import.push_back(selected_base);
+ selected_games_to_import.clear();
+ glm->Clear();
RefreshPendingImports();
}
else SHOW_DIALOG_INFO("Database already prepared for import");
@@ -53,16 +55,21 @@ void BaseImportTab::RefreshImportLists(){
}
void BaseImportTab::OnImportSelection(wxCommandEvent &event){
- long selected = -1;
- while ((selected = game_list->GetNextItem(selected, wxLIST_NEXT_ALL,
- wxLIST_STATE_SELECTED)) !=
- wxNOT_FOUND) {
- 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);
+ if(std::find(databases_to_import.begin(), databases_to_import.end(), selected_base) == databases_to_import.end()){
+ long selected = -1;
+ while ((selected = game_list->GetNextItem(selected, wxLIST_NEXT_ALL,
+ wxLIST_STATE_SELECTED)) !=
+ wxNOT_FOUND) {
+ 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);
+ }
}
}
+ else {
+ SHOW_DIALOG_INFO("Database already prepared for import");
+ }
RefreshPendingImports();
}