aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/MainWindow.cpp6
-rw-r--r--src/game_tab/GameTab.cpp1
-rw-r--r--src/game_tab/editor/EditorPanel.cpp26
-rw-r--r--src/game_tab/editor/EditorPanel.hpp1
4 files changed, 21 insertions, 13 deletions
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index b048c62..d07d93f 100644
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -44,8 +44,6 @@ MainWindow::MainWindow()
engineMenu->Append(6, "New", "Create a new engine configuration");
manageMenu = new wxMenu;
engineMenu->AppendSubMenu(manageMenu, "Manage");
- wxCommandEvent dummy(REFRESH_ENGINE_LIST, GetId());
- OnRefreshEngineList(dummy);
/// Menu bar
menuBar = new wxMenuBar;
@@ -78,6 +76,8 @@ MainWindow::MainWindow()
"/home/loic/.local/bin/stockfish");
notebook->AddPage(bt, bt->GetLabel());
notebook->SetSelection(notebook->GetPageIndex(bt));*/
+ wxCommandEvent dummy(REFRESH_ENGINE_LIST, GetId());
+ OnRefreshEngineList(dummy);
}
void MainWindow::OnCloseTabEvent(wxCommandEvent &event) {
@@ -131,8 +131,8 @@ void MainWindow::OnRefreshEngineList(wxCommandEvent &event) {
id++;
} while (conf->GetNextGroup(engine_name, index));
}
-
CONFIG_CLOSE(conf);
+ ApplyPreferences(); // Propagate motifications
}
void MainWindow::NewEngine() {
diff --git a/src/game_tab/GameTab.cpp b/src/game_tab/GameTab.cpp
index 5a3e6b8..48c69d7 100644
--- a/src/game_tab/GameTab.cpp
+++ b/src/game_tab/GameTab.cpp
@@ -50,4 +50,5 @@ void GameTab::OnRefreshTabTitle(wxCommandEvent &event) {
void GameTab::ApplyPreferences() {
board_panel->ApplyPreferences();
+ editor_panel->ApplyPreferences();
}
diff --git a/src/game_tab/editor/EditorPanel.cpp b/src/game_tab/editor/EditorPanel.cpp
index 3e6a7db..892673f 100644
--- a/src/game_tab/editor/EditorPanel.cpp
+++ b/src/game_tab/editor/EditorPanel.cpp
@@ -15,17 +15,7 @@ EditorPanel::EditorPanel(wxFrame *parent, Game *game)
tags_list->InsertColumn(1, L"Value", wxLIST_FORMAT_LEFT, 500);
tagTextCtrl->SetHint("Tag");
valueTextCtrl->SetHint("Value");
- CONFIG_OPEN(conf);
- conf->SetPath("engines/");
- wxString engine_name;
- long index;
- if (conf->GetFirstGroup(engine_name, index)) {
- do {
- engine_list->Append(engine_name);
- } while (conf->GetNextGroup(engine_name, index));
- }
- CONFIG_CLOSE(conf);
RefreshTagsList();
// Bind events
@@ -44,6 +34,7 @@ EditorPanel::EditorPanel(wxFrame *parent, Game *game)
wxID_ANY);
this->Bind(wxEVT_BUTTON, &EditorPanel::OnApply, this, UPDATE_BTN);
this->Bind(wxEVT_BUTTON, &EditorPanel::OnDelete, this, DELETE_BTN);
+ ApplyPreferences();
}
void EditorPanel::OnTagSelected(wxListEvent &event) {
@@ -146,6 +137,21 @@ void EditorPanel::Notify() {
editor_canvas->SetMoves(game->GetMoves(), m);
}
+void EditorPanel::ApplyPreferences() {
+ engine_list->Clear();
+ CONFIG_OPEN(conf);
+ conf->SetPath("engines/");
+ wxString engine_name;
+ long index;
+ if (conf->GetFirstGroup(engine_name, index)) {
+ do {
+ engine_list->Append(engine_name);
+ } while (conf->GetNextGroup(engine_name, index));
+ }
+
+ CONFIG_CLOSE(conf);
+}
+
void EditorPanel::RefreshTagsList() {
tags_list->DeleteAllItems();
for (std::string s : game->ListTags()) {
diff --git a/src/game_tab/editor/EditorPanel.hpp b/src/game_tab/editor/EditorPanel.hpp
index 36d57f1..8502c14 100644
--- a/src/game_tab/editor/EditorPanel.hpp
+++ b/src/game_tab/editor/EditorPanel.hpp
@@ -36,4 +36,5 @@ public:
void OnDelete(wxCommandEvent &event);
void OnPreviousMove(wxCommandEvent &event);
void OnNextMove(wxCommandEvent &event);
+ void ApplyPreferences();
}; \ No newline at end of file