diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-12-30 15:58:13 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-12-30 15:58:13 +0100 |
| commit | 2045a1250a3ae04d7b9ea8e97317e62f55b69247 (patch) | |
| tree | 2e132c890439753de52feb80de298898788ef05c /src/game_tab | |
| parent | 27ac369fb6b773f642eabed087194ff7e95f9156 (diff) | |
Improve UI
Diffstat (limited to 'src/game_tab')
| -rw-r--r-- | src/game_tab/GameTab.cpp | 17 | ||||
| -rw-r--r-- | src/game_tab/GameTab.hpp | 3 | ||||
| -rw-r--r-- | src/game_tab/left_panel/GameTabLeftPanel.cpp | 19 | ||||
| -rw-r--r-- | src/game_tab/left_panel/GameTabLeftPanel.hpp | 3 |
4 files changed, 23 insertions, 19 deletions
diff --git a/src/game_tab/GameTab.cpp b/src/game_tab/GameTab.cpp index 27f7638..a9a12da 100644 --- a/src/game_tab/GameTab.cpp +++ b/src/game_tab/GameTab.cpp @@ -26,6 +26,7 @@ GameTab::GameTab(wxFrame *parent, std::shared_ptr<Game> game) board_panel->Notify(false, false); editor_panel->Notify(); + board_panel->Bind(wxEVT_TOOL,&GameTab::OnToolClick,this); Bind(REFRESH_TAB_TITLE, &GameTab::OnRefreshTabTitle, this, wxID_ANY); Bind(GAME_CHANGE, &GameTab::OnGameChange, this, wxID_ANY); splitter->Bind(wxEVT_KEY_DOWN, [p=this,bp=board_panel,ed=editor_panel](wxKeyEvent &e){ @@ -46,6 +47,22 @@ GameTab::GameTab(wxFrame *parent, std::shared_ptr<Game> game) }); } +void GameTab::OnToolClick(wxCommandEvent &event){ + short id=event.GetId(); + if(id==0){ + if(!related_file.size()>0){ + wxFileDialog + newFileDialog(this, _("Save Game"), "", "", + "PGN files (*.pgn)|*.pgn", wxFD_SAVE|wxFD_OVERWRITE_PROMPT); + if (newFileDialog.ShowModal() == wxID_CANCEL) + return; + // Create and open new db + related_file = newFileDialog.GetPath().ToStdString(); + } + SaveGame(related_file,game); + } +} + void GameTab::OnGameChange(wxCommandEvent &event) { board_panel->Notify(false,false); editor_panel->Notify(); diff --git a/src/game_tab/GameTab.hpp b/src/game_tab/GameTab.hpp index 9eb08c1..f951ae7 100644 --- a/src/game_tab/GameTab.hpp +++ b/src/game_tab/GameTab.hpp @@ -17,6 +17,7 @@ class GameTab : public wxPanel, public TabInfos { GameTabRightPanel *editor_panel; GameTabLeftPanel *board_panel; std::shared_ptr<Game> game; + std::string related_file; void RefreshLabel(); void OnRefreshTabTitle(wxCommandEvent &event); @@ -27,4 +28,6 @@ public: void ApplyPreferences(); std::shared_ptr<Game> GetGame() { return (std::shared_ptr<Game>(game)); } std::shared_ptr<GameBase> GetBase() { return (std::shared_ptr<GameBase>(NULL)); }; + void OnToolClick(wxCommandEvent &event); + void OnLink(){board_panel->DisableSaveTool();}; }; diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp index 4f09bdd..33383fd 100644 --- a/src/game_tab/left_panel/GameTabLeftPanel.cpp +++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp @@ -5,7 +5,7 @@ GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game) : TabGameLeftPanel(parent), game(game), repeat(false) { // Configure toolbal - game_toolbar->AddTool(0, wxT("Exit application"), + game_toolbar->AddTool(0, wxT("Save As"), wxArtProvider::GetBitmap(wxART_FILE_SAVE, wxART_TOOLBAR)); // Add board @@ -26,24 +26,9 @@ GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game) Bind(wxEVT_BUTTON, &GameTabLeftPanel::OnZoomOut, this, ZOOM_OUT_BTN); Bind(wxEVT_KEY_DOWN, [p=this](wxKeyEvent &e){e.ResumePropagation(1);e.Skip();}); Bind(wxEVT_KEY_UP, [p=this](wxKeyEvent &e){e.ResumePropagation(1);e.Skip();}); - game_toolbar->Bind(wxEVT_TOOL,&GameTabLeftPanel::OnToolClick,this); } -void GameTabLeftPanel::OnToolClick(wxCommandEvent &event){ - short id=event.GetId(); - if(id==0){ - if(!related_file.size()>0){ - wxFileDialog - newFileDialog(this, _("Save Game"), "", "", - "PGN files (*.pgn)|*.pgn", wxFD_SAVE|wxFD_OVERWRITE_PROMPT); - if (newFileDialog.ShowModal() == wxID_CANCEL) - return; - // Create and open new db - related_file = newFileDialog.GetPath().ToStdString(); - } - SaveGame(related_file,game); - } -} + void GameTabLeftPanel::PreviousMove(bool isKeyDown) { if(isKeyDown){ diff --git a/src/game_tab/left_panel/GameTabLeftPanel.hpp b/src/game_tab/left_panel/GameTabLeftPanel.hpp index d9995e4..3adbaee 100644 --- a/src/game_tab/left_panel/GameTabLeftPanel.hpp +++ b/src/game_tab/left_panel/GameTabLeftPanel.hpp @@ -15,7 +15,6 @@ class GameTabLeftPanel : public TabGameLeftPanel { void NotifyEditor(); std::string last_absolute_move; bool repeat; - std::string related_file; public: GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game); @@ -29,5 +28,5 @@ public: void OnSwap(wxCommandEvent &event); void OnRefreshBoard(wxCommandEvent &event); void ApplyPreferences(); - void OnToolClick(wxCommandEvent &event); + void DisableSaveTool(){game_toolbar->EnableTool(0,false);}; };
\ No newline at end of file |
