aboutsummaryrefslogtreecommitdiff
path: root/src/base_tab/BaseTab.cpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-02-25 12:06:27 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-02-25 12:06:27 +0100
commit6ccdc954c5c08e81a29415ff9edda7a5bef6ef2a (patch)
tree1f2aae30267ab868aaaf60ce7ee373d42d71844f /src/base_tab/BaseTab.cpp
parentc6f648cfb49372508fc4f2c6281d7752074397d7 (diff)
Now games from databases can be edited and saved
Diffstat (limited to 'src/base_tab/BaseTab.cpp')
-rw-r--r--src/base_tab/BaseTab.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/base_tab/BaseTab.cpp b/src/base_tab/BaseTab.cpp
index bc1c09f..9234a47 100644
--- a/src/base_tab/BaseTab.cpp
+++ b/src/base_tab/BaseTab.cpp
@@ -2,7 +2,8 @@
#include <wx/filename.h>
BaseTab::BaseTab(wxFrame *parent, std::string base_file)
- : BasePanelBF(parent), base_file(base_file), TabInfos(TabInfos::BASE), base(NULL) {
+ : BasePanelBF(parent), base_file(base_file), TabInfos(TabInfos::BASE),
+ base(NULL) {
game_list->InsertColumn(0, L"id", wxLIST_FORMAT_LEFT, 50);
game_list->InsertColumn(1, L"White", wxLIST_FORMAT_LEFT, 200);
@@ -38,6 +39,9 @@ void BaseTab::OnDelete(wxCommandEvent &event) {
void BaseTab::OnSave(wxCommandEvent &event) {
std::vector<GameBase *> new_games_bases;
std::vector<Game *> new_games;
+ new_games.insert(
+ new_games.end(), edited.begin(),
+ edited.end()); // Add edited game (since they are also deleted)
base->Save(deleted, new_games_bases, new_games);
game_list->DeleteAllItems();
deleted.clear();
@@ -49,6 +53,9 @@ void BaseTab::OnOpenGame(wxListEvent &event) {
long id = std::stoi(event.GetItem().GetText().ToStdString());
Game *g = base->GetGame(id);
if (g != NULL) {
+ edited.push_back(g);
+ deleted.push_back(id);
+ game_list->SetItemBackgroundColour(event.GetIndex(), *wxGREEN);
wxCommandEvent newGameEvent(NEW_GAME_EVENT, GetId());
newGameEvent.SetEventObject(this);
newGameEvent.SetClientData(g);