aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure
diff options
context:
space:
mode:
authorAshley Hughes <spirit.returned@gmail.com>2014-02-06 22:35:27 +0000
committerAshley Hughes <spirit.returned@gmail.com>2014-02-06 22:35:27 +0000
commitfd33a6764567bfd02c1af228161501078ca8030a (patch)
tree761b683ea3c4a0b8a6dd4a707c68a947a05d02c0 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure
parentaee4ec6d1f5b41d882dea747915af93cd7d84652 (diff)
downloadopen-keychain-fd33a6764567bfd02c1af228161501078ca8030a.tar.gz
open-keychain-fd33a6764567bfd02c1af228161501078ca8030a.tar.bz2
open-keychain-fd33a6764567bfd02c1af228161501078ca8030a.zip
ask for save
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java33
1 files changed, 31 insertions, 2 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
index 89af2d683..49713db71 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
@@ -46,8 +46,10 @@ import org.sufficientlysecure.keychain.ui.widget.Editor.EditorListener;
import org.sufficientlysecure.keychain.util.IterableIterator;
import org.sufficientlysecure.keychain.util.Log;
+import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
@@ -604,8 +606,35 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
}
private void cancelClicked() {
- setResult(RESULT_CANCELED);
- finish();
+ if (mNeedsSaving && masterCanSign) { //ask if we want to save
+ AlertDialog.Builder alert = new AlertDialog.Builder(
+ EditKeyActivity.this);
+
+ alert.setIcon(android.R.drawable.ic_dialog_alert);
+ alert.setTitle(R.string.warning);
+ alert.setMessage(EditKeyActivity.this.getString(R.string.ask_save_changed_key));
+
+ alert.setPositiveButton(EditKeyActivity.this.getString(android.R.string.yes),
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.dismiss();
+ saveClicked();
+ }
+ });
+ alert.setNegativeButton(this.getString(android.R.string.no),
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.dismiss();
+ setResult(RESULT_CANCELED);
+ finish();
+ }
+ });
+ alert.setCancelable(false);
+ alert.create().show();
+ } else {
+ setResult(RESULT_CANCELED);
+ finish();
+ }
}
/**