mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 19:27:45 +00:00
Chess: Added option to toggle showing moves
This commit is contained in:
parent
42f7f9d0f8
commit
17b7779271
2 changed files with 13 additions and 0 deletions
|
@ -66,6 +66,9 @@ public:
|
||||||
void set_drag_enabled(bool e) { m_drag_enabled = e; }
|
void set_drag_enabled(bool e) { m_drag_enabled = e; }
|
||||||
RefPtr<Gfx::Bitmap> get_piece_graphic(const Chess::Piece& piece) const;
|
RefPtr<Gfx::Bitmap> get_piece_graphic(const Chess::Piece& piece) const;
|
||||||
|
|
||||||
|
bool show_available_moves() const { return m_show_available_moves; }
|
||||||
|
void set_show_available_moves(bool e) { m_show_available_moves = e; }
|
||||||
|
|
||||||
String get_fen() const;
|
String get_fen() const;
|
||||||
bool import_pgn(const StringView& import_path);
|
bool import_pgn(const StringView& import_path);
|
||||||
bool export_pgn(const StringView& export_path) const;
|
bool export_pgn(const StringView& export_path) const;
|
||||||
|
|
|
@ -94,6 +94,7 @@ int main(int argc, char** argv)
|
||||||
widget.set_piece_set(config->read_entry("Style", "PieceSet", "stelar7"));
|
widget.set_piece_set(config->read_entry("Style", "PieceSet", "stelar7"));
|
||||||
widget.set_board_theme(config->read_entry("Style", "BoardTheme", "Beige"));
|
widget.set_board_theme(config->read_entry("Style", "BoardTheme", "Beige"));
|
||||||
widget.set_coordinates(config->read_bool_entry("Style", "Coordinates", true));
|
widget.set_coordinates(config->read_bool_entry("Style", "Coordinates", true));
|
||||||
|
widget.set_show_available_moves(config->read_bool_entry("Style", "ShowAvailableMoves", true));
|
||||||
|
|
||||||
auto menubar = GUI::MenuBar::construct();
|
auto menubar = GUI::MenuBar::construct();
|
||||||
auto& app_menu = menubar->add_menu("Game");
|
auto& app_menu = menubar->add_menu("Game");
|
||||||
|
@ -199,6 +200,15 @@ int main(int argc, char** argv)
|
||||||
coordinates_action->set_checked(widget.coordinates());
|
coordinates_action->set_checked(widget.coordinates());
|
||||||
style_menu.add_action(coordinates_action);
|
style_menu.add_action(coordinates_action);
|
||||||
|
|
||||||
|
auto show_available_moves_action = GUI::Action::create_checkable("Show Available Moves", [&](auto& action) {
|
||||||
|
widget.set_show_available_moves(action.is_checked());
|
||||||
|
widget.update();
|
||||||
|
config->write_bool_entry("Style", "ShowAvailableMoves", action.is_checked());
|
||||||
|
config->sync();
|
||||||
|
});
|
||||||
|
show_available_moves_action->set_checked(widget.show_available_moves());
|
||||||
|
style_menu.add_action(show_available_moves_action);
|
||||||
|
|
||||||
auto& engine_menu = menubar->add_menu("Engine");
|
auto& engine_menu = menubar->add_menu("Engine");
|
||||||
|
|
||||||
GUI::ActionGroup engines_action_group;
|
GUI::ActionGroup engines_action_group;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue