From e686937ce9df0ac938b5e23727b335efa53a81b7 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Mon, 9 Jan 2023 10:30:17 +0100 Subject: Prompt the user before closing dirty tabs --- src/game_tab/GameTab.cpp | 6 ++++++ src/game_tab/GameTab.hpp | 2 +- src/game_tab/left_panel/GameTabLeftPanel.hpp | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'src/game_tab') 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) // 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 GetGame() { return (std::shared_ptr(game)); } std::shared_ptr 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 -- cgit v1.2.3