DroidFish: Small simplification in "edit headers" function.

This commit is contained in:
Peter Osterlund
2011-11-27 12:44:41 +00:00
parent b39e5c7840
commit 09c270d533
3 changed files with 23 additions and 37 deletions

View File

@@ -1339,9 +1339,8 @@ public class DroidFish extends Activity implements GUIInterface {
public void onClick(DialogInterface dialog, int item) { public void onClick(DialogInterface dialog, int item) {
switch (finalActions.get(item)) { switch (finalActions.get(item)) {
case EDIT_HEADERS: { case EDIT_HEADERS: {
ArrayList<String> tags = new ArrayList<String>(); final TreeMap<String,String> headers = new TreeMap<String,String>();
ArrayList<String> tagValues = new ArrayList<String>(); ctrl.getHeaders(headers);
ctrl.getHeaders(tags, tagValues);
AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this); AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this);
builder.setTitle(R.string.edit_headers); builder.setTitle(R.string.edit_headers);
@@ -1357,10 +1356,6 @@ public class DroidFish extends Activity implements GUIInterface {
white = (TextView)content.findViewById(R.id.ed_header_white); white = (TextView)content.findViewById(R.id.ed_header_white);
black = (TextView)content.findViewById(R.id.ed_header_black); black = (TextView)content.findViewById(R.id.ed_header_black);
final TreeMap<String,String> headers = new TreeMap<String,String>();
for (int i = 0; i < tags.size(); i++)
headers.put(tags.get(i), tagValues.get(i));
event.setText(headers.get("Event")); event.setText(headers.get("Event"));
site .setText(headers.get("Site")); site .setText(headers.get("Site"));
date .setText(headers.get("Date")); date .setText(headers.get("Date"));
@@ -1377,20 +1372,11 @@ public class DroidFish extends Activity implements GUIInterface {
headers.put("Round", round.getText().toString().trim()); headers.put("Round", round.getText().toString().trim());
headers.put("White", white.getText().toString().trim()); headers.put("White", white.getText().toString().trim());
headers.put("Black", black.getText().toString().trim()); headers.put("Black", black.getText().toString().trim());
ctrl.setHeaders(headers);
ArrayList<String> tags = new ArrayList<String>();
ArrayList<String> tagValues = new ArrayList<String>();
for (String k : headers.keySet()) {
tags.add(k);
tagValues.add(headers.get(k));
}
ctrl.setHeaders(tags, tagValues);
} }
}); });
builder.show(); builder.show();
break; break;
} }
case EDIT_COMMENTS: { case EDIT_COMMENTS: {
@@ -1431,7 +1417,6 @@ public class DroidFish extends Activity implements GUIInterface {
}); });
builder.show(); builder.show();
break; break;
} }
case REMOVE_SUBTREE: case REMOVE_SUBTREE:

View File

@@ -20,6 +20,7 @@ package org.petero.droidfish.gamelogic;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import org.petero.droidfish.BookOptions; import org.petero.droidfish.BookOptions;
import org.petero.droidfish.GUIInterface; import org.petero.droidfish.GUIInterface;
@@ -901,14 +902,14 @@ public class DroidChessController {
} }
} }
public final void setHeaders(ArrayList<String> tags, ArrayList<String> tagValues) { public final void setHeaders(Map<String,String> headers) {
game.tree.setHeaders(tags, tagValues); game.tree.setHeaders(headers);
gameTextListener.clear(); gameTextListener.clear();
updateGUI(); updateGUI();
} }
public final void getHeaders(ArrayList<String> tags, ArrayList<String> tagValues) { public final void getHeaders(Map<String,String> headers) {
game.tree.getHeaders(tags, tagValues); game.tree.getHeaders(headers);
} }
public static final class CommentInfo { public static final class CommentInfo {

View File

@@ -28,6 +28,7 @@ import java.util.Calendar;
import java.util.Collections; import java.util.Collections;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.List; import java.util.List;
import java.util.Map;
import org.petero.droidfish.PGNOptions; import org.petero.droidfish.PGNOptions;
import org.petero.droidfish.gamelogic.Game.GameState; import org.petero.droidfish.gamelogic.Game.GameState;
@@ -1362,10 +1363,9 @@ public class GameTree {
} }
} }
void setHeaders(ArrayList<String> tags, ArrayList<String> vals) { void setHeaders(Map<String,String> headers) {
for (int i = 0 ; i < tags.size(); i++) { for (String tag : headers.keySet()) {
String tag = tags.get(i); String val = headers.get(tag);
String val = vals.get(i);
if (tag.equals("Event")) event = val; if (tag.equals("Event")) event = val;
else if (tag.equals("Site")) site = val; else if (tag.equals("Site")) site = val;
else if (tag.equals("Date")) date = val; else if (tag.equals("Date")) date = val;
@@ -1391,16 +1391,16 @@ public class GameTree {
} }
} }
void getHeaders(ArrayList<String> tags, ArrayList<String> vals) { void getHeaders(Map<String,String> headers) {
tags.add("Event"); vals.add(event); headers.put("Event", event);
tags.add("Site"); vals.add(site); headers.put("Site", site);
tags.add("Date"); vals.add(date); headers.put("Date", date);
tags.add("Round"); vals.add(round); headers.put("Round", round);
tags.add("White"); vals.add(white); headers.put("White", white);
tags.add("Black"); vals.add(black); headers.put("Black", black);
for (int i = 0; i < tagPairs.size(); i++) { for (int i = 0; i < tagPairs.size(); i++) {
tags.add(tagPairs.get(i).tagName); TagPair tp = tagPairs.get(i);
vals.add(tagPairs.get(i).tagValue); headers.put(tp.tagName, tp.tagValue);
} }
} }
} }