aboutsummaryrefslogtreecommitdiff
path: root/src/base_tab/BaseImportTab.cpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-12-28 07:21:30 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-12-28 07:21:30 +0100
commit214d46b8e26ae88b13f9a1a9083d36ce83671d46 (patch)
treeb6d9e4a4cbfc3d9b772367f987807fa7ebbd076b /src/base_tab/BaseImportTab.cpp
parent4eeb110f807cd175fc778a5c19e9964589b4d885 (diff)
Improve user experience
Diffstat (limited to 'src/base_tab/BaseImportTab.cpp')
-rw-r--r--src/base_tab/BaseImportTab.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/base_tab/BaseImportTab.cpp b/src/base_tab/BaseImportTab.cpp
index 422a76f..3e93633 100644
--- a/src/base_tab/BaseImportTab.cpp
+++ b/src/base_tab/BaseImportTab.cpp
@@ -77,6 +77,7 @@ void BaseImportTab::OnImportSelection(wxCommandEvent &event){
while ((selected = game_list->GetNextItem(selected, wxLIST_NEXT_ALL,
wxLIST_STATE_SELECTED)) !=
wxNOT_FOUND) {
+ game_list->SetItemState(selected, 0, wxLIST_STATE_SELECTED); // First deselect
// Get game id
long game_id=glm->GetItemGameId(selected);
// Select the right db hashmap
@@ -112,6 +113,7 @@ void BaseImportTab::OnLoad(wxCommandEvent &event){
selected_base=OpenDatabase(game_tab->GetBase()->GetFilePath());
SHOW_DIALOG_BUSY("Loading database...");
auto &game_list=selected_games_to_import[selected_base->GetFilePath()];
+ bool baseImported=std::count(databases_to_import.begin(),databases_to_import.end(),selected_base->GetFilePath())>0;
while (selected_base->NextGame()) {
long id=glm->AddGame(
selected_base->GetTag("White"),
@@ -120,7 +122,7 @@ void BaseImportTab::OnLoad(wxCommandEvent &event){
selected_base->GetTag("Round"),
selected_base->GetTag("Result"),
selected_base->GetTag("ECO"));
- if(game_list.find(id)!=game_list.end()){
+ if(game_list.find(id)!=game_list.end() || baseImported){
glm->MarkItemAsImported(id);
}
}