Strip down features to prepare for first release.

This commit is contained in:
James Sanford 2012-10-19 17:10:20 -07:00
parent aff9838674
commit 07ad8717ba
5 changed files with 25 additions and 62 deletions

View File

@ -11,12 +11,11 @@
android:layout_centerHorizontal="true"
/>
<Button android:id="@+id/key_settings" android:drawableStart="@drawable/settings" android:drawablePadding="0px" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|bottom" android:layout_below="@id/kegsview" android:onClick="showPopup" />
<LinearLayout android:id="@+id/b1" android:layout_below="@id/kegsview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:visibility="gone"
android:gravity="center">
<Button android:id="@+id/key_escape" android:text="Esc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|bottom" android:layout_below="@id/kegsview" />
@ -25,7 +24,13 @@
<Button android:id="@+id/key_tab" android:text="Tab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|bottom" android:layout_below="@id/kegsview" />
<Button android:id="@+id/key_f4" android:text="F4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|bottom" android:layout_below="@id/kegsview" />
</LinearLayout>
<LinearLayout android:id="@+id/b2" android:layout_below="@id/b1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:gravity="center">
<ToggleButton android:id="@+id/key_control"
android:layout_width="wrap_content"
@ -50,9 +55,10 @@
</LinearLayout>
<LinearLayout android:id="@+id/b2" android:layout_below="@id/b1"
<LinearLayout android:id="@+id/b3" android:layout_below="@id/b2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:gravity="center">
<Button android:id="@+id/key_left" android:text="Left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|bottom" android:layout_below="@id/kegsview" />

View File

@ -17,7 +17,7 @@
android:showAsAction="ifRoom"
android:title="@string/emulation_speed" />
<item android:id="@+id/action_function"
<item android:id="@+id/action_more_keys"
android:showAsAction="never"
android:title="@string/more_keys" />

View File

@ -21,19 +21,14 @@
<item>Unlimited</item>
</string-array>
<string name="diskimage_title">Load disk image</string>
<string name="diskimage_title">Insert disk</string>
<!-- R.menu.actions -->
<string name="input_joystick">Use Joystick</string>
<string name="input_mouse">Use Mouse</string>
<string name="input_keyboard">Keyboard</string>
<string name="emulation_speed">Emulation Speed</string>
<string name="more_keys">Additional Keys</string>
<string name="diskimage">Disk Images</string>
<!-- R.menu.options -->
<string name="input_controls_hide">Hide Controls</string>
<string name="input_controls_show">Show Controls</string>
<string name="warm_reset">Warm Reset</string>
<string name="power_cycle">Power Cycle</string>
<string name="more_keys">Additional Keys</string>
<string name="power_off">Power Off</string>
</resources>

View File

