aboutsummaryrefslogtreecommitdiffstats
path: root/src/cgeo/geocaching/cgeoinit.java
diff options
context:
space:
mode:
authorRainer <rschum@web.de>2011-07-20 15:45:15 +0200
committerRainer <rschum@web.de>2011-07-20 15:45:15 +0200
commit35af6b3cd0c649e1fc3b263dcef8812aec5818ed (patch)
tree83d25e1de327b0d2e378bf5ea78a5b75b8137077 /src/cgeo/geocaching/cgeoinit.java
parent9795caed1c55ae9e886780f9c2711520d784c3c7 (diff)
downloadcgeo-35af6b3cd0c649e1fc3b263dcef8812aec5818ed.zip
cgeo-35af6b3cd0c649e1fc3b263dcef8812aec5818ed.tar.gz
cgeo-35af6b3cd0c649e1fc3b263dcef8812aec5818ed.tar.bz2
File selector base and map file selector
Diffstat (limited to 'src/cgeo/geocaching/cgeoinit.java')
-rw-r--r--src/cgeo/geocaching/cgeoinit.java40
1 files changed, 37 insertions, 3 deletions
diff --git a/src/cgeo/geocaching/cgeoinit.java b/src/cgeo/geocaching/cgeoinit.java
index 0be2093..d78a57d 100644
--- a/src/cgeo/geocaching/cgeoinit.java
+++ b/src/cgeo/geocaching/cgeoinit.java
@@ -21,6 +21,7 @@ import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
+import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;
@@ -31,6 +32,8 @@ import cgeo.geocaching.cgSettings.mapSourceEnum;
public class cgeoinit extends Activity {
+ private final int SELECT_MAPFILE_REQUEST=1;
+
private cgeoapplication app = null;
private Resources res = null;
private Activity activity = null;
@@ -402,8 +405,17 @@ public class cgeoinit extends Activity {
mapSourceSelector.setSelection(mapsource);
mapSourceSelector.setOnItemSelectedListener(new cgeoChangeMapSource());
- EditText mfmapFileEdit = (EditText) findViewById(R.id.mapfile);
- mfmapFileEdit.setText(prefs.getString("mfmapfile", ""));
+ initMapfileEdittext(false);
+
+ Button selectMapfile = (Button) findViewById(R.id.select_mapfile);
+ selectMapfile.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ Intent selectIntent = new Intent(activity, cgSelectMapfile.class);
+ activity.startActivityForResult(selectIntent, SELECT_MAPFILE_REQUEST);
+ }
+ });
setMapFileEditState();
@@ -418,6 +430,14 @@ public class cgeoinit extends Activity {
}
+ private void initMapfileEdittext(boolean setFocus) {
+ EditText mfmapFileEdit = (EditText) findViewById(R.id.mapfile);
+ mfmapFileEdit.setText(prefs.getString("mfmapfile", ""));
+ if (setFocus) {
+ mfmapFileEdit.requestFocus();
+ }
+ }
+
public void backup(View view) {
final String file = app.backupDatabase();
@@ -447,7 +467,7 @@ public class cgeoinit extends Activity {
}
private void setMapFileEditState() {
- EditText mapFileEdit = (EditText) findViewById(R.id.mapfile);
+ LinearLayout mapFileEdit = (LinearLayout) findViewById(R.id.init_mapfilegroup);
if (settings.mapProvider == mapSourceEnum.mapsforgeOffline) {
mapFileEdit.setVisibility(View.VISIBLE);
} else {
@@ -946,6 +966,20 @@ public class cgeoinit extends Activity {
}
}
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+
+ if (requestCode == SELECT_MAPFILE_REQUEST) {
+ if (resultCode == RESULT_OK) {
+ if (data.hasExtra("mapfile")) {
+ settings.setMapFile(data.getStringExtra("mapfile"));
+ }
+ }
+ initMapfileEdittext(true);
+ }
+ }
+
public void goHome(View view) {
base.goHome(activity);
}