aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
diff options
context:
space:
mode:
authorAshley Hughes <spirit.returned@gmail.com>2014-02-06 22:16:41 +0000
committerAshley Hughes <spirit.returned@gmail.com>2014-02-06 22:16:41 +0000
commitaee4ec6d1f5b41d882dea747915af93cd7d84652 (patch)
tree8ce3313133f1a8813adf0e51ba0018c7fc3225b8 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
parentd4d6de1bc5c538c17613f5918e70ee0932637915 (diff)
downloadopen-keychain-aee4ec6d1f5b41d882dea747915af93cd7d84652.tar.gz
open-keychain-aee4ec6d1f5b41d882dea747915af93cd7d84652.tar.bz2
open-keychain-aee4ec6d1f5b41d882dea747915af93cd7d84652.zip
action bar and a small fix
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java57
1 files changed, 31 insertions, 26 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 b3df52726..89af2d683 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
@@ -55,6 +55,7 @@ import android.os.Handler;
import android.os.Message;
import android.os.Messenger;
import android.support.v7.app.ActionBarActivity;
+import android.support.v4.app.ActivityCompat;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -97,6 +98,7 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
private String mSavedNewPassPhrase = null;
private boolean mIsPassPhraseSet;
private boolean mNeedsSaving;
+ private MenuItem mSaveButton;
private BootstrapButton mChangePassPhrase;
@@ -109,12 +111,19 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
ExportHelper mExportHelper;
- public void somethingChanged()
+ public boolean needsSaving()
{
mNeedsSaving = mUserIdsView.needsSaving();
mNeedsSaving |= mKeysView.needsSaving();
mNeedsSaving |= hasPassphraseChanged();
- Toast.makeText(this, "Needs saving: " + Boolean.toString(mNeedsSaving) + "(" + Boolean.toString(mUserIdsView.needsSaving()) + ", " + Boolean.toString(mKeysView.needsSaving()) + ")", Toast.LENGTH_LONG).show();
+ return mNeedsSaving;
+ }
+
+
+ public void somethingChanged()
+ {
+ ActivityCompat.invalidateOptionsMenu(this);
+ //Toast.makeText(this, "Needs saving: " + Boolean.toString(mNeedsSaving) + "(" + Boolean.toString(mUserIdsView.needsSaving()) + ", " + Boolean.toString(mKeysView.needsSaving()) + ")", Toast.LENGTH_LONG).show();
}
public void onDeleted(Editor e, boolean wasNewItem)
@@ -133,6 +142,10 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
mExportHelper = new ExportHelper(this);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ getSupportActionBar().setIcon(android.R.color.transparent);
+ getSupportActionBar().setHomeButtonEnabled(true);
+
mUserIds = new Vector<String>();
mKeys = new Vector<PGPSecretKey>();
mKeysUsages = new Vector<Integer>();
@@ -153,20 +166,6 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
* @param intent
*/
private void handleActionCreateKey(Intent intent) {
- // Inflate a "Done"/"Cancel" custom action bar
- ActionBarHelper.setDoneCancelView(getSupportActionBar(), R.string.btn_save,
- new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- saveClicked();
- }
- }, R.string.btn_do_not_save, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- cancelClicked();
- }
- });
-
Bundle extras = intent.getExtras();
mCurrentPassPhrase = "";
@@ -255,15 +254,6 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
* @param intent
*/
private void handleActionEditKey(Intent intent) {
- // Inflate a "Done"/"Cancel" custom action bar
- ActionBarHelper.setDoneView(getSupportActionBar(), R.string.btn_save,
- new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- saveClicked();
- }
- });
-
mDataUri = intent.getData();
if (mDataUri == null) {
Log.e(Constants.TAG, "Intent data missing. Should be Uri of key!");
@@ -325,12 +315,17 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.key_edit, menu);
+ mSaveButton = (MenuItem) menu.findItem(R.id.menu_key_edit_save);
+ mSaveButton.setEnabled(needsSaving());
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
+ case android.R.id.home:
+ cancelClicked();
+ return true;
case R.id.menu_key_edit_cancel:
cancelClicked();
return true;
@@ -353,6 +348,9 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
mExportHelper.deleteKey(mDataUri, Id.type.secret_key, returnHandler);
return true;
}
+ case R.id.menu_key_edit_save:
+ saveClicked();
+ return true;
}
return super.onOptionsItemSelected(item);
}
@@ -373,8 +371,15 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
Toast.makeText(this, R.string.error_no_secret_key_found, Toast.LENGTH_LONG).show();
}
if (masterKey != null) {
+ boolean isSet = false;
for (String userId : new IterableIterator<String>(masterKey.getUserIDs())) {
Log.d(Constants.TAG, "Added userId " + userId);
+ if (!isSet) {
+ isSet = true;
+ String[] parts = PgpKeyHelper.splitUserId(userId);
+ if (parts[0] != null)
+ setTitle(parts[0]);
+ }
mUserIds.add(userId);
}
}
@@ -465,7 +470,7 @@ public class EditKeyActivity extends ActionBarActivity implements EditorListener
}
});
- // disable passphrase when no passphrase checkobox is checked!
+ // disable passphrase when no passphrase checkbox is checked!
mNoPassphrase.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override