diff --git a/res/values/strings.xml b/res/values/strings.xml
index 2ba53a1..2fdf42d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -30,7 +30,13 @@
- Ignore this disk
- - Swap to this disk
+ - Put disk into drive
+ - Boot this disk
+
+
+
+ - Ignore this disk
+ - Attach hard drive
- Boot this disk
diff --git a/src/com/froop/app/kegs/KegsMain.java b/src/com/froop/app/kegs/KegsMain.java
index fd8397f..8ca0a89 100644
--- a/src/com/froop/app/kegs/KegsMain.java
+++ b/src/com/froop/app/kegs/KegsMain.java
@@ -57,6 +57,7 @@ public class KegsMain extends SherlockFragmentActivity implements KegsKeyboard.S
final Runnable mErrorFinish = new Runnable() { public void run() { finish(); } };
private DiskLoader mDiskLoader = null;
+ private int mNextDriveNumber = 2;
private void withUIActive(final Runnable runnable) {
if(!mPaused) {
@@ -151,6 +152,14 @@ public class KegsMain extends SherlockFragmentActivity implements KegsKeyboard.S
mConfigFile.setConfig(image);
getThread().allowPowerOn();
} else if (image.action == DiskImage.SWAP) {
+ if (image.isHardDrive()) {
+ // Probably not the right place for this.
+ image.updateDriveNumber(mNextDriveNumber);
+ mNextDriveNumber += 1;
+ if (mNextDriveNumber > 7) {
+ mNextDriveNumber = 2;
+ }
+ }
getThread().getEventQueue().add(image.getDiskImageEvent());
}
}
diff --git a/src/com/froop/app/kegs/diskimage/DiskImage.java b/src/com/froop/app/kegs/diskimage/DiskImage.java
index 9b5c87a..844abd5 100644
--- a/src/com/froop/app/kegs/diskimage/DiskImage.java
+++ b/src/com/froop/app/kegs/diskimage/DiskImage.java
@@ -116,6 +116,14 @@ class DiskImage implements Comparable {
}
}
+ public void updateDriveNumber(int drive) {
+ this.drive = this.drive.substring(0, 3) + drive;
+ }
+
+ public boolean isHardDrive() {
+ return this.drive.substring(0, 2).equals("s7");
+ }
+
public int compareTo(Object other) {
if (other instanceof DiskImage) {
return this.getTitle().compareToIgnoreCase(((DiskImage)other).getTitle());
diff --git a/src/com/froop/app/kegs/diskimage/SwapDiskFragment.java b/src/com/froop/app/kegs/diskimage/SwapDiskFragment.java
index b4d7f89..bf32783 100644
--- a/src/com/froop/app/kegs/diskimage/SwapDiskFragment.java
+++ b/src/com/froop/app/kegs/diskimage/SwapDiskFragment.java
@@ -21,8 +21,8 @@ public class SwapDiskFragment extends SherlockDialogFragment {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(mImage.getTitle());
builder.setIcon(mImage.getIconId());
- builder.setItems(R.array.swapdisk_choices,
- new DialogInterface.OnClickListener() {
+ final int choices = mImage.isHardDrive() ? R.array.swapdisk_hd_choices : R.array.swapdisk_choices;
+ builder.setItems(choices, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
dismiss();
if (item == 0) {