diff --git a/DroidFish/res/values/strings.xml b/DroidFish/res/values/strings.xml index 143841e..8ec2657 100644 --- a/DroidFish/res/values/strings.xml +++ b/DroidFish/res/values/strings.xml @@ -105,6 +105,7 @@ you are not actively using the program.\ Toggle Variations Toggle Comments Toggle Headers + Toggle Engine Analysis Cancel Yes No @@ -501,6 +502,7 @@ you are not actively using the program.\ Disabled Flip Board + @string/toggle_analysis @string/toggle_show_thinking @string/toggle_book_hints @string/toggle_pgn_variations @@ -510,6 +512,7 @@ you are not actively using the program.\ flipboard + toggleAnalysis showThinking bookHints viewVariations diff --git a/DroidFish/src/org/petero/droidfish/DroidFish.java b/DroidFish/src/org/petero/droidfish/DroidFish.java index 306e140..d8655b4 100644 --- a/DroidFish/src/org/petero/droidfish/DroidFish.java +++ b/DroidFish/src/org/petero/droidfish/DroidFish.java @@ -272,6 +272,22 @@ public class DroidFish extends Activity implements GUIInterface { ctrl.prefsChanged(); } }); + addAction(new UIAction() { + public String getId() { return "toggleAnalysis"; } + public int getName() { return R.string.toggle_analysis; } + public int getIcon(boolean large) { return -1; } + public boolean enabled() { return true; } + public void run() { + int gameModeType = ctrl.analysisMode() ? GameMode.EDIT_GAME : GameMode.ANALYSIS; + Editor editor = settings.edit(); + String gameModeStr = String.format("%d", gameModeType); + editor.putString("gameMode", gameModeStr); + editor.commit(); + gameMode = new GameMode(gameModeType); + ctrl.setGameMode(gameMode); + setBoardFlip(true); + } + }); } @Override diff --git a/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java b/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java index 83ad435..051be19 100644 --- a/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java +++ b/DroidFish/src/org/petero/droidfish/gamelogic/DroidChessController.java @@ -131,6 +131,11 @@ public class DroidChessController { } } + /** Return true if game mode is analysis. */ + public final boolean analysisMode() { + return gameMode.analysisMode(); + } + /** Set engine book options. */ public final synchronized void setBookOptions(BookOptions options) { if (!bookOptions.equals(options)) {