Added dialog to load new file when the current file is modified.
This commit is contained in:
parent
cb601364d0
commit
b835dd08b4
@ -14,8 +14,11 @@
|
||||
<string name="view_events">View Events</string>
|
||||
<string name="simulationPlotDialogTitle">Select Series And Events</string>
|
||||
<string name="plot">Plot</string>
|
||||
<string name="saving">Saving file...</string>
|
||||
<string name="loading">Loading file...</string>
|
||||
<string name="saving">Saving file…</string>
|
||||
<string name="loading">Loading file…</string>
|
||||
<string name="loadWarnUnsaved">Would you like to save the changes to the current model?</string>
|
||||
<string name="no">No</string>
|
||||
<string name="yes">Yes</string>
|
||||
|
||||
<string-array name="PreferenceMotorBrowserGroupingEntries">
|
||||
<item>Case</item>
|
||||
|
@ -12,6 +12,7 @@ import net.sf.openrocket.android.util.AndroidLogWrapper;
|
||||
import net.sf.openrocket.document.OpenRocketDocument;
|
||||
import net.sf.openrocket.document.Simulation;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
@ -36,6 +37,9 @@ implements Simulations.OnSimulationSelectedListener, OpenRocketSaverFragment.OnO
|
||||
private final static int TABSIZE = 4;
|
||||
|
||||
private OpenRocketViewerPagerAdapter viewPagerAdapter;
|
||||
|
||||
private final static String LOAD_AFTER_SAVE = "net.sf.openrocket.android.loadAfterSave";
|
||||
private boolean loadAfterSave = false;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
@ -51,6 +55,9 @@ implements Simulations.OnSimulationSelectedListener, OpenRocketSaverFragment.OnO
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
if (savedInstanceState != null ) {
|
||||
loadAfterSave = savedInstanceState.getBoolean(LOAD_AFTER_SAVE);
|
||||
}
|
||||
setTitle(rocDoc.getRocket().getName());
|
||||
getSupportActionBar().setHomeButtonEnabled(true);
|
||||
|
||||
@ -73,6 +80,12 @@ implements Simulations.OnSimulationSelectedListener, OpenRocketSaverFragment.OnO
|
||||
super.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
outState.putBoolean(LOAD_AFTER_SAVE, loadAfterSave);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = getSupportMenuInflater();
|
||||
@ -93,11 +106,30 @@ implements Simulations.OnSimulationSelectedListener, OpenRocketSaverFragment.OnO
|
||||
AndroidLogWrapper.d(OpenRocketViewer.class,"onMenuItemSelected" + item.getItemId());
|
||||
switch(item.getItemId()) {
|
||||
case R.id.menu_load:
|
||||
// FIXME - Might want to prompt for save here.
|
||||
pickOrkFiles();
|
||||
if ( CurrentRocketHolder.getCurrentRocket().isModified() ) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(R.string.loadWarnUnsaved);
|
||||
builder.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
pickOrkFiles();
|
||||
}
|
||||
});
|
||||
builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
OpenRocketViewer.this.loadAfterSave = true;
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.add( OpenRocketSaverFragment.newInstance(), "saver")
|
||||
.commitAllowingStateLoss();
|
||||
}
|
||||
});
|
||||
builder.create().show();
|
||||
} else {
|
||||
pickOrkFiles();
|
||||
}
|
||||
return true;
|
||||
case R.id.menu_save:
|
||||
// FIXME - Probably want to open a dialog here.
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.add( OpenRocketSaverFragment.newInstance(), "saver")
|
||||
.commitAllowingStateLoss();
|
||||
@ -156,6 +188,10 @@ implements Simulations.OnSimulationSelectedListener, OpenRocketSaverFragment.OnO
|
||||
@Override
|
||||
public void onOpenRocketFileSaved(Boolean result) {
|
||||
invalidateOptionsMenu();
|
||||
if ( loadAfterSave ) {
|
||||
loadAfterSave = false;
|
||||
pickOrkFiles();
|
||||
}
|
||||
}
|
||||
|
||||
private class RocketChangedEventHandler extends net.sf.openrocket.android.RocketChangedEventHandler {
|
||||
|
Loading…
x
Reference in New Issue
Block a user