mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Add dialogs to save Db name and description
This commit is contained in:
@@ -218,11 +218,11 @@ public class Database {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SaveData(Context ctx) throws IOException, PwDbOutputException {
|
public void saveData(Context ctx) throws IOException, PwDbOutputException {
|
||||||
SaveData(ctx, mUri);
|
saveData(ctx, mUri);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SaveData(Context ctx, Uri uri) throws IOException, PwDbOutputException {
|
public void saveData(Context ctx, Uri uri) throws IOException, PwDbOutputException {
|
||||||
if (uri.getScheme().equals("file")) {
|
if (uri.getScheme().equals("file")) {
|
||||||
String filename = uri.getPath();
|
String filename = uri.getPath();
|
||||||
File tempFile = new File(filename + ".tmp");
|
File tempFile = new File(filename + ".tmp");
|
||||||
@@ -281,6 +281,16 @@ public class Database {
|
|||||||
return getPwDatabase().getName();
|
return getPwDatabase().getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void assignName(String name) {
|
||||||
|
getPwDatabase().setName(name);
|
||||||
|
switch (getPwDatabase().getVersion()) {
|
||||||
|
case V4:
|
||||||
|
((PwDatabaseV4) getPwDatabase()).setNameChanged(new PwDate());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public boolean containsDescription() {
|
public boolean containsDescription() {
|
||||||
switch (getPwDatabase().getVersion()) {
|
switch (getPwDatabase().getVersion()) {
|
||||||
default:
|
default:
|
||||||
@@ -299,6 +309,31 @@ public class Database {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void assignDescription(String description) {
|
||||||
|
switch (getPwDatabase().getVersion()) {
|
||||||
|
case V4:
|
||||||
|
((PwDatabaseV4) getPwDatabase()).setDescription(description);
|
||||||
|
((PwDatabaseV4) getPwDatabase()).setDescriptionChanged(new PwDate());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDefaultUsername() {
|
||||||
|
switch (getPwDatabase().getVersion()) {
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
case V4:
|
||||||
|
return ((PwDatabaseV4) getPwDatabase()).getDefaultUserName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDefaultUsername(String username) {
|
||||||
|
switch (getPwDatabase().getVersion()) {
|
||||||
|
case V4:
|
||||||
|
((PwDatabaseV4) getPwDatabase()).setDefaultUserName(username);
|
||||||
|
((PwDatabaseV4) getPwDatabase()).setDefaultUserNameChanged(new PwDate());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public String getEncryptionAlgorithmName(Resources resources) {
|
public String getEncryptionAlgorithmName(Resources resources) {
|
||||||
return getPwDatabase().getEncryptionAlgorithm().getName(resources);
|
return getPwDatabase().getEncryptionAlgorithm().getName(resources);
|
||||||
}
|
}
|
||||||
@@ -307,10 +342,18 @@ public class Database {
|
|||||||
return getPwDatabase().getKeyDerivationName();
|
return getPwDatabase().getKeyDerivationName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getNumberKeyEncryptionRounds() {
|
public String getNumberKeyEncryptionRoundsAsString() {
|
||||||
return Long.toString(getPwDatabase().getNumberKeyEncryptionRounds());
|
return Long.toString(getPwDatabase().getNumberKeyEncryptionRounds());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long getNumberKeyEncryptionRounds() {
|
||||||
|
return getPwDatabase().getNumberKeyEncryptionRounds();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNumberKeyEncryptionRounds(long numberRounds) throws NumberFormatException {
|
||||||
|
getPwDatabase().setNumberKeyEncryptionRounds(numberRounds);
|
||||||
|
}
|
||||||
|
|
||||||
public void addEntryTo(PwEntry entry, PwGroup parent) {
|
public void addEntryTo(PwEntry entry, PwGroup parent) {
|
||||||
try {
|
try {
|
||||||
switch (getPwDatabase().getVersion()) {
|
switch (getPwDatabase().getVersion()) {
|
||||||
|
|||||||
@@ -147,12 +147,11 @@ public class PwDatabaseV4 extends PwDatabase<PwGroupV4, PwEntryV4> {
|
|||||||
numKeyEncRounds = rounds;
|
numKeyEncRounds = rounds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PwDate getNameChanged() {
|
public PwDate getNameChanged() {
|
||||||
return nameChanged;
|
return nameChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setNameChanged(PwDate nameChanged) {
|
public void setNameChanged(PwDate nameChanged) {
|
||||||
// TODO change name date
|
|
||||||
this.nameChanged = nameChanged;
|
this.nameChanged = nameChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,7 +169,6 @@ public class PwDatabaseV4 extends PwDatabase<PwGroupV4, PwEntryV4> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setDescription(String description) {
|
public void setDescription(String description) {
|
||||||
// TODO change description date
|
|
||||||
this.description = description;
|
this.description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,7 +185,6 @@ public class PwDatabaseV4 extends PwDatabase<PwGroupV4, PwEntryV4> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setDefaultUserName(String defaultUserName) {
|
public void setDefaultUserName(String defaultUserName) {
|
||||||
// TODO change default user name date
|
|
||||||
this.defaultUserName = defaultUserName;
|
this.defaultUserName = defaultUserName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public class SaveDB extends RunnableOnFinish {
|
|||||||
|
|
||||||
if ( ! mDontSave ) {
|
if ( ! mDontSave ) {
|
||||||
try {
|
try {
|
||||||
mDb.SaveData(mCtx);
|
mDb.saveData(mCtx);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
finish(false, e.getMessage());
|
finish(false, e.getMessage());
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ import android.support.v7.preference.PreferenceFragmentCompat;
|
|||||||
import com.kunzisoft.keepass.R;
|
import com.kunzisoft.keepass.R;
|
||||||
import com.kunzisoft.keepass.app.App;
|
import com.kunzisoft.keepass.app.App;
|
||||||
import com.kunzisoft.keepass.database.Database;
|
import com.kunzisoft.keepass.database.Database;
|
||||||
|
import com.kunzisoft.keepass.settings.preferenceDialogFragment.RoundsFixPreferenceDialogFragmentCompat;
|
||||||
|
import com.kunzisoft.keepass.settings.preference.RoundsPreference;
|
||||||
|
|
||||||
public class MainPreferenceFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener {
|
public class MainPreferenceFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener {
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,9 @@ import com.kunzisoft.keepass.database.Database;
|
|||||||
import com.kunzisoft.keepass.dialogs.StorageAccessFrameworkDialog;
|
import com.kunzisoft.keepass.dialogs.StorageAccessFrameworkDialog;
|
||||||
import com.kunzisoft.keepass.dialogs.UnavailableFeatureDialogFragment;
|
import com.kunzisoft.keepass.dialogs.UnavailableFeatureDialogFragment;
|
||||||
import com.kunzisoft.keepass.fingerprint.FingerPrintHelper;
|
import com.kunzisoft.keepass.fingerprint.FingerPrintHelper;
|
||||||
|
import com.kunzisoft.keepass.settings.preferenceDialogFragment.DatabaseDescriptionPreferenceDialogFragmentCompat;
|
||||||
|
import com.kunzisoft.keepass.settings.preferenceDialogFragment.DatabaseNamePreferenceDialogFragmentCompat;
|
||||||
|
import com.kunzisoft.keepass.settings.preferenceDialogFragment.RoundsPreferenceDialogFragmentCompat;
|
||||||
import com.kunzisoft.keepass.stylish.Stylish;
|
import com.kunzisoft.keepass.stylish.Stylish;
|
||||||
|
|
||||||
public class NestedSettingsFragment extends PreferenceFragmentCompat
|
public class NestedSettingsFragment extends PreferenceFragmentCompat
|
||||||
@@ -286,8 +289,10 @@ public class NestedSettingsFragment extends PreferenceFragmentCompat
|
|||||||
|
|
||||||
// Recycle bin
|
// Recycle bin
|
||||||
SwitchPreference recycleBinPref = (SwitchPreference) findPreference(getString(R.string.recycle_bin_key));
|
SwitchPreference recycleBinPref = (SwitchPreference) findPreference(getString(R.string.recycle_bin_key));
|
||||||
|
// TODO Recycle
|
||||||
|
dbGeneralPrefCategory.removePreference(recycleBinPref); // To delete
|
||||||
if (db.isRecycleBinAvailable()) {
|
if (db.isRecycleBinAvailable()) {
|
||||||
// TODO Recycle
|
|
||||||
recycleBinPref.setChecked(db.isRecycleBinEnabled());
|
recycleBinPref.setChecked(db.isRecycleBinEnabled());
|
||||||
recycleBinPref.setEnabled(false);
|
recycleBinPref.setEnabled(false);
|
||||||
} else {
|
} else {
|
||||||
@@ -308,7 +313,7 @@ public class NestedSettingsFragment extends PreferenceFragmentCompat
|
|||||||
|
|
||||||
// Round encryption
|
// Round encryption
|
||||||
Preference roundPref = findPreference(getString(R.string.transform_rounds_key));
|
Preference roundPref = findPreference(getString(R.string.transform_rounds_key));
|
||||||
roundPref.setSummary(db.getNumberKeyEncryptionRounds());
|
roundPref.setSummary(db.getNumberKeyEncryptionRoundsAsString());
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Log.e(getClass().getName(), "Database isn't ready");
|
Log.e(getClass().getName(), "Database isn't ready");
|
||||||
@@ -323,13 +328,26 @@ public class NestedSettingsFragment extends PreferenceFragmentCompat
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisplayPreferenceDialog(Preference preference) {
|
public void onDisplayPreferenceDialog(Preference preference) {
|
||||||
// Try if the preference is one of our custom Preferences
|
|
||||||
if (preference instanceof RoundsPreference) {
|
assert getFragmentManager() != null;
|
||||||
assert getFragmentManager() != null;
|
|
||||||
DialogFragment dialogFragment = RoundsPreferenceDialogFragmentCompat.newInstance(preference.getKey());
|
DialogFragment dialogFragment = null;
|
||||||
|
|
||||||
|
if (preference.getKey().equals(getString(R.string.database_name_key))) {
|
||||||
|
dialogFragment = DatabaseNamePreferenceDialogFragmentCompat.newInstance(preference.getKey());
|
||||||
|
}
|
||||||
|
if (preference.getKey().equals(getString(R.string.database_description_key))) {
|
||||||
|
dialogFragment = DatabaseDescriptionPreferenceDialogFragmentCompat.newInstance(preference.getKey());
|
||||||
|
}
|
||||||
|
if (preference.getKey().equals(getString(R.string.transform_rounds_key))) {
|
||||||
|
dialogFragment = RoundsPreferenceDialogFragmentCompat.newInstance(preference.getKey());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dialogFragment != null) {
|
||||||
dialogFragment.setTargetFragment(this, 0);
|
dialogFragment.setTargetFragment(this, 0);
|
||||||
dialogFragment.show(getFragmentManager(), null);
|
dialogFragment.show(getFragmentManager(), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Could not be handled here. Try with the super method.
|
// Could not be handled here. Try with the super method.
|
||||||
else {
|
else {
|
||||||
super.onDisplayPreferenceDialog(preference);
|
super.onDisplayPreferenceDialog(preference);
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.kunzisoft.keepass.settings.preference;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.res.TypedArray;
|
||||||
|
import android.support.v7.preference.DialogPreference;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
|
import com.kunzisoft.keepass.R;
|
||||||
|
|
||||||
|
public class InputTextExplanationPreference extends DialogPreference {
|
||||||
|
|
||||||
|
protected String explanation;
|
||||||
|
|
||||||
|
public InputTextExplanationPreference(Context context) {
|
||||||
|
this(context, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public InputTextExplanationPreference(Context context, AttributeSet attrs) {
|
||||||
|
this(context, attrs, R.attr.dialogPreferenceStyle);
|
||||||
|
}
|
||||||
|
|
||||||
|
public InputTextExplanationPreference(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||||
|
this(context, attrs, defStyleAttr, defStyleAttr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public InputTextExplanationPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||||
|
super(context, attrs, defStyleAttr, defStyleRes);
|
||||||
|
TypedArray a = context.getTheme().obtainStyledAttributes(
|
||||||
|
attrs,
|
||||||
|
R.styleable.explanationDialog,
|
||||||
|
0, 0);
|
||||||
|
try {
|
||||||
|
setExplanation(a.getString(R.styleable.explanationDialog_explanations));
|
||||||
|
} finally {
|
||||||
|
a.recycle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getDialogLayoutResource() {
|
||||||
|
return R.layout.pref_dialog_input_text_explanation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getExplanation() {
|
||||||
|
return explanation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setExplanation(String explanation) {
|
||||||
|
this.explanation = explanation;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package com.kunzisoft.keepass.settings.preference;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.support.v7.preference.DialogPreference;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
|
import com.kunzisoft.keepass.R;
|
||||||
|
|
||||||
|
public class InputTextPreference extends DialogPreference {
|
||||||
|
|
||||||
|
public InputTextPreference(Context context) {
|
||||||
|
this(context, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public InputTextPreference(Context context, AttributeSet attrs) {
|
||||||
|
this(context, attrs, R.attr.dialogPreferenceStyle);
|
||||||
|
}
|
||||||
|
|
||||||
|
public InputTextPreference(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||||
|
this(context, attrs, defStyleAttr, defStyleAttr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public InputTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||||
|
super(context, attrs, defStyleAttr, defStyleRes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getDialogLayoutResource() {
|
||||||
|
return R.layout.pref_dialog_input_text;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,19 +17,17 @@
|
|||||||
* along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
* along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package com.kunzisoft.keepass.settings;
|
package com.kunzisoft.keepass.settings.preference;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
import android.support.v7.preference.DialogPreference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
import com.kunzisoft.keepass.R;
|
import com.kunzisoft.keepass.R;
|
||||||
|
|
||||||
public class RoundsPreference extends DialogPreference {
|
public class RoundsPreference extends InputTextExplanationPreference {
|
||||||
|
|
||||||
private long mRounds;
|
private long mRounds;
|
||||||
private String explanations;
|
|
||||||
|
|
||||||
public RoundsPreference(Context context) {
|
public RoundsPreference(Context context) {
|
||||||
this(context, null);
|
this(context, null);
|
||||||
@@ -45,15 +43,6 @@ public class RoundsPreference extends DialogPreference {
|
|||||||
|
|
||||||
public RoundsPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
public RoundsPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||||
super(context, attrs, defStyleAttr, defStyleRes);
|
super(context, attrs, defStyleAttr, defStyleRes);
|
||||||
TypedArray a = context.getTheme().obtainStyledAttributes(
|
|
||||||
attrs,
|
|
||||||
R.styleable.RoundsDialog,
|
|
||||||
0, 0);
|
|
||||||
try {
|
|
||||||
setExplanations(a.getString(R.styleable.RoundsDialog_explanations));
|
|
||||||
} finally {
|
|
||||||
a.recycle();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -61,14 +50,6 @@ public class RoundsPreference extends DialogPreference {
|
|||||||
return R.layout.pref_dialog_rounds;
|
return R.layout.pref_dialog_rounds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getExplanations() {
|
|
||||||
return explanations;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setExplanations(String explanations) {
|
|
||||||
this.explanations = explanations;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getRounds() {
|
public long getRounds() {
|
||||||
return mRounds;
|
return mRounds;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
package com.kunzisoft.keepass.settings.preferenceDialogFragment;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import com.kunzisoft.keepass.database.edit.OnFinish;
|
||||||
|
|
||||||
|
public class DatabaseDescriptionPreferenceDialogFragmentCompat extends DatabaseSavePreferenceDialogFragmentCompat {
|
||||||
|
|
||||||
|
public static DatabaseDescriptionPreferenceDialogFragmentCompat newInstance(
|
||||||
|
String key) {
|
||||||
|
final DatabaseDescriptionPreferenceDialogFragmentCompat
|
||||||
|
fragment = new DatabaseDescriptionPreferenceDialogFragmentCompat();
|
||||||
|
final Bundle b = new Bundle(1);
|
||||||
|
b.putString(ARG_KEY, key);
|
||||||
|
fragment.setArguments(b);
|
||||||
|
|
||||||
|
return fragment;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onBindDialogView(View view) {
|
||||||
|
super.onBindDialogView(view);
|
||||||
|
|
||||||
|
setInputText(database.getDescription());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDialogClosed(boolean positiveResult) {
|
||||||
|
if ( positiveResult ) {
|
||||||
|
assert getContext() != null;
|
||||||
|
|
||||||
|
String dbDescription = getInputText();
|
||||||
|
String oldDescription = database.getDescription();
|
||||||
|
database.assignDescription(dbDescription);
|
||||||
|
|
||||||
|
Handler handler = new Handler();
|
||||||
|
setAfterSaveDatabase(new AfterDescriptionSave(getContext(), handler, dbDescription, oldDescription));
|
||||||
|
}
|
||||||
|
|
||||||
|
super.onDialogClosed(positiveResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
private class AfterDescriptionSave extends OnFinish {
|
||||||
|
|
||||||
|
private String mNewDescription;
|
||||||
|
private String mOldDescription;
|
||||||
|
private Context mCtx;
|
||||||
|
|
||||||
|
AfterDescriptionSave(Context ctx, Handler handler, String newDescription, String oldDescription) {
|
||||||
|
super(handler);
|
||||||
|
|
||||||
|
mCtx = ctx;
|
||||||
|
mNewDescription = newDescription;
|
||||||
|
mOldDescription = oldDescription;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
String descriptionToShow = mNewDescription;
|
||||||
|
|
||||||
|
if (!mSuccess) {
|
||||||
|
displayMessage(mCtx);
|
||||||
|
database.assignDescription(mOldDescription);
|
||||||
|
database.assignDescription(mOldDescription);
|
||||||
|
}
|
||||||
|
|
||||||
|
getPreference().setSummary(descriptionToShow);
|
||||||
|
|
||||||
|
super.run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
package com.kunzisoft.keepass.settings.preferenceDialogFragment;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import com.kunzisoft.keepass.database.edit.OnFinish;
|
||||||
|
|
||||||
|
public class DatabaseNamePreferenceDialogFragmentCompat extends DatabaseSavePreferenceDialogFragmentCompat {
|
||||||
|
|
||||||
|
public static DatabaseNamePreferenceDialogFragmentCompat newInstance(
|
||||||
|
String key) {
|
||||||
|
final DatabaseNamePreferenceDialogFragmentCompat
|
||||||
|
fragment = new DatabaseNamePreferenceDialogFragmentCompat();
|
||||||
|
final Bundle b = new Bundle(1);
|
||||||
|
b.putString(ARG_KEY, key);
|
||||||
|
fragment.setArguments(b);
|
||||||
|
|
||||||
|
return fragment;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onBindDialogView(View view) {
|
||||||
|
super.onBindDialogView(view);
|
||||||
|
|
||||||
|
setInputText(database.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDialogClosed(boolean positiveResult) {
|
||||||
|
if ( positiveResult ) {
|
||||||
|
assert getContext() != null;
|
||||||
|
|
||||||
|
String dbName = getInputText();
|
||||||
|
String oldName = database.getName();
|
||||||
|
database.assignName(dbName);
|
||||||
|
|
||||||
|
Handler handler = new Handler();
|
||||||
|
setAfterSaveDatabase(new AfterNameSave(getContext(), handler, dbName, oldName));
|
||||||
|
}
|
||||||
|
|
||||||
|
super.onDialogClosed(positiveResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
private class AfterNameSave extends OnFinish {
|
||||||
|
|
||||||
|
private String mNewName;
|
||||||
|
private String mOldName;
|
||||||
|
private Context mCtx;
|
||||||
|
|
||||||
|
AfterNameSave(Context ctx, Handler handler, String newName, String oldName) {
|
||||||
|
super(handler);
|
||||||
|
|
||||||
|
mCtx = ctx;
|
||||||
|
mNewName = newName;
|
||||||
|
mOldName = oldName;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
String nameToShow = mNewName;
|
||||||
|
|
||||||
|
if (!mSuccess) {
|
||||||
|
displayMessage(mCtx);
|
||||||
|
database.assignName(mOldName);
|
||||||
|
}
|
||||||
|
|
||||||
|
getPreference().setSummary(nameToShow);
|
||||||
|
|
||||||
|
super.run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.kunzisoft.keepass.settings.preferenceDialogFragment;
|
||||||
|
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import com.kunzisoft.keepass.R;
|
||||||
|
import com.kunzisoft.keepass.app.App;
|
||||||
|
import com.kunzisoft.keepass.database.Database;
|
||||||
|
import com.kunzisoft.keepass.database.edit.OnFinish;
|
||||||
|
import com.kunzisoft.keepass.database.edit.SaveDB;
|
||||||
|
import com.kunzisoft.keepass.tasks.ProgressTask;
|
||||||
|
|
||||||
|
public abstract class DatabaseSavePreferenceDialogFragmentCompat extends InputPreferenceDialogFragmentCompat {
|
||||||
|
|
||||||
|
protected Database database;
|
||||||
|
|
||||||
|
private OnFinish afterSaveDatabase;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onBindDialogView(View view) {
|
||||||
|
super.onBindDialogView(view);
|
||||||
|
|
||||||
|
database = App.getDB();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDialogClosed(boolean positiveResult) {
|
||||||
|
if ( positiveResult ) {
|
||||||
|
assert getContext() != null;
|
||||||
|
|
||||||
|
if (database != null && afterSaveDatabase != null) {
|
||||||
|
SaveDB save = new SaveDB(getContext(), database, afterSaveDatabase);
|
||||||
|
ProgressTask pt = new ProgressTask(getContext(), save, R.string.saving_database);
|
||||||
|
pt.run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAfterSaveDatabase(OnFinish afterSaveDatabase) {
|
||||||
|
this.afterSaveDatabase = afterSaveDatabase;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package com.kunzisoft.keepass.settings.preferenceDialogFragment;
|
||||||
|
|
||||||
|
import android.support.v7.preference.PreferenceDialogFragmentCompat;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.kunzisoft.keepass.R;
|
||||||
|
|
||||||
|
public abstract class InputPreferenceDialogFragmentCompat extends PreferenceDialogFragmentCompat {
|
||||||
|
|
||||||
|
private EditText inputTextView;
|
||||||
|
private TextView textExplanationView;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onBindDialogView(View view) {
|
||||||
|
super.onBindDialogView(view);
|
||||||
|
|
||||||
|
inputTextView = view.findViewById(R.id.input_text);
|
||||||
|
textExplanationView = view.findViewById(R.id.explanation_text);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInputText() {
|
||||||
|
return this.inputTextView.getText().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInputText(String inputText) {
|
||||||
|
this.inputTextView.setText(inputText);
|
||||||
|
this.inputTextView.setSelection(this.inputTextView.getText().length());
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getExplanationText() {
|
||||||
|
if (textExplanationView != null)
|
||||||
|
return textExplanationView.getText().toString();
|
||||||
|
else
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setExplanationText(String explanationText) {
|
||||||
|
if (textExplanationView != null)
|
||||||
|
this.textExplanationView.setText(explanationText);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,20 +17,17 @@
|
|||||||
* along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
* along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package com.kunzisoft.keepass.settings;
|
package com.kunzisoft.keepass.settings.preferenceDialogFragment;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.preference.DialogPreference;
|
import android.support.v7.preference.DialogPreference;
|
||||||
import android.support.v7.preference.PreferenceDialogFragmentCompat;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.kunzisoft.keepass.R;
|
import com.kunzisoft.keepass.R;
|
||||||
|
import com.kunzisoft.keepass.settings.preference.RoundsPreference;
|
||||||
|
|
||||||
public class RoundsFixPreferenceDialogFragmentCompat extends PreferenceDialogFragmentCompat {
|
public class RoundsFixPreferenceDialogFragmentCompat extends InputPreferenceDialogFragmentCompat {
|
||||||
|
|
||||||
private TextView mRoundsView;
|
|
||||||
|
|
||||||
public static RoundsFixPreferenceDialogFragmentCompat newInstance(
|
public static RoundsFixPreferenceDialogFragmentCompat newInstance(
|
||||||
String key) {
|
String key) {
|
||||||
@@ -47,14 +44,11 @@ public class RoundsFixPreferenceDialogFragmentCompat extends PreferenceDialogFra
|
|||||||
protected void onBindDialogView(View view) {
|
protected void onBindDialogView(View view) {
|
||||||
super.onBindDialogView(view);
|
super.onBindDialogView(view);
|
||||||
|
|
||||||
TextView textDescriptionView = view.findViewById(R.id.rounds_explanation);
|
|
||||||
mRoundsView = view.findViewById(R.id.rounds);
|
|
||||||
|
|
||||||
DialogPreference preference = getPreference();
|
DialogPreference preference = getPreference();
|
||||||
if (preference instanceof RoundsPreference) {
|
if (preference instanceof RoundsPreference) {
|
||||||
textDescriptionView.setText(((RoundsPreference) preference).getExplanations());
|
setExplanationText(((RoundsPreference) preference).getExplanation());
|
||||||
long numRounds = ((RoundsPreference) preference).getRounds();
|
long numRounds = ((RoundsPreference) preference).getRounds();
|
||||||
mRoundsView.setText(String.valueOf(numRounds));
|
setInputText(String.valueOf(numRounds));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,7 +57,7 @@ public class RoundsFixPreferenceDialogFragmentCompat extends PreferenceDialogFra
|
|||||||
if ( positiveResult ) {
|
if ( positiveResult ) {
|
||||||
long rounds;
|
long rounds;
|
||||||
try {
|
try {
|
||||||
String strRounds = mRoundsView.getText().toString();
|
String strRounds = getInputText();
|
||||||
rounds = Long.valueOf(strRounds);
|
rounds = Long.valueOf(strRounds);
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
Toast.makeText(getContext(), R.string.error_rounds_not_number, Toast.LENGTH_LONG).show();
|
Toast.makeText(getContext(), R.string.error_rounds_not_number, Toast.LENGTH_LONG).show();
|
||||||
@@ -17,27 +17,18 @@
|
|||||||
* along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
* along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package com.kunzisoft.keepass.settings;
|
package com.kunzisoft.keepass.settings.preferenceDialogFragment;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.support.v7.preference.PreferenceDialogFragmentCompat;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.kunzisoft.keepass.R;
|
import com.kunzisoft.keepass.R;
|
||||||
import com.kunzisoft.keepass.app.App;
|
|
||||||
import com.kunzisoft.keepass.database.PwDatabase;
|
|
||||||
import com.kunzisoft.keepass.database.edit.OnFinish;
|
import com.kunzisoft.keepass.database.edit.OnFinish;
|
||||||
import com.kunzisoft.keepass.database.edit.SaveDB;
|
|
||||||
import com.kunzisoft.keepass.tasks.ProgressTask;
|
|
||||||
|
|
||||||
public class RoundsPreferenceDialogFragmentCompat extends PreferenceDialogFragmentCompat {
|
public class RoundsPreferenceDialogFragmentCompat extends DatabaseSavePreferenceDialogFragmentCompat {
|
||||||
|
|
||||||
private PwDatabase mPM;
|
|
||||||
private TextView mRoundsView;
|
|
||||||
|
|
||||||
public static RoundsPreferenceDialogFragmentCompat newInstance(
|
public static RoundsPreferenceDialogFragmentCompat newInstance(
|
||||||
String key) {
|
String key) {
|
||||||
@@ -54,13 +45,8 @@ public class RoundsPreferenceDialogFragmentCompat extends PreferenceDialogFragme
|
|||||||
protected void onBindDialogView(View view) {
|
protected void onBindDialogView(View view) {
|
||||||
super.onBindDialogView(view);
|
super.onBindDialogView(view);
|
||||||
|
|
||||||
mRoundsView = view.findViewById(R.id.rounds);
|
setExplanationText(getString(R.string.rounds_explanation));
|
||||||
|
setInputText(database.getNumberKeyEncryptionRoundsAsString());
|
||||||
// Get the number or rounds from the related Preference
|
|
||||||
mPM = App.getDB().getPwDatabase();
|
|
||||||
long numRounds = mPM.getNumberKeyEncryptionRounds();
|
|
||||||
|
|
||||||
mRoundsView.setText(String.valueOf(numRounds));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -70,7 +56,7 @@ public class RoundsPreferenceDialogFragmentCompat extends PreferenceDialogFragme
|
|||||||
long rounds;
|
long rounds;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String strRounds = mRoundsView.getText().toString();
|
String strRounds = getInputText();
|
||||||
rounds = Long.parseLong(strRounds);
|
rounds = Long.parseLong(strRounds);
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
Toast.makeText(getContext(), R.string.error_rounds_not_number, Toast.LENGTH_LONG).show();
|
Toast.makeText(getContext(), R.string.error_rounds_not_number, Toast.LENGTH_LONG).show();
|
||||||
@@ -81,28 +67,28 @@ public class RoundsPreferenceDialogFragmentCompat extends PreferenceDialogFragme
|
|||||||
rounds = 1;
|
rounds = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
long oldRounds = mPM.getNumberKeyEncryptionRounds();
|
long oldRounds = database.getNumberKeyEncryptionRounds();
|
||||||
try {
|
try {
|
||||||
mPM.setNumberKeyEncryptionRounds(rounds);
|
database.setNumberKeyEncryptionRounds(rounds);
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
Toast.makeText(getContext(), R.string.error_rounds_too_large, Toast.LENGTH_LONG).show();
|
Toast.makeText(getContext(), R.string.error_rounds_too_large, Toast.LENGTH_LONG).show();
|
||||||
mPM.setNumberKeyEncryptionRounds(Integer.MAX_VALUE);
|
database.setNumberKeyEncryptionRounds(Integer.MAX_VALUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
Handler handler = new Handler();
|
Handler handler = new Handler();
|
||||||
SaveDB save = new SaveDB(getContext(), App.getDB(), new AfterSave(getContext(), handler, rounds, oldRounds));
|
setAfterSaveDatabase(new AfterRoundSave(getContext(), handler, rounds, oldRounds));
|
||||||
ProgressTask pt = new ProgressTask(getContext(), save, R.string.saving_database);
|
|
||||||
pt.run();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
super.onDialogClosed(positiveResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class AfterSave extends OnFinish {
|
private class AfterRoundSave extends OnFinish {
|
||||||
|
|
||||||
private long mNewRounds;
|
private long mNewRounds;
|
||||||
private long mOldRounds;
|
private long mOldRounds;
|
||||||
private Context mCtx;
|
private Context mCtx;
|
||||||
|
|
||||||
public AfterSave(Context ctx, Handler handler, long newRounds, long oldRounds) {
|
AfterRoundSave(Context ctx, Handler handler, long newRounds, long oldRounds) {
|
||||||
super(handler);
|
super(handler);
|
||||||
|
|
||||||
mCtx = ctx;
|
mCtx = ctx;
|
||||||
@@ -116,7 +102,7 @@ public class RoundsPreferenceDialogFragmentCompat extends PreferenceDialogFragme
|
|||||||
|
|
||||||
if (!mSuccess) {
|
if (!mSuccess) {
|
||||||
displayMessage(mCtx);
|
displayMessage(mCtx);
|
||||||
mPM.setNumberKeyEncryptionRounds(mOldRounds);
|
database.setNumberKeyEncryptionRounds(mOldRounds);
|
||||||
}
|
}
|
||||||
|
|
||||||
getPreference().setSummary(String.valueOf(roundsToShow));
|
getPreference().setSummary(String.valueOf(roundsToShow));
|
||||||
33
app/src/main/res/layout/pref_dialog_input_text.xml
Normal file
33
app/src/main/res/layout/pref_dialog_input_text.xml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright 2018 Jeremy Jamet / Kunzisoft.
|
||||||
|
|
||||||
|
This file is part of KeePass DX.
|
||||||
|
|
||||||
|
KeePass DX is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
KeePass DX is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
-->
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/edit"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:importantForAutofill="noExcludeDescendants"
|
||||||
|
tools:targetApi="o">
|
||||||
|
<android.support.v7.widget.AppCompatEditText
|
||||||
|
android:id="@+id/input_text"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="match_parent"/>
|
||||||
|
</LinearLayout>
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright 2018 Jeremy Jamet / Kunzisoft.
|
||||||
|
|
||||||
|
This file is part of KeePass DX.
|
||||||
|
|
||||||
|
KeePass DX is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
KeePass DX is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
-->
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/edit"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:importantForAutofill="noExcludeDescendants"
|
||||||
|
tools:targetApi="o">
|
||||||
|
<android.support.v7.widget.AppCompatTextView
|
||||||
|
android:id="@+id/explanation_text"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
style="@style/KeepassDXStyle.TextAppearance.SmallTitle"/>
|
||||||
|
<android.support.v7.widget.AppCompatEditText
|
||||||
|
android:id="@+id/input_text"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="match_parent"/>
|
||||||
|
</LinearLayout>
|
||||||
@@ -27,15 +27,14 @@
|
|||||||
android:importantForAutofill="noExcludeDescendants"
|
android:importantForAutofill="noExcludeDescendants"
|
||||||
tools:targetApi="o">
|
tools:targetApi="o">
|
||||||
<android.support.v7.widget.AppCompatTextView
|
<android.support.v7.widget.AppCompatTextView
|
||||||
|
android:id="@+id/explanation_text"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:id="@+id/rounds_explanation"
|
style="@style/KeepassDXStyle.TextAppearance.SmallTitle"/>
|
||||||
android:gravity="center"
|
|
||||||
android:text="@string/rounds_explaination"
|
|
||||||
style="@style/KeepassDXStyle.TextAppearance.SmallTitle"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="wrap_content"/>
|
|
||||||
<android.support.v7.widget.AppCompatEditText
|
<android.support.v7.widget.AppCompatEditText
|
||||||
android:id="@+id/rounds"
|
android:id="@+id/input_text"
|
||||||
android:hint="@string/rounds_hint"
|
android:hint="@string/rounds_hint"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
@@ -127,7 +127,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Arrel</string>
|
<string name="root">Arrel</string>
|
||||||
<string name="rounds">Passades d\'encriptació</string>
|
<string name="rounds">Passades d\'encriptació</string>
|
||||||
<string name="rounds_explaination">Més passades d\'encriptació dónen protecció adicional contra atacs de força bruta, però poden alentir molt carregar i guardar la base de dades.</string>
|
<string name="rounds_explanation">Més passades d\'encriptació dónen protecció adicional contra atacs de força bruta, però poden alentir molt carregar i guardar la base de dades.</string>
|
||||||
<string name="rounds_hint">passades</string>
|
<string name="rounds_hint">passades</string>
|
||||||
<string name="saving_database">Guardant la base de dades…</string>
|
<string name="saving_database">Guardant la base de dades…</string>
|
||||||
<string name="space">Espai</string>
|
<string name="space">Espai</string>
|
||||||
|
|||||||
@@ -143,7 +143,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Kořen</string>
|
<string name="root">Kořen</string>
|
||||||
<string name="rounds">Počet zašifrování</string>
|
<string name="rounds">Počet zašifrování</string>
|
||||||
<string name="rounds_explaination">Vyšší počet opakování šifrování zvýší bezpečnost proti hrubému útoku, ale může výrazně zpomalit načítání a ukládání.</string>
|
<string name="rounds_explanation">Vyšší počet opakování šifrování zvýší bezpečnost proti hrubému útoku, ale může výrazně zpomalit načítání a ukládání.</string>
|
||||||
<string name="rounds_hint">opakování</string>
|
<string name="rounds_hint">opakování</string>
|
||||||
<string name="saving_database">Ukládám databázi…</string>
|
<string name="saving_database">Ukládám databázi…</string>
|
||||||
<string name="space">Místo</string>
|
<string name="space">Místo</string>
|
||||||
|
|||||||
@@ -142,7 +142,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">Krypterings-gentagelser</string>
|
<string name="rounds">Krypterings-gentagelser</string>
|
||||||
<string name="rounds_explaination">Højere krypterings-gentagelser giver øget beskyttelse imod brute-force angreb, men kan påvirke læsnings- og skrivehastigheden betydentligt.</string>
|
<string name="rounds_explanation">Højere krypterings-gentagelser giver øget beskyttelse imod brute-force angreb, men kan påvirke læsnings- og skrivehastigheden betydentligt.</string>
|
||||||
<string name="rounds_hint">gentagelser</string>
|
<string name="rounds_hint">gentagelser</string>
|
||||||
<string name="saving_database">Gemmer database…</string>
|
<string name="saving_database">Gemmer database…</string>
|
||||||
<string name="space">Mellemrum</string>
|
<string name="space">Mellemrum</string>
|
||||||
|
|||||||
@@ -148,7 +148,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Start</string>
|
<string name="root">Start</string>
|
||||||
<string name="rounds">Schlüsseltransformationen</string>
|
<string name="rounds">Schlüsseltransformationen</string>
|
||||||
<string name="rounds_explaination">Je höher die Anzahl der Schlüsseltransformationen, desto besser ist der Schutz gegen Wörterbuch- oder Brute-Force-Angriffe. Allerdings dauert dann auch das Laden und Speichern der Datenbank entsprechend länger.</string>
|
<string name="rounds_explanation">Je höher die Anzahl der Schlüsseltransformationen, desto besser ist der Schutz gegen Wörterbuch- oder Brute-Force-Angriffe. Allerdings dauert dann auch das Laden und Speichern der Datenbank entsprechend länger.</string>
|
||||||
<string name="rounds_hint">Schlüsseltransformationen</string>
|
<string name="rounds_hint">Schlüsseltransformationen</string>
|
||||||
<string name="rounds_fix_title">Datenbank reparieren</string>
|
<string name="rounds_fix_title">Datenbank reparieren</string>
|
||||||
<string name="rounds_fix">Schlüsseltransformationen vor Datenbankkorruption</string>
|
<string name="rounds_fix">Schlüsseltransformationen vor Datenbankkorruption</string>
|
||||||
|
|||||||
@@ -140,7 +140,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Ριζικός Κατάλογος</string>
|
<string name="root">Ριζικός Κατάλογος</string>
|
||||||
<string name="rounds">Κύκλοι Κρυπτογράφησης</string>
|
<string name="rounds">Κύκλοι Κρυπτογράφησης</string>
|
||||||
<string name="rounds_explaination">Μεγαλύτεροι κύκλοι κρυπτογράφησης παρέχουν πρόσθετη προστασία ενάντια σε επιθέσεις brute force, αλλά μπορεί να επιβραδύνει πολύ την φόρτωση και την αποθήκευση.</string>
|
<string name="rounds_explanation">Μεγαλύτεροι κύκλοι κρυπτογράφησης παρέχουν πρόσθετη προστασία ενάντια σε επιθέσεις brute force, αλλά μπορεί να επιβραδύνει πολύ την φόρτωση και την αποθήκευση.</string>
|
||||||
<string name="rounds_hint">κύκλοι</string>
|
<string name="rounds_hint">κύκλοι</string>
|
||||||
<string name="saving_database">Αποθήκευση βάσης…</string>
|
<string name="saving_database">Αποθήκευση βάσης…</string>
|
||||||
<string name="space">Κενό</string>
|
<string name="space">Κενό</string>
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ Spanish translation by José I. Paños. Updated by David García-Abad (23-09-201
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Raíz</string>
|
<string name="root">Raíz</string>
|
||||||
<string name="rounds">Pasadas de Cifrado</string>
|
<string name="rounds">Pasadas de Cifrado</string>
|
||||||
<string name="rounds_explaination">Un alto número de pasadas de cifrado proporciona protección adicional contra ataques de fuerza bruta, pero puede ralentizar mucho el cargado y el guardado.</string>
|
<string name="rounds_explanation">Un alto número de pasadas de cifrado proporciona protección adicional contra ataques de fuerza bruta, pero puede ralentizar mucho el cargado y el guardado.</string>
|
||||||
<string name="rounds_hint">pasadas</string>
|
<string name="rounds_hint">pasadas</string>
|
||||||
<string name="saving_database">Guardando base de datos…</string>
|
<string name="saving_database">Guardando base de datos…</string>
|
||||||
<string name="space">Espacio</string>
|
<string name="space">Espacio</string>
|
||||||
|
|||||||
@@ -140,7 +140,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">Enkriptatzeko Rondak</string>
|
<string name="rounds">Enkriptatzeko Rondak</string>
|
||||||
<string name="rounds_explaination">Enkriptatzeko ronda gehiago indar gordineko atakeen kontrako babes gehiago ematen dute, baina kargatzea eta gordetzea moteldu dezakete modu nabarmenean.</string>
|
<string name="rounds_explanation">Enkriptatzeko ronda gehiago indar gordineko atakeen kontrako babes gehiago ematen dute, baina kargatzea eta gordetzea moteldu dezakete modu nabarmenean.</string>
|
||||||
<string name="rounds_hint">rondak</string>
|
<string name="rounds_hint">rondak</string>
|
||||||
<string name="saving_database">Datubasea gordetzen…</string>
|
<string name="saving_database">Datubasea gordetzen…</string>
|
||||||
<string name="space">Lekua</string>
|
<string name="space">Lekua</string>
|
||||||
|
|||||||
@@ -138,7 +138,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Juuri</string>
|
<string name="root">Juuri</string>
|
||||||
<string name="rounds">Salauskierroksia</string>
|
<string name="rounds">Salauskierroksia</string>
|
||||||
<string name="rounds_explaination">Suurempi kierrosten määrä parantaa suojausta raa\'alla voimalla tehdyiltä murtoyrityksiltä, mutta voi todella hidastaa lataamista ja tallentamista.</string>
|
<string name="rounds_explanation">Suurempi kierrosten määrä parantaa suojausta raa\'alla voimalla tehdyiltä murtoyrityksiltä, mutta voi todella hidastaa lataamista ja tallentamista.</string>
|
||||||
<string name="rounds_hint">kierroksia</string>
|
<string name="rounds_hint">kierroksia</string>
|
||||||
<string name="saving_database">Tallennetaan tietokantaa…</string>
|
<string name="saving_database">Tallennetaan tietokantaa…</string>
|
||||||
<string name="space">Tila</string>
|
<string name="space">Tila</string>
|
||||||
|
|||||||
@@ -152,7 +152,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Racine</string>
|
<string name="root">Racine</string>
|
||||||
<string name="rounds">Tours de transformation</string>
|
<string name="rounds">Tours de transformation</string>
|
||||||
<string name="rounds_explaination">Un niveau de chiffrement supérieur assure une protection supplémentaire contre les attaques de force brute, mais peut considérablement ralentir l\'ouverture et l\'enregistrement.</string>
|
<string name="rounds_explanation">Un niveau de chiffrement supérieur assure une protection supplémentaire contre les attaques de force brute, mais peut considérablement ralentir l\'ouverture et l\'enregistrement.</string>
|
||||||
<string name="rounds_hint">niveaux</string>
|
<string name="rounds_hint">niveaux</string>
|
||||||
<string name="rounds_fix_title">Résolution de la base de données</string>
|
<string name="rounds_fix_title">Résolution de la base de données</string>
|
||||||
<string name="rounds_fix">Clé de niveau de chiffrement avant corruption</string>
|
<string name="rounds_fix">Clé de niveau de chiffrement avant corruption</string>
|
||||||
|
|||||||
@@ -138,7 +138,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Gyökérkönyvár</string>
|
<string name="root">Gyökérkönyvár</string>
|
||||||
<string name="rounds">Titkosítási menetek száma</string>
|
<string name="rounds">Titkosítási menetek száma</string>
|
||||||
<string name="rounds_explaination">A titkosítási menetek számának növelésével extra védelemet kaphat a brute force támadások ellen, ugyanakkor jelentősen lassíthatja az adatbázis betöltését vagy mentését.</string>
|
<string name="rounds_explanation">A titkosítási menetek számának növelésével extra védelemet kaphat a brute force támadások ellen, ugyanakkor jelentősen lassíthatja az adatbázis betöltését vagy mentését.</string>
|
||||||
<string name="rounds_hint">Menetek száma</string>
|
<string name="rounds_hint">Menetek száma</string>
|
||||||
<string name="saving_database">Adatbázis mentése…</string>
|
<string name="saving_database">Adatbázis mentése…</string>
|
||||||
<string name="space">Szóköz</string>
|
<string name="space">Szóköz</string>
|
||||||
|
|||||||
@@ -127,7 +127,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Principale</string>
|
<string name="root">Principale</string>
|
||||||
<string name="rounds">Livello cifratura</string>
|
<string name="rounds">Livello cifratura</string>
|
||||||
<string name="rounds_explaination">Un livello di cifratura elevato fornisce una protezione maggiore contro attacchi di tipo "forza brutta", ma può veramente rallentare il caricamento e il salvataggio.</string>
|
<string name="rounds_explanation">Un livello di cifratura elevato fornisce una protezione maggiore contro attacchi di tipo "forza brutta", ma può veramente rallentare il caricamento e il salvataggio.</string>
|
||||||
<string name="rounds_hint">livello</string>
|
<string name="rounds_hint">livello</string>
|
||||||
<string name="saving_database">Salvataggio database…</string>
|
<string name="saving_database">Salvataggio database…</string>
|
||||||
<string name="space">Spazio</string>
|
<string name="space">Spazio</string>
|
||||||
|
|||||||
@@ -137,7 +137,7 @@
|
|||||||
<string name="remember_keyfile_title">שמור קובץ מפתח</string>
|
<string name="remember_keyfile_title">שמור קובץ מפתח</string>
|
||||||
<string name="remove_from_filelist">הסר</string>
|
<string name="remove_from_filelist">הסר</string>
|
||||||
<string name="rounds">סיבובי הצפנה</string>
|
<string name="rounds">סיבובי הצפנה</string>
|
||||||
<string name="rounds_explaination">מספר סיבובי הצפנה גבוה יותר מספר הגה טובה יותר נגד התקפות, אבל יכול להעלות בהרבה את זמן הטעינה והשמירה.</string>
|
<string name="rounds_explanation">מספר סיבובי הצפנה גבוה יותר מספר הגה טובה יותר נגד התקפות, אבל יכול להעלות בהרבה את זמן הטעינה והשמירה.</string>
|
||||||
<string name="rounds_hint">סיבובים</string>
|
<string name="rounds_hint">סיבובים</string>
|
||||||
<string name="saving_database">שומר מסד נתונים…</string>
|
<string name="saving_database">שומר מסד נתונים…</string>
|
||||||
<string name="space">גודל</string>
|
<string name="space">גודל</string>
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">暗号化レベル</string>
|
<string name="rounds">暗号化レベル</string>
|
||||||
<string name="rounds_explaination">暗号化レベルを高く設定するとブルートフォース(総当り)攻撃に強くなりますが、保存や読込に時間が掛かります。</string>
|
<string name="rounds_explanation">暗号化レベルを高く設定するとブルートフォース(総当り)攻撃に強くなりますが、保存や読込に時間が掛かります。</string>
|
||||||
<string name="rounds_hint">レベル</string>
|
<string name="rounds_hint">レベル</string>
|
||||||
<string name="saving_database">データベースを保存中…</string>
|
<string name="saving_database">データベースを保存中…</string>
|
||||||
<string name="space">半角スペース</string>
|
<string name="space">半角スペース</string>
|
||||||
|
|||||||
@@ -118,7 +118,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">Šifrēšanas līmeņi</string>
|
<string name="rounds">Šifrēšanas līmeņi</string>
|
||||||
<string name="rounds_explaination">Augstākā līmeņa šifrēšana sniedz lielāku aizsardzību, bet palēnina darbības ar datu bāzēm.</string>
|
<string name="rounds_explanation">Augstākā līmeņa šifrēšana sniedz lielāku aizsardzību, bet palēnina darbības ar datu bāzēm.</string>
|
||||||
<string name="rounds_hint">līmeņi</string>
|
<string name="rounds_hint">līmeņi</string>
|
||||||
<string name="saving_database">Datu bāzes saglabāšana…</string>
|
<string name="saving_database">Datu bāzes saglabāšana…</string>
|
||||||
<string name="space">Atstarpe</string>
|
<string name="space">Atstarpe</string>
|
||||||
|
|||||||
@@ -126,7 +126,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Top</string>
|
<string name="root">Top</string>
|
||||||
<string name="rounds">Encryptie-cycli</string>
|
<string name="rounds">Encryptie-cycli</string>
|
||||||
<string name="rounds_explaination">Een hoger aantal encryptie-cycli geeft bijkomende bescherming tegen brute-force aanvallen, maar kan het laden en opslaan sterk vertragen.</string>
|
<string name="rounds_explanation">Een hoger aantal encryptie-cycli geeft bijkomende bescherming tegen brute-force aanvallen, maar kan het laden en opslaan sterk vertragen.</string>
|
||||||
<string name="rounds_hint">cycli</string>
|
<string name="rounds_hint">cycli</string>
|
||||||
<string name="saving_database">Database wordt opgeslagen…</string>
|
<string name="saving_database">Database wordt opgeslagen…</string>
|
||||||
<string name="space">Ruimte</string>
|
<string name="space">Ruimte</string>
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Rot</string>
|
<string name="root">Rot</string>
|
||||||
<string name="rounds">Krypteringsomgangar</string>
|
<string name="rounds">Krypteringsomgangar</string>
|
||||||
<string name="rounds_explaination">Fleire krypteringsomgangar gjev tilleggsvern mot rå makt-åtak, men kan òg gjera lasting og lagring mykje tregare.</string>
|
<string name="rounds_explanation">Fleire krypteringsomgangar gjev tilleggsvern mot rå makt-åtak, men kan òg gjera lasting og lagring mykje tregare.</string>
|
||||||
<string name="rounds_hint">omgangar</string>
|
<string name="rounds_hint">omgangar</string>
|
||||||
<string name="saving_database">Lagrar databasen …</string>
|
<string name="saving_database">Lagrar databasen …</string>
|
||||||
<string name="space">Mellomrom</string>
|
<string name="space">Mellomrom</string>
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">Złożoność szyfrowania</string>
|
<string name="rounds">Złożoność szyfrowania</string>
|
||||||
<string name="rounds_explaination">Większa złożoność szyfrowania zapewnia dodatkowe zabezpieczenie przed atakiem brute force, ale może spowolnić wczytywanie i zapisywanie bazy danych.</string>
|
<string name="rounds_explanation">Większa złożoność szyfrowania zapewnia dodatkowe zabezpieczenie przed atakiem brute force, ale może spowolnić wczytywanie i zapisywanie bazy danych.</string>
|
||||||
<string name="rounds_fix">Kluczowe rundy szyfrowania przed zniszczeniem</string>
|
<string name="rounds_fix">Kluczowe rundy szyfrowania przed zniszczeniem</string>
|
||||||
<string name="rounds_fix_explanation">Jeśli twoja baza danych została uszkodzona przez KeePassDroid w wersji 2.2.0.0 do 2.2.0.6, wprowadź liczbę rund użytych poprzednio, a to pozwoli ci otworzyć twoją bazę danych.</string>
|
<string name="rounds_fix_explanation">Jeśli twoja baza danych została uszkodzona przez KeePassDroid w wersji 2.2.0.0 do 2.2.0.6, wprowadź liczbę rund użytych poprzednio, a to pozwoli ci otworzyć twoją bazę danych.</string>
|
||||||
<string name="rounds_hint">złożoność</string>
|
<string name="rounds_hint">złożoność</string>
|
||||||
|
|||||||
@@ -127,7 +127,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Raiz</string>
|
<string name="root">Raiz</string>
|
||||||
<string name="rounds">Rodadas de criptografia</string>
|
<string name="rounds">Rodadas de criptografia</string>
|
||||||
<string name="rounds_explaination">Maior número de rodadas de criptografia adiciona mais proteção contra ataques de força bruta, porém pode tornar o processo de carregar e salvar mais lentos.</string>
|
<string name="rounds_explanation">Maior número de rodadas de criptografia adiciona mais proteção contra ataques de força bruta, porém pode tornar o processo de carregar e salvar mais lentos.</string>
|
||||||
<string name="rounds_hint">rodadas</string>
|
<string name="rounds_hint">rodadas</string>
|
||||||
<string name="saving_database">Salvando banco de dados…</string>
|
<string name="saving_database">Salvando banco de dados…</string>
|
||||||
<string name="space">Spaço</string>
|
<string name="space">Spaço</string>
|
||||||
|
|||||||
@@ -145,7 +145,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Raiz</string>
|
<string name="root">Raiz</string>
|
||||||
<string name="rounds">Rondas de encriptação</string>
|
<string name="rounds">Rondas de encriptação</string>
|
||||||
<string name="rounds_explaination">Rondas de encriptação altas providenciam proteção adicional contra ataques de força bruta, mas podem atrasar o tempo de carregamento e armazenamento.</string>
|
<string name="rounds_explanation">Rondas de encriptação altas providenciam proteção adicional contra ataques de força bruta, mas podem atrasar o tempo de carregamento e armazenamento.</string>
|
||||||
<string name="rounds_hint">rondas</string>
|
<string name="rounds_hint">rondas</string>
|
||||||
<string name="saving_database">A guardar base de dados…</string>
|
<string name="saving_database">A guardar base de dados…</string>
|
||||||
<string name="space">Espaço</string>
|
<string name="space">Espaço</string>
|
||||||
|
|||||||
@@ -140,7 +140,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">База</string>
|
<string name="root">База</string>
|
||||||
<string name="rounds">Проходы шифрования</string>
|
<string name="rounds">Проходы шифрования</string>
|
||||||
<string name="rounds_explaination">Больше проходов – выше стойкость базы к подбору пароля, но медленнее открытие и сохранение</string>
|
<string name="rounds_explanation">Больше проходов – выше стойкость базы к подбору пароля, но медленнее открытие и сохранение</string>
|
||||||
<string name="rounds_fix">Проходы до поломки базы</string>
|
<string name="rounds_fix">Проходы до поломки базы</string>
|
||||||
<string name="rounds_fix_explanation">Если база была повреждена в KeePassDroid 2.2.0.0–2.2.0.6, введите ранее используемое количество проходов шифрования, чтобы открыть её</string>
|
<string name="rounds_fix_explanation">Если база была повреждена в KeePassDroid 2.2.0.0–2.2.0.6, введите ранее используемое количество проходов шифрования, чтобы открыть её</string>
|
||||||
<string name="rounds_hint">проходы</string>
|
<string name="rounds_hint">проходы</string>
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">Šifrovacie opakovania</string>
|
<string name="rounds">Šifrovacie opakovania</string>
|
||||||
<string name="rounds_explaination">Vyššie opakovania šifrovania dávajú vyššiu ochranu proti útokom hrubou silou, ale môžu spomaliť načítavanie a ukladanie.</string>
|
<string name="rounds_explanation">Vyššie opakovania šifrovania dávajú vyššiu ochranu proti útokom hrubou silou, ale môžu spomaliť načítavanie a ukladanie.</string>
|
||||||
<string name="rounds_hint">opakovania</string>
|
<string name="rounds_hint">opakovania</string>
|
||||||
<string name="saving_database">Ukladám databázu…</string>
|
<string name="saving_database">Ukladám databázu…</string>
|
||||||
<string name="space">Miesto</string>
|
<string name="space">Miesto</string>
|
||||||
|
|||||||
@@ -137,7 +137,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">Krypteringsrundor</string>
|
<string name="rounds">Krypteringsrundor</string>
|
||||||
<string name="rounds_explaination">Högre antal krypteringsrundor ger ytterligare skydd mot "brute force"-attacker, men kan göra att ladda och spara går betydligt långsammare.</string>
|
<string name="rounds_explanation">Högre antal krypteringsrundor ger ytterligare skydd mot "brute force"-attacker, men kan göra att ladda och spara går betydligt långsammare.</string>
|
||||||
<string name="rounds_hint">rundor</string>
|
<string name="rounds_hint">rundor</string>
|
||||||
<string name="saving_database">Sparar databas…</string>
|
<string name="saving_database">Sparar databas…</string>
|
||||||
<string name="space">Mellanslag</string>
|
<string name="space">Mellanslag</string>
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Корінь</string>
|
<string name="root">Корінь</string>
|
||||||
<string name="rounds">Циклів шифрування</string>
|
<string name="rounds">Циклів шифрування</string>
|
||||||
<string name="rounds_explaination">Велика кількість циклів шифрування забезпечує додатковий захист від грубих атак, але може дійсно уповільнити завантаження та захист.</string>
|
<string name="rounds_explanation">Велика кількість циклів шифрування забезпечує додатковий захист від грубих атак, але може дійсно уповільнити завантаження та захист.</string>
|
||||||
<string name="rounds_hint">цикли</string>
|
<string name="rounds_hint">цикли</string>
|
||||||
<string name="saving_database">Збереження бази даних…</string>
|
<string name="saving_database">Збереження бази даних…</string>
|
||||||
<string name="space">Пропуск</string>
|
<string name="space">Пропуск</string>
|
||||||
|
|||||||
@@ -121,7 +121,7 @@
|
|||||||
<string name="rijndael">Rijndael加密(AES)</string>
|
<string name="rijndael">Rijndael加密(AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">加密次数</string>
|
<string name="rounds">加密次数</string>
|
||||||
<string name="rounds_explaination">更高级的加密次数对暴力攻击能提供额外保护,但也会增加加载和保存的时间。</string>
|
<string name="rounds_explanation">更高级的加密次数对暴力攻击能提供额外保护,但也会增加加载和保存的时间。</string>
|
||||||
<string name="rounds_hint">次数</string>
|
<string name="rounds_hint">次数</string>
|
||||||
<string name="saving_database">正在保存数据库…</string>
|
<string name="saving_database">正在保存数据库…</string>
|
||||||
<string name="space">空格</string>
|
<string name="space">空格</string>
|
||||||
|
|||||||
@@ -121,7 +121,7 @@
|
|||||||
<string name="rijndael">Rijndael加密(AES)</string>
|
<string name="rijndael">Rijndael加密(AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">加密次數</string>
|
<string name="rounds">加密次數</string>
|
||||||
<string name="rounds_explaination">更高級的加密次數對暴力攻擊能提供額外保護,但也會增加載入和保存的時間。</string>
|
<string name="rounds_explanation">更高級的加密次數對暴力攻擊能提供額外保護,但也會增加載入和保存的時間。</string>
|
||||||
<string name="rounds_hint">次數</string>
|
<string name="rounds_hint">次數</string>
|
||||||
<string name="saving_database">正在保存資料庫…</string>
|
<string name="saving_database">正在保存資料庫…</string>
|
||||||
<string name="space">空格</string>
|
<string name="space">空格</string>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
<attr name="whiteFab" format="reference" />
|
<attr name="whiteFab" format="reference" />
|
||||||
|
|
||||||
<declare-styleable name="RoundsDialog">
|
<declare-styleable name="explanationDialog">
|
||||||
<attr name="explanations" format="string" />
|
<attr name="explanations" format="string" />
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -154,7 +154,7 @@
|
|||||||
<string name="rijndael">Rijndael (AES)</string>
|
<string name="rijndael">Rijndael (AES)</string>
|
||||||
<string name="root">Root</string>
|
<string name="root">Root</string>
|
||||||
<string name="rounds">Transform Rounds</string>
|
<string name="rounds">Transform Rounds</string>
|
||||||
<string name="rounds_explaination">Higher encryption rounds provide additional protection against brute force attacks, but can really slow down loading and saving.</string>
|
<string name="rounds_explanation">Higher encryption rounds provide additional protection against brute force attacks, but can really slow down loading and saving.</string>
|
||||||
<string name="rounds_fix_title">Fix of database</string>
|
<string name="rounds_fix_title">Fix of database</string>
|
||||||
<string name="rounds_fix">Key encryption rounds before corruption</string>
|
<string name="rounds_fix">Key encryption rounds before corruption</string>
|
||||||
<string name="rounds_fix_explanation">If your database was corrupted, enter the number of rounds used previously to try to open your database.</string>
|
<string name="rounds_fix_explanation">If your database was corrupted, enter the number of rounds used previously to try to open your database.</string>
|
||||||
|
|||||||
@@ -17,31 +17,35 @@
|
|||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-->
|
-->
|
||||||
<PreferenceScreen
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:custom="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="@string/database_general_key"
|
android:key="@string/database_general_key"
|
||||||
android:title="@string/general">
|
android:title="@string/general">
|
||||||
|
|
||||||
<Preference
|
<com.kunzisoft.keepass.settings.preference.InputTextPreference
|
||||||
android:key="@string/database_name_key"
|
android:key="@string/database_name_key"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:title="@string/database_name_title"/>
|
android:title="@string/database_name_title"
|
||||||
<Preference
|
android:positiveButtonText="@string/entry_save"
|
||||||
|
android:negativeButtonText="@string/entry_cancel"/>
|
||||||
|
<com.kunzisoft.keepass.settings.preference.InputTextPreference
|
||||||
android:key="@string/database_description_key"
|
android:key="@string/database_description_key"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:title="@string/database_description_title"/>
|
android:title="@string/database_description_title"
|
||||||
<Preference
|
android:positiveButtonText="@string/entry_save"
|
||||||
android:key="@string/database_version_key"
|
android:negativeButtonText="@string/entry_cancel"/>
|
||||||
android:persistent="false"
|
|
||||||
android:title="@string/database_version_title"/>
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="@string/recycle_bin_key"
|
android:key="@string/recycle_bin_key"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:title="@string/recycle_bin_title"
|
android:title="@string/recycle_bin_title"
|
||||||
android:summary="@string/recycle_bin_summary"
|
android:summary="@string/recycle_bin_summary"
|
||||||
android:checked="false"/>
|
android:checked="false"/>
|
||||||
|
<Preference
|
||||||
|
android:key="@string/database_version_key"
|
||||||
|
android:persistent="false"
|
||||||
|
android:title="@string/database_version_title"/>
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
@@ -56,10 +60,11 @@
|
|||||||
android:key="@string/key_derivation_function_key"
|
android:key="@string/key_derivation_function_key"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:title="@string/key_derivation_function"/>
|
android:title="@string/key_derivation_function"/>
|
||||||
<com.kunzisoft.keepass.settings.RoundsPreference
|
<com.kunzisoft.keepass.settings.preference.RoundsPreference
|
||||||
android:key="@string/transform_rounds_key"
|
android:key="@string/transform_rounds_key"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:title="@string/rounds"
|
android:title="@string/rounds"
|
||||||
|
custom:explanations="@string/rounds_explanation"
|
||||||
android:positiveButtonText="@string/entry_save"
|
android:positiveButtonText="@string/entry_save"
|
||||||
android:negativeButtonText="@string/entry_cancel"/>
|
android:negativeButtonText="@string/entry_cancel"/>
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
android:title="@string/menu_db_settings"
|
android:title="@string/menu_db_settings"
|
||||||
android:icon="@drawable/ic_data_usage_prefs_24dp"
|
android:icon="@drawable/ic_data_usage_prefs_24dp"
|
||||||
android:persistent="false" />
|
android:persistent="false" />
|
||||||
<com.kunzisoft.keepass.settings.RoundsPreference
|
<com.kunzisoft.keepass.settings.preference.RoundsPreference
|
||||||
android:key="@string/roundsFix_key"
|
android:key="@string/roundsFix_key"
|
||||||
android:title="@string/rounds_fix_title"
|
android:title="@string/rounds_fix_title"
|
||||||
android:summary="@string/rounds_fix"
|
android:summary="@string/rounds_fix"
|
||||||
|
|||||||
Reference in New Issue
Block a user