@ -7,6 +7,7 @@ import java.io.FileOutputStream;
// Ick.
class Config {
// FIXME: use local directory here, not sdcard
public static final File mPath = Environment.getExternalStorageDirectory();
public static final String mConfigFile = "KEGS/config.kegs";
public static final String mROM03 = "KEGS/ROM.03";
@ -26,7 +27,8 @@ class Config {
return null;
}
public static void checkConfig(String rom_path) {
public static void defaultConfig(String rom_path) {
// FIXME: copy 'default' over to 'config.kegs'
File config = new File(mPath, mConfigFile);
if (config == null || !config.exists()) {
createConfig(rom_path);

View File

@ -21,7 +21,6 @@ import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.ToggleButton;
public class KegsMain extends Activity implements KegsKeyboard.StickyReset {
@ -40,13 +39,11 @@ public class KegsMain extends Activity implements KegsKeyboard.StickyReset {
private KegsKeyboard mKegsKeyboard;
private TouchJoystick mJoystick;
private PopupMenu mSettingsMenu;
private boolean mModeMouse = true;
private int mLastActionBar = 0; // window height at last ActionBar change.
private View.OnClickListener mButtonClick = new View.OnClickListener() {
public void onClick(View v) {
// Log.e("kegs", "button clicked");
final int click_id = v.getId();
int key_id = -1;
boolean sticky = false;
@ -54,8 +51,6 @@ public class KegsMain extends Activity implements KegsKeyboard.StickyReset {
key_id = KegsKeyboard.KEY_ESCAPE;
} else if (click_id == R.id.key_return) {
key_id = KegsKeyboard.KEY_RETURN;
} else if (click_id == R.id.key_f4) {
key_id = KegsKeyboard.KEY_F4;
} else if (click_id == R.id.key_tab) {
key_id = KegsKeyboard.KEY_TAB;
} else if (click_id == R.id.key_control) {
@ -88,43 +83,10 @@ public class KegsMain extends Activity implements KegsKeyboard.StickyReset {
}
};
private PopupMenu.OnMenuItemClickListener mSettingsClick = new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
final int item_id = item.getItemId();
if (item_id == R.id.input_controls) {
final int vis = areControlsVisible() ? View.GONE : View.VISIBLE;
findViewById(R.id.b1).setVisibility(vis);
findViewById(R.id.b2).setVisibility(vis);
return true;
} else if (item_id == R.id.warm_reset) {
getThread().doWarmReset();
return true;
} else if (item_id == R.id.power_cycle) {
getThread().doPowerOff();
getThread().allowPowerOn();
return true;
}
return false;
}
};
private boolean areControlsVisible() {
return findViewById(R.id.b1).getVisibility() == View.VISIBLE;
}
// Adjust items to say "Use Joystick" vs "Use Mouse", etc.
private void updateSettingsMenu() {
final Menu m = mSettingsMenu.getMenu();
MenuItem item;
item = m.findItem(R.id.input_controls);
item.setTitle(areControlsVisible() ? R.string.input_controls_hide : R.string.input_controls_show);
}
public void showPopup(View v) {
updateSettingsMenu();
mSettingsMenu.show();
}
public void onStickyReset() {
((ToggleButton)findViewById(R.id.key_control)).setChecked(false);
((ToggleButton)findViewById(R.id.key_open_apple)).setChecked(false);
@ -155,7 +117,7 @@ public class KegsMain extends Activity implements KegsKeyboard.StickyReset {
dialog.show(getFragmentManager(), FRAGMENT_ERROR);
}
} else {
Config.checkConfig(mRomfile);
Config.defaultConfig(mRomfile);
getThread().setReady(true);
}
}
@ -318,13 +280,16 @@ public class KegsMain extends Activity implements KegsKeyboard.StickyReset {
mModeMouse = !mModeMouse;
invalidateOptionsMenu(); // update icon
return true;
} else if (item_id == R.id.action_function) {
// drop down menu for special keys...?
return true;
} else if (item_id == R.id.action_diskimage) {
// FIXME
// new DiskImageFragment().show(getFragmentManager(), FRAGMENT_DISKIMAGE);
return true;
} else if (item_id == R.id.action_more_keys) {
final int vis = areControlsVisible() ? View.GONE : View.VISIBLE;
findViewById(R.id.b1).setVisibility(vis);
findViewById(R.id.b2).setVisibility(vis);
findViewById(R.id.b3).setVisibility(vis);
return true;
}
return false;
}
@ -361,13 +326,8 @@ public class KegsMain extends Activity implements KegsKeyboard.StickyReset {
mKegsKeyboard = new KegsKeyboard(getThread().getEventQueue());
mKegsKeyboard.setOnStickyReset(this);
mSettingsMenu = new PopupMenu(this, findViewById(R.id.key_settings));
mSettingsMenu.inflate(R.menu.options);
mSettingsMenu.setOnMenuItemClickListener(mSettingsClick);
findViewById(R.id.key_escape).setOnClickListener(mButtonClick);
findViewById(R.id.key_return).setOnClickListener(mButtonClick);
findViewById(R.id.key_f4).setOnClickListener(mButtonClick);
findViewById(R.id.key_control).setOnClickListener(mButtonClick);
findViewById(R.id.key_open_apple).setOnClickListener(mButtonClick);
findViewById(R.id.key_closed_apple).setOnClickListener(mButtonClick);
@ -381,7 +341,7 @@ public class KegsMain extends Activity implements KegsKeyboard.StickyReset {
final DialogFragment chooseRom = new RomDialogFragment();
chooseRom.show(getFragmentManager(), FRAGMENT_ROM);
} else {
Config.checkConfig(romfile);
Config.defaultConfig(romfile);
getThread().setReady(true);
}
}