diff --git a/data/themes/macros.cfg b/data/themes/macros.cfg index cdedef4ee83..d2f0d9a2970 100644 --- a/data/themes/macros.cfg +++ b/data/themes/macros.cfg @@ -465,10 +465,25 @@ yanchor=fixed [/action] [/add] + [add] + [action] + id=button-nextmove + ref=button-nextside + type=image + image=button_square/button_square_30 + overlay=icons/action/play_move_30 + title= _ "Next Move" + tooltip= _ "play single move" + items=replaynextmove + rect="+4,=,+23,=" + xanchor=fixed + yanchor=fixed + [/action] + [/add] [add] [menu] id=show-what - ref=button-nextside + ref=button-nextmove image=button_normal/button_H22 title= _ "Point of view" items=replayshowteam1,replayshoweach,replayshoweverything @@ -591,10 +606,24 @@ yanchor=fixed [/action] [/add] + [add] + [action] + id=button-nextmove + ref=button-nextside + type=image + image=classic/play-move + title= _ "Next Move" + tooltip= _ "play single move" + items=replaynextmove + rect="+4,=,+23,=" + xanchor=fixed + yanchor=fixed + [/action] + [/add] [add] [menu] id=show-what - ref=button-nextside + ref=button-nextmove image=classic/lite title= _ "Point of view" items=replayshowteam1,replayshoweach,replayshoweverything diff --git a/images/buttons/classic/play_move-active.png b/images/buttons/classic/play_move-active.png new file mode 100644 index 00000000000..514f56f58b8 Binary files /dev/null and b/images/buttons/classic/play_move-active.png differ diff --git a/images/buttons/classic/play_move-pressed.png b/images/buttons/classic/play_move-pressed.png new file mode 100644 index 00000000000..c51d64930e0 Binary files /dev/null and b/images/buttons/classic/play_move-pressed.png differ diff --git a/images/buttons/classic/play_move.png b/images/buttons/classic/play_move.png new file mode 100644 index 00000000000..5dd843f4b78 Binary files /dev/null and b/images/buttons/classic/play_move.png differ diff --git a/images/icons/action/play_move_30-active.png b/images/icons/action/play_move_30-active.png new file mode 100644 index 00000000000..0d1f3473101 Binary files /dev/null and b/images/icons/action/play_move_30-active.png differ diff --git a/images/icons/action/play_move_30-pressed.png b/images/icons/action/play_move_30-pressed.png new file mode 100644 index 00000000000..08c18bf1959 Binary files /dev/null and b/images/icons/action/play_move_30-pressed.png differ diff --git a/images/icons/action/play_move_30.png b/images/icons/action/play_move_30.png new file mode 100644 index 00000000000..cb6040bd53a Binary files /dev/null and b/images/icons/action/play_move_30.png differ diff --git a/src/hotkey/command_executor.cpp b/src/hotkey/command_executor.cpp index 0346a37d6a5..4e8c874aa61 100644 --- a/src/hotkey/command_executor.cpp +++ b/src/hotkey/command_executor.cpp @@ -209,6 +209,9 @@ bool command_executor::execute_command(const hotkey_command& cmd, int /*index*/ case HOTKEY_REPLAY_NEXT_SIDE: replay_next_side(); break; + case HOTKEY_REPLAY_NEXT_MOVE: + replay_next_move(); + break; case HOTKEY_REPLAY_SHOW_EVERYTHING: replay_show_everything(); break; diff --git a/src/hotkey/command_executor.hpp b/src/hotkey/command_executor.hpp index c2eaf8735a1..6f6b0edc055 100644 --- a/src/hotkey/command_executor.hpp +++ b/src/hotkey/command_executor.hpp @@ -84,6 +84,7 @@ public: virtual void stop_replay() {} virtual possible_end_play_signal replay_next_turn() { return boost::none; } virtual possible_end_play_signal replay_next_side() { return boost::none; } + virtual possible_end_play_signal replay_next_move() { return boost::none; } virtual void replay_show_everything() {} virtual void replay_show_each() {} virtual void replay_show_team1() {} diff --git a/src/hotkey/hotkey_command.cpp b/src/hotkey/hotkey_command.cpp index b6022524aae..67b6119b483 100644 --- a/src/hotkey/hotkey_command.cpp +++ b/src/hotkey/hotkey_command.cpp @@ -100,6 +100,7 @@ hotkey::hotkey_command_temp hotkey_list_[] = { { hotkey::HOTKEY_REPLAY_STOP, "stopreplay", N_("Stop Replay"), false, scope_game, "" }, { hotkey::HOTKEY_REPLAY_NEXT_TURN, "replaynextturn", N_("Next Turn"), false, scope_game, "" }, { hotkey::HOTKEY_REPLAY_NEXT_SIDE, "replaynextside", N_("Next Side"), false, scope_game, "" }, + { hotkey::HOTKEY_REPLAY_NEXT_MOVE, "replaynextmove", N_("Next Move"), false, scope_game, "" }, { hotkey::HOTKEY_REPLAY_SHOW_EVERYTHING, "replayshoweverything", N_("Full Map"), false, scope_game, "" }, { hotkey::HOTKEY_REPLAY_SHOW_EACH, "replayshoweach", N_("Each Team"), false, scope_game, "" }, { hotkey::HOTKEY_REPLAY_SHOW_TEAM1, "replayshowteam1", N_("Team 1"), false, scope_game, "" }, diff --git a/src/hotkey/hotkey_command.hpp b/src/hotkey/hotkey_command.hpp index 9b9baf469a6..41ee51bdca8 100644 --- a/src/hotkey/hotkey_command.hpp +++ b/src/hotkey/hotkey_command.hpp @@ -56,7 +56,7 @@ enum HOTKEY_COMMAND { // Replay HOTKEY_REPLAY_PLAY, HOTKEY_REPLAY_RESET, HOTKEY_REPLAY_STOP, HOTKEY_REPLAY_NEXT_TURN, - HOTKEY_REPLAY_NEXT_SIDE, HOTKEY_REPLAY_SHOW_EVERYTHING, + HOTKEY_REPLAY_NEXT_SIDE, HOTKEY_REPLAY_NEXT_MOVE, HOTKEY_REPLAY_SHOW_EVERYTHING, HOTKEY_REPLAY_SHOW_EACH, HOTKEY_REPLAY_SHOW_TEAM1, HOTKEY_REPLAY_SKIP_ANIMATION,