diff --git a/DroidFish/res/values/strings.xml b/DroidFish/res/values/strings.xml index 709a410..4bc738b 100644 --- a/DroidFish/res/values/strings.xml +++ b/DroidFish/res/values/strings.xml @@ -6,6 +6,7 @@ 60 120000 0 + 0 12 2 2 @@ -276,6 +277,8 @@ you are not actively using the program.\ Enable this if you think scrolling moves in the wrong direction Left-handed mode Controls on left side in landscape mode + Square selection + Control how selecting squares on the chess board behaves Text Size Font size for move list and game information Large Buttons @@ -499,6 +502,14 @@ you are not actively using the program.\ 30000 60000 + + Sticky + Toggle + + + 0 + 1 + Small Medium diff --git a/DroidFish/res/xml/preferences.xml b/DroidFish/res/xml/preferences.xml index 06ada7d..4dd6630 100644 --- a/DroidFish/res/xml/preferences.xml +++ b/DroidFish/res/xml/preferences.xml @@ -172,6 +172,14 @@ android:summary="@string/prefs_leftHanded_summary" android:defaultValue="false"> + + moveHints; @@ -106,6 +107,7 @@ public class ChessBoard extends View { flipped = false; drawSquareLabels = false; oneTouchMoves = false; + toggleSelection = false; darkPaint = new Paint(); brightPaint = new Paint(); @@ -610,8 +612,11 @@ public class ChessBoard extends View { if (!oneTouchMoves) { int p = pos.getPiece(sq); if (selectedSquare != -1) { - if (sq == selectedSquare) + if (sq == selectedSquare) { + if (toggleSelection) + setSelection(-1); return null; + } if (!myColor(p)) { Move m = new Move(selectedSquare, sq, Piece.EMPTY); setSelection(sq); @@ -625,8 +630,11 @@ public class ChessBoard extends View { } } else { int prevSq = userSelectedSquare ? selectedSquare : -1; - if (prevSq == sq) + if (prevSq == sq) { + if (toggleSelection) + setSelection(-1); return null; + } ArrayList moves = new MoveGen().legalMoves(pos); Move matchingMove = null; if (prevSq >= 0) diff --git a/DroidFish/src/org/petero/droidfish/DroidFish.java b/DroidFish/src/org/petero/droidfish/DroidFish.java index 8c9a558..b121e10 100644 --- a/DroidFish/src/org/petero/droidfish/DroidFish.java +++ b/DroidFish/src/org/petero/droidfish/DroidFish.java @@ -490,6 +490,7 @@ public class DroidFish extends Activity implements GUIInterface { cb.setFlipped(oldCB.flipped); cb.setDrawSquareLabels(oldCB.drawSquareLabels); cb.oneTouchMoves = oldCB.oneTouchMoves; + cb.toggleSelection = oldCB.toggleSelection; setSelection(oldCB.selectedSquare); cb.userSelectedSquare = oldCB.userSelectedSquare; setStatusString(statusStr); @@ -755,6 +756,7 @@ public class DroidFish extends Activity implements GUIInterface { boolean drawSquareLabels = settings.getBoolean("drawSquareLabels", false); cb.setDrawSquareLabels(drawSquareLabels); cb.oneTouchMoves = settings.getBoolean("oneTouchMoves", false); + cb.toggleSelection = getIntSetting("squareSelectType", 0) == 1; mShowThinking = settings.getBoolean("showThinking", false); mShowStats = settings.getBoolean("showStats", true);