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) {