mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2025-12-21 05:02:17 +01:00
DroidFish: Added preference setting to choose between "sticky" and "toggle" mode for selecting squares.
This commit is contained in:
@@ -57,6 +57,7 @@ public class ChessBoard extends View {
|
||||
public boolean flipped;
|
||||
public boolean drawSquareLabels;
|
||||
boolean oneTouchMoves;
|
||||
boolean toggleSelection;
|
||||
|
||||
List<Move> 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<Move> moves = new MoveGen().legalMoves(pos);
|
||||
Move matchingMove = null;
|
||||
if (prevSq >= 0)
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user