aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-01-09 10:30:17 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2023-01-09 10:30:17 +0100
commite686937ce9df0ac938b5e23727b335efa53a81b7 (patch)
tree163b869fc3f11c668085a27b1255d2a59e9a72e1 /src/game_tab
parentf1a54fd165251b1f2296f5845d31198f9b0198d9 (diff)
Prompt the user before closing dirty tabs
Diffstat (limited to 'src/game_tab')
-rw-r--r--src/game_tab/GameTab.cpp6
-rw-r--r--src/game_tab/GameTab.hpp2
-rw-r--r--src/game_tab/left_panel/GameTabLeftPanel.hpp2
3 files changed, 8 insertions, 2 deletions
diff --git a/src/game_tab/GameTab.cpp b/src/game_tab/GameTab.cpp
index 32534fd..79f6794 100644
--- a/src/game_tab/GameTab.cpp
+++ b/src/game_tab/GameTab.cpp
@@ -11,6 +11,7 @@ GameTab::GameTab(wxFrame *parent, std::shared_ptr<Game> game)
// Panels
game->BuildAndVerify();
board_panel = new GameTabLeftPanel((wxFrame *)splitter, game);
+ board_panel->SetSaveToolEnable(false);
editor_panel = new GameTabRightPanel((wxFrame *)splitter, game);
splitter->SplitVertically(board_panel, editor_panel);
@@ -59,6 +60,11 @@ void GameTab::OnGameChange(wxCommandEvent &event) {
board_panel->Notify();
RefreshTabTitle();
}
+ // Update dirty flag
+ if(!is_linked){
+ is_dirty=true;
+ board_panel->SetSaveToolEnable(true);
+ }
}
void GameTab::RefreshTabTitle() {
diff --git a/src/game_tab/GameTab.hpp b/src/game_tab/GameTab.hpp
index d2f2390..d29f1f3 100644
--- a/src/game_tab/GameTab.hpp
+++ b/src/game_tab/GameTab.hpp
@@ -29,5 +29,5 @@ public:
std::shared_ptr<Game> GetGame() { return (std::shared_ptr<Game>(game)); }
std::shared_ptr<GameBase> GetBase() { return nullptr; };
void OnToolClick(wxCommandEvent &event);
- void OnLink(){board_panel->DisableSaveTool();};
+ void OnLink(){board_panel->SetSaveToolEnable(false);};
};
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.hpp b/src/game_tab/left_panel/GameTabLeftPanel.hpp
index 56297d8..578f8c4 100644
--- a/src/game_tab/left_panel/GameTabLeftPanel.hpp
+++ b/src/game_tab/left_panel/GameTabLeftPanel.hpp
@@ -21,5 +21,5 @@ public:
void OnGotoMove(wxCommandEvent &event);
void OnRefreshBoard(wxCommandEvent &event);
void ApplyPreferences();
- void DisableSaveTool(){game_toolbar->EnableTool(0,false);};
+ void SetSaveToolEnable(bool state){game_toolbar->EnableTool(0,state);};
}; \ No newline at end of file