aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java
diff options
context:
space:
mode:
authorAshley Hughes <spirit.returned@gmail.com>2014-02-02 23:56:53 +0000
committerAshley Hughes <spirit.returned@gmail.com>2014-02-02 23:56:53 +0000
commita90b748611126cd122e39ef944f4c268798419f0 (patch)
treef5186a5ec94b6394774b191ba439bc21d5fe6fa7 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java
parent212ee222c3cf66adda0842176a17f9302549f51b (diff)
downloadopen-keychain-a90b748611126cd122e39ef944f4c268798419f0.tar.gz
open-keychain-a90b748611126cd122e39ef944f4c268798419f0.tar.bz2
open-keychain-a90b748611126cd122e39ef944f4c268798419f0.zip
set checkboxes from key properties
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java74
1 files changed, 37 insertions, 37 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java
index 16e868a2c..f845b53a7 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java
@@ -39,9 +39,12 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
+import android.widget.CheckBox;
import android.widget.DatePicker;
import android.widget.LinearLayout;
import android.widget.Spinner;
+import android.widget.TableLayout;
+import android.widget.TableRow;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
@@ -59,6 +62,10 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
TextView mCreationDate;
BootstrapButton mExpiryDateButton;
GregorianCalendar mExpiryDate;
+ CheckBox mChkCertify;
+ CheckBox mChkSign;
+ CheckBox mChkEncrypt;
+ CheckBox mChkAuthenticate;
private int mDatePickerResultCount = 0;
private DatePickerDialog.OnDateSetListener mExpiryDateSetListener = new DatePickerDialog.OnDateSetListener() {
@@ -89,21 +96,13 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
mKeyId = (TextView) findViewById(R.id.keyId);
mCreationDate = (TextView) findViewById(R.id.creation);
mExpiryDateButton = (BootstrapButton) findViewById(R.id.expiry);
- //mUsage = (Spinner) findViewById(R.id.usage);
- //Choice choices[] = {
- // new Choice(Id.choice.usage.sign_only, getResources().getString(
- // R.string.choice_sign_only)),
- // new Choice(Id.choice.usage.encrypt_only, getResources().getString(
- // R.string.choice_encrypt_only)),
- // new Choice(Id.choice.usage.sign_and_encrypt, getResources().getString(
- // R.string.choice_sign_and_encrypt)), };
- //ArrayAdapter<Choice> adapter = new ArrayAdapter<Choice>(getContext(),
- // android.R.layout.simple_spinner_item, choices);
- //adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //mUsage.setAdapter(adapter);
mDeleteButton = (BootstrapButton) findViewById(R.id.delete);
mDeleteButton.setOnClickListener(this);
+ mChkCertify = (CheckBox) findViewById(R.id.chkCertify);
+ mChkSign = (CheckBox) findViewById(R.id.chkSign);
+ mChkEncrypt = (CheckBox) findViewById(R.id.chkEncrypt);
+ mChkAuthenticate = (CheckBox) findViewById(R.id.chkAuthenticate);
setExpiryDate(null);
@@ -139,8 +138,10 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
public void setCanEdit(boolean bCanEdit) {
if (!bCanEdit) {
mDeleteButton.setVisibility(View.INVISIBLE);
- //mUsage.setEnabled(false);
mExpiryDateButton.setEnabled(false);
+ mChkSign.setEnabled(false); //certify is always disabled
+ mChkEncrypt.setEnabled(false);
+ mChkAuthenticate.setEnabled(false);
}
}
@@ -160,17 +161,26 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
Vector<Choice> choices = new Vector<Choice>();
boolean isElGamalKey = (key.getPublicKey().getAlgorithm() == PGPPublicKey.ELGAMAL_ENCRYPT);
boolean isDSAKey = (key.getPublicKey().getAlgorithm() == PGPPublicKey.DSA);
- if (!isElGamalKey) {
- //choices.add(new Choice(Id.choice.usage.sign_only, getResources().getString(
- // R.string.choice_sign_only)));
+ if (isElGamalKey) {
+ mChkSign.setVisibility(View.INVISIBLE);
+ TableLayout table = (TableLayout)findViewById(R.id.table_keylayout);
+ TableRow row = (TableRow)findViewById(R.id.row_sign);
+ table.removeView(row);
}
- if (!mIsMasterKey && !isDSAKey) {
- //choices.add(new Choice(Id.choice.usage.encrypt_only, getResources().getString(
- // R.string.choice_encrypt_only)));
+ if (isDSAKey) {
+ mChkEncrypt.setVisibility(View.INVISIBLE);
+ TableLayout table = (TableLayout)findViewById(R.id.table_keylayout);
+ TableRow row = (TableRow)findViewById(R.id.row_encrypt);
+ table.removeView(row);
}
- if (!isElGamalKey && !isDSAKey) {
- //choices.add(new Choice(Id.choice.usage.sign_and_encrypt, getResources().getString(
- // R.string.choice_sign_and_encrypt)));
+ if (!mIsMasterKey) {
+ mChkCertify.setVisibility(View.INVISIBLE);
+ TableLayout table = (TableLayout)findViewById(R.id.table_keylayout);
+ TableRow row = (TableRow)findViewById(R.id.row_certify);
+ table.removeView(row);
+ } else {
+ TextView mLabelUsage2= (TextView) findViewById(R.id.label_usage2);
+ mLabelUsage2.setVisibility(View.INVISIBLE);
}
ArrayAdapter<Choice> adapter = new ArrayAdapter<Choice>(getContext(),
@@ -180,21 +190,11 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
// Set value in choice dropdown to key
int selectId = 0;
- if (PgpKeyHelper.isEncryptionKey(key)) {
- if (PgpKeyHelper.isSigningKey(key)) {
- selectId = Id.choice.usage.sign_and_encrypt;
- } else {
- selectId = Id.choice.usage.encrypt_only;
- }
- } else {
- // set usage if it is predefined
- if (usage != -1) {
- selectId = usage;
- } else {
- selectId = Id.choice.usage.sign_only;
- }
-
- }
+ if (key.isMasterKey())
+ mChkCertify.setChecked(PgpKeyHelper.isCertificationKey(key));
+ mChkSign.setChecked(PgpKeyHelper.isSigningKey(key));
+ mChkEncrypt.setChecked(PgpKeyHelper.isEncryptionKey(key));
+ // TODO: use usage argument?
for (int i = 0; i < choices.size(); ++i) {
if (choices.get(i).getId() == selectId) {