mirror of
https://github.com/moparisthebest/keepass2android
synced 2024-11-22 09:12:17 -05:00
* Enabled RecycleBin for Groups and Entries
* Added (more or less empty) resource files for more languages
This commit is contained in:
parent
9837ee4ad4
commit
fde771f73e
307
src/keepass2android/Resources/Resource.designer.cs
generated
307
src/keepass2android/Resources/Resource.designer.cs
generated
@ -1000,20 +1000,29 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050020
|
||||
public const int AboutText = 2131034144;
|
||||
|
||||
// aapt resource value: 0x7f0500e6
|
||||
public const int AskOverwriteBinary = 2131034342;
|
||||
// aapt resource value: 0x7f0500ee
|
||||
public const int AskDeletePermanentlyEntry = 2131034350;
|
||||
|
||||
// aapt resource value: 0x7f0500e9
|
||||
public const int AskOverwriteBinary_no = 2131034345;
|
||||
// aapt resource value: 0x7f0500ef
|
||||
public const int AskDeletePermanentlyGroup = 2131034351;
|
||||
|
||||
// aapt resource value: 0x7f0500e7
|
||||
public const int AskOverwriteBinary_title = 2131034343;
|
||||
// aapt resource value: 0x7f0500f0
|
||||
public const int AskDeletePermanently_title = 2131034352;
|
||||
|
||||
// aapt resource value: 0x7f0500e8
|
||||
public const int AskOverwriteBinary_yes = 2131034344;
|
||||
public const int AskOverwriteBinary = 2131034344;
|
||||
|
||||
// aapt resource value: 0x7f0500eb
|
||||
public const int AskOverwriteBinary_no = 2131034347;
|
||||
|
||||
// aapt resource value: 0x7f0500e9
|
||||
public const int AskOverwriteBinary_title = 2131034345;
|
||||
|
||||
// aapt resource value: 0x7f0500ea
|
||||
public const int AttachFailed = 2131034346;
|
||||
public const int AskOverwriteBinary_yes = 2131034346;
|
||||
|
||||
// aapt resource value: 0x7f0500ec
|
||||
public const int AttachFailed = 2131034348;
|
||||
|
||||
// aapt resource value: 0x7f050017
|
||||
public const int BinaryDirectory_default = 2131034135;
|
||||
@ -1021,11 +1030,11 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050016
|
||||
public const int BinaryDirectory_key = 2131034134;
|
||||
|
||||
// aapt resource value: 0x7f0500d8
|
||||
public const int BinaryDirectory_summary = 2131034328;
|
||||
// aapt resource value: 0x7f0500da
|
||||
public const int BinaryDirectory_summary = 2131034330;
|
||||
|
||||
// aapt resource value: 0x7f0500d7
|
||||
public const int BinaryDirectory_title = 2131034327;
|
||||
// aapt resource value: 0x7f0500d9
|
||||
public const int BinaryDirectory_title = 2131034329;
|
||||
|
||||
// aapt resource value: 0x7f050034
|
||||
public const int ClearClipboard = 2131034164;
|
||||
@ -1045,11 +1054,11 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050018
|
||||
public const int QuickUnlockDefaultEnabled_key = 2131034136;
|
||||
|
||||
// aapt resource value: 0x7f0500d3
|
||||
public const int QuickUnlockDefaultEnabled_summary = 2131034323;
|
||||
// aapt resource value: 0x7f0500d5
|
||||
public const int QuickUnlockDefaultEnabled_summary = 2131034325;
|
||||
|
||||
// aapt resource value: 0x7f0500d2
|
||||
public const int QuickUnlockDefaultEnabled_title = 2131034322;
|
||||
// aapt resource value: 0x7f0500d4
|
||||
public const int QuickUnlockDefaultEnabled_title = 2131034324;
|
||||
|
||||
// aapt resource value: 0x7f05001a
|
||||
public const int QuickUnlockLength_default = 2131034138;
|
||||
@ -1057,50 +1066,50 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050019
|
||||
public const int QuickUnlockLength_key = 2131034137;
|
||||
|
||||
// aapt resource value: 0x7f0500d5
|
||||
public const int QuickUnlockLength_summary = 2131034325;
|
||||
|
||||
// aapt resource value: 0x7f0500d4
|
||||
public const int QuickUnlockLength_title = 2131034324;
|
||||
|
||||
// aapt resource value: 0x7f0500d0
|
||||
public const int QuickUnlock_button = 2131034320;
|
||||
// aapt resource value: 0x7f0500d7
|
||||
public const int QuickUnlockLength_summary = 2131034327;
|
||||
|
||||
// aapt resource value: 0x7f0500d6
|
||||
public const int QuickUnlock_fail = 2131034326;
|
||||
public const int QuickUnlockLength_title = 2131034326;
|
||||
|
||||
// aapt resource value: 0x7f0500cf
|
||||
public const int QuickUnlock_label = 2131034319;
|
||||
// aapt resource value: 0x7f0500d2
|
||||
public const int QuickUnlock_button = 2131034322;
|
||||
|
||||
// aapt resource value: 0x7f0500d8
|
||||
public const int QuickUnlock_fail = 2131034328;
|
||||
|
||||
// aapt resource value: 0x7f0500d1
|
||||
public const int QuickUnlock_lockButton = 2131034321;
|
||||
public const int QuickUnlock_label = 2131034321;
|
||||
|
||||
// aapt resource value: 0x7f0500eb
|
||||
public const int RecycleBin = 2131034347;
|
||||
// aapt resource value: 0x7f0500d3
|
||||
public const int QuickUnlock_lockButton = 2131034323;
|
||||
|
||||
// aapt resource value: 0x7f0500da
|
||||
public const int SaveAttachment_Failed = 2131034330;
|
||||
// aapt resource value: 0x7f0500ed
|
||||
public const int RecycleBin = 2131034349;
|
||||
|
||||
// aapt resource value: 0x7f0500d9
|
||||
public const int SaveAttachment_doneMessage = 2131034329;
|
||||
// aapt resource value: 0x7f0500dc
|
||||
public const int SaveAttachment_Failed = 2131034332;
|
||||
|
||||
// aapt resource value: 0x7f0500db
|
||||
public const int SaveAttachment_doneMessage = 2131034331;
|
||||
|
||||
// aapt resource value: 0x7f050014
|
||||
public const int TanExpiresOnUse_key = 2131034132;
|
||||
|
||||
// aapt resource value: 0x7f0500c3
|
||||
public const int TanExpiresOnUse_summary = 2131034307;
|
||||
// aapt resource value: 0x7f0500c5
|
||||
public const int TanExpiresOnUse_summary = 2131034309;
|
||||
|
||||
// aapt resource value: 0x7f0500c2
|
||||
public const int TanExpiresOnUse_title = 2131034306;
|
||||
// aapt resource value: 0x7f0500c4
|
||||
public const int TanExpiresOnUse_title = 2131034308;
|
||||
|
||||
// aapt resource value: 0x7f05001b
|
||||
public const int UseFileTransactions_key = 2131034139;
|
||||
|
||||
// aapt resource value: 0x7f0500e5
|
||||
public const int UseFileTransactions_summary = 2131034341;
|
||||
// aapt resource value: 0x7f0500e7
|
||||
public const int UseFileTransactions_summary = 2131034343;
|
||||
|
||||
// aapt resource value: 0x7f0500e4
|
||||
public const int UseFileTransactions_title = 2131034340;
|
||||
// aapt resource value: 0x7f0500e6
|
||||
public const int UseFileTransactions_title = 2131034342;
|
||||
|
||||
// aapt resource value: 0x7f05001e
|
||||
public const int about_feedback = 2131034142;
|
||||
@ -1111,14 +1120,14 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050022
|
||||
public const int accept = 2131034146;
|
||||
|
||||
// aapt resource value: 0x7f0500e0
|
||||
public const int add_binary = 2131034336;
|
||||
// aapt resource value: 0x7f0500e2
|
||||
public const int add_binary = 2131034338;
|
||||
|
||||
// aapt resource value: 0x7f050023
|
||||
public const int add_entry = 2131034147;
|
||||
|
||||
// aapt resource value: 0x7f0500e1
|
||||
public const int add_extra_string = 2131034337;
|
||||
// aapt resource value: 0x7f0500e3
|
||||
public const int add_extra_string = 2131034339;
|
||||
|
||||
// aapt resource value: 0x7f050024
|
||||
public const int add_group = 2131034148;
|
||||
@ -1171,8 +1180,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050033
|
||||
public const int cancel = 2131034163;
|
||||
|
||||
// aapt resource value: 0x7f0500c7
|
||||
public const int caseSensitive = 2131034311;
|
||||
// aapt resource value: 0x7f0500c9
|
||||
public const int caseSensitive = 2131034313;
|
||||
|
||||
// aapt resource value: 0x7f050035
|
||||
public const int clipboard_timeout = 2131034165;
|
||||
@ -1195,8 +1204,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050039
|
||||
public const int creating_db_key = 2131034169;
|
||||
|
||||
// aapt resource value: 0x7f0500e3
|
||||
public const int credentials_dialog_title = 2131034339;
|
||||
// aapt resource value: 0x7f0500e5
|
||||
public const int credentials_dialog_title = 2131034341;
|
||||
|
||||
// aapt resource value: 0x7f05003a
|
||||
public const int current_group = 2131034170;
|
||||
@ -1207,8 +1216,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f05003c
|
||||
public const int database = 2131034172;
|
||||
|
||||
// aapt resource value: 0x7f0500e2
|
||||
public const int database_loaded_quickunlock_enabled = 2131034338;
|
||||
// aapt resource value: 0x7f0500e4
|
||||
public const int database_loaded_quickunlock_enabled = 2131034340;
|
||||
|
||||
// aapt resource value: 0x7f05000c
|
||||
public const int db_key = 2131034124;
|
||||
@ -1225,8 +1234,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050001
|
||||
public const int default_file_path = 2131034113;
|
||||
|
||||
// aapt resource value: 0x7f0500af
|
||||
public const int default_username = 2131034287;
|
||||
// aapt resource value: 0x7f0500b1
|
||||
public const int default_username = 2131034289;
|
||||
|
||||
// aapt resource value: 0x7f050015
|
||||
public const int default_username_key = 2131034133;
|
||||
@ -1243,17 +1252,17 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050042
|
||||
public const int ellipsis = 2131034178;
|
||||
|
||||
// aapt resource value: 0x7f0500ce
|
||||
public const int enable_quickunlock = 2131034318;
|
||||
// aapt resource value: 0x7f0500d0
|
||||
public const int enable_quickunlock = 2131034320;
|
||||
|
||||
// aapt resource value: 0x7f050043
|
||||
public const int enter_filename = 2131034179;
|
||||
|
||||
// aapt resource value: 0x7f0500cd
|
||||
public const int enter_filename_details_create_import = 2131034317;
|
||||
// aapt resource value: 0x7f0500cf
|
||||
public const int enter_filename_details_create_import = 2131034319;
|
||||
|
||||
// aapt resource value: 0x7f0500cc
|
||||
public const int enter_filename_details_url = 2131034316;
|
||||
// aapt resource value: 0x7f0500ce
|
||||
public const int enter_filename_details_url = 2131034318;
|
||||
|
||||
// aapt resource value: 0x7f050044
|
||||
public const int entry_accessed = 2131034180;
|
||||
@ -1339,8 +1348,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f05005f
|
||||
public const int error_invalid_db = 2131034207;
|
||||
|
||||
// aapt resource value: 0x7f0500db
|
||||
public const int error_invalid_expiry_date = 2131034331;
|
||||
// aapt resource value: 0x7f0500dd
|
||||
public const int error_invalid_expiry_date = 2131034333;
|
||||
|
||||
// aapt resource value: 0x7f050060
|
||||
public const int error_invalid_path = 2131034208;
|
||||
@ -1366,8 +1375,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050067
|
||||
public const int error_rounds_too_large = 2131034215;
|
||||
|
||||
// aapt resource value: 0x7f0500dc
|
||||
public const int error_string_key = 2131034332;
|
||||
// aapt resource value: 0x7f0500de
|
||||
public const int error_string_key = 2131034334;
|
||||
|
||||
// aapt resource value: 0x7f050068
|
||||
public const int error_title_required = 2131034216;
|
||||
@ -1375,14 +1384,14 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050069
|
||||
public const int error_wrong_length = 2131034217;
|
||||
|
||||
// aapt resource value: 0x7f0500c5
|
||||
public const int excludeExpiredEntries = 2131034309;
|
||||
// aapt resource value: 0x7f0500c7
|
||||
public const int excludeExpiredEntries = 2131034311;
|
||||
|
||||
// aapt resource value: 0x7f0500dd
|
||||
public const int field_name = 2131034333;
|
||||
// aapt resource value: 0x7f0500df
|
||||
public const int field_name = 2131034335;
|
||||
|
||||
// aapt resource value: 0x7f0500de
|
||||
public const int field_value = 2131034334;
|
||||
// aapt resource value: 0x7f0500e0
|
||||
public const int field_value = 2131034336;
|
||||
|
||||
// aapt resource value: 0x7f05006b
|
||||
public const int file_browser = 2131034219;
|
||||
@ -1462,8 +1471,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f05000e
|
||||
public const int keyfile_key = 2131034126;
|
||||
|
||||
// aapt resource value: 0x7f0500c4
|
||||
public const int kp2a_findUrl = 2131034308;
|
||||
// aapt resource value: 0x7f0500c6
|
||||
public const int kp2a_findUrl = 2131034310;
|
||||
|
||||
// aapt resource value: 0x7f050082
|
||||
public const int length = 2131034242;
|
||||
@ -1555,14 +1564,17 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f05009c
|
||||
public const int never = 2131034268;
|
||||
|
||||
// aapt resource value: 0x7f05009d
|
||||
public const int no_keys = 2131034269;
|
||||
|
||||
// aapt resource value: 0x7f05009e
|
||||
public const int no_results = 2131034270;
|
||||
public const int no = 2131034270;
|
||||
|
||||
// aapt resource value: 0x7f05009f
|
||||
public const int no_url_handler = 2131034271;
|
||||
public const int no_keys = 2131034271;
|
||||
|
||||
// aapt resource value: 0x7f0500a0
|
||||
public const int no_results = 2131034272;
|
||||
|
||||
// aapt resource value: 0x7f0500a1
|
||||
public const int no_url_handler = 2131034273;
|
||||
|
||||
// aapt resource value: 0x7f050006
|
||||
public const int oi_filemanager_market = 2131034118;
|
||||
@ -1573,77 +1585,77 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f050010
|
||||
public const int omitbackup_key = 2131034128;
|
||||
|
||||
// aapt resource value: 0x7f0500a2
|
||||
public const int omitbackup_summary = 2131034274;
|
||||
|
||||
// aapt resource value: 0x7f0500a1
|
||||
public const int omitbackup_title = 2131034273;
|
||||
|
||||
// aapt resource value: 0x7f0500a0
|
||||
public const int open_recent = 2131034272;
|
||||
// aapt resource value: 0x7f0500a4
|
||||
public const int omitbackup_summary = 2131034276;
|
||||
|
||||
// aapt resource value: 0x7f0500a3
|
||||
public const int pass_filename = 2131034275;
|
||||
public const int omitbackup_title = 2131034275;
|
||||
|
||||
// aapt resource value: 0x7f0500a4
|
||||
public const int password_title = 2131034276;
|
||||
// aapt resource value: 0x7f0500a2
|
||||
public const int open_recent = 2131034274;
|
||||
|
||||
// aapt resource value: 0x7f0500a5
|
||||
public const int progress_create = 2131034277;
|
||||
public const int pass_filename = 2131034277;
|
||||
|
||||
// aapt resource value: 0x7f0500a6
|
||||
public const int progress_title = 2131034278;
|
||||
|
||||
// aapt resource value: 0x7f0500df
|
||||
public const int protection = 2131034335;
|
||||
|
||||
// aapt resource value: 0x7f0500c1
|
||||
public const int regular_expression = 2131034305;
|
||||
public const int password_title = 2131034278;
|
||||
|
||||
// aapt resource value: 0x7f0500a7
|
||||
public const int remember_keyfile_summary = 2131034279;
|
||||
public const int progress_create = 2131034279;
|
||||
|
||||
// aapt resource value: 0x7f0500a8
|
||||
public const int remember_keyfile_title = 2131034280;
|
||||
public const int progress_title = 2131034280;
|
||||
|
||||
// aapt resource value: 0x7f0500e1
|
||||
public const int protection = 2131034337;
|
||||
|
||||
// aapt resource value: 0x7f0500c3
|
||||
public const int regular_expression = 2131034307;
|
||||
|
||||
// aapt resource value: 0x7f0500a9
|
||||
public const int remove_from_filelist = 2131034281;
|
||||
public const int remember_keyfile_summary = 2131034281;
|
||||
|
||||
// aapt resource value: 0x7f0500aa
|
||||
public const int rijndael = 2131034282;
|
||||
public const int remember_keyfile_title = 2131034282;
|
||||
|
||||
// aapt resource value: 0x7f0500ab
|
||||
public const int root = 2131034283;
|
||||
public const int remove_from_filelist = 2131034283;
|
||||
|
||||
// aapt resource value: 0x7f0500ac
|
||||
public const int rounds = 2131034284;
|
||||
public const int rijndael = 2131034284;
|
||||
|
||||
// aapt resource value: 0x7f0500ad
|
||||
public const int rounds_explaination = 2131034285;
|
||||
public const int root = 2131034285;
|
||||
|
||||
// aapt resource value: 0x7f0500ae
|
||||
public const int rounds_hint = 2131034286;
|
||||
public const int rounds = 2131034286;
|
||||
|
||||
// aapt resource value: 0x7f0500af
|
||||
public const int rounds_explaination = 2131034287;
|
||||
|
||||
// aapt resource value: 0x7f0500b0
|
||||
public const int rounds_hint = 2131034288;
|
||||
|
||||
// aapt resource value: 0x7f05000d
|
||||
public const int rounds_key = 2131034125;
|
||||
|
||||
// aapt resource value: 0x7f0500b0
|
||||
public const int saving_database = 2131034288;
|
||||
|
||||
// aapt resource value: 0x7f0500b7
|
||||
public const int search_hint = 2131034295;
|
||||
// aapt resource value: 0x7f0500b2
|
||||
public const int saving_database = 2131034290;
|
||||
|
||||
// aapt resource value: 0x7f0500b9
|
||||
public const int search_in = 2131034297;
|
||||
public const int search_hint = 2131034297;
|
||||
|
||||
// aapt resource value: 0x7f0500b2
|
||||
public const int search_label = 2131034290;
|
||||
// aapt resource value: 0x7f0500bb
|
||||
public const int search_in = 2131034299;
|
||||
|
||||
// aapt resource value: 0x7f0500c6
|
||||
public const int search_options = 2131034310;
|
||||
// aapt resource value: 0x7f0500b4
|
||||
public const int search_label = 2131034292;
|
||||
|
||||
// aapt resource value: 0x7f0500b8
|
||||
public const int search_results = 2131034296;
|
||||
// aapt resource value: 0x7f0500c8
|
||||
public const int search_options = 2131034312;
|
||||
|
||||
// aapt resource value: 0x7f0500ba
|
||||
public const int search_results = 2131034298;
|
||||
|
||||
// aapt resource value: 0x7f050029
|
||||
public const int short_app_name = 2131034153;
|
||||
@ -1651,59 +1663,62 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f05002b
|
||||
public const int short_app_name_nonet = 2131034155;
|
||||
|
||||
// aapt resource value: 0x7f0500b3
|
||||
public const int show_password = 2131034291;
|
||||
|
||||
// aapt resource value: 0x7f0500b5
|
||||
public const int sort_db = 2131034293;
|
||||
public const int show_password = 2131034293;
|
||||
|
||||
// aapt resource value: 0x7f0500b7
|
||||
public const int sort_db = 2131034295;
|
||||
|
||||
// aapt resource value: 0x7f050012
|
||||
public const int sort_key = 2131034130;
|
||||
|
||||
// aapt resource value: 0x7f0500b4
|
||||
public const int sort_name = 2131034292;
|
||||
|
||||
// aapt resource value: 0x7f0500b1
|
||||
public const int space = 2131034289;
|
||||
|
||||
// aapt resource value: 0x7f0500b6
|
||||
public const int special = 2131034294;
|
||||
public const int sort_name = 2131034294;
|
||||
|
||||
// aapt resource value: 0x7f0500c9
|
||||
public const int start_create = 2131034313;
|
||||
// aapt resource value: 0x7f0500b3
|
||||
public const int space = 2131034291;
|
||||
|
||||
// aapt resource value: 0x7f0500b8
|
||||
public const int special = 2131034296;
|
||||
|
||||
// aapt resource value: 0x7f0500cb
|
||||
public const int start_create_import = 2131034315;
|
||||
public const int start_create = 2131034315;
|
||||
|
||||
// aapt resource value: 0x7f0500c8
|
||||
public const int start_open_file = 2131034312;
|
||||
// aapt resource value: 0x7f0500cd
|
||||
public const int start_create_import = 2131034317;
|
||||
|
||||
// aapt resource value: 0x7f0500ca
|
||||
public const int start_open_url = 2131034314;
|
||||
public const int start_open_file = 2131034314;
|
||||
|
||||
// aapt resource value: 0x7f0500cc
|
||||
public const int start_open_url = 2131034316;
|
||||
|
||||
// aapt resource value: 0x7f050013
|
||||
public const int timeout_key = 2131034131;
|
||||
|
||||
// aapt resource value: 0x7f0500ba
|
||||
public const int twofish = 2131034298;
|
||||
|
||||
// aapt resource value: 0x7f0500bb
|
||||
public const int underline = 2131034299;
|
||||
|
||||
// aapt resource value: 0x7f0500bc
|
||||
public const int unsupported_db_version = 2131034300;
|
||||
public const int twofish = 2131034300;
|
||||
|
||||
// aapt resource value: 0x7f0500bd
|
||||
public const int uppercase = 2131034301;
|
||||
|
||||
// aapt resource value: 0x7f0500c0
|
||||
public const int version_label = 2131034304;
|
||||
public const int underline = 2131034301;
|
||||
|
||||
// aapt resource value: 0x7f0500be
|
||||
public const int warning_read_only = 2131034302;
|
||||
public const int unsupported_db_version = 2131034302;
|
||||
|
||||
// aapt resource value: 0x7f0500bf
|
||||
public const int warning_unmounted = 2131034303;
|
||||
public const int uppercase = 2131034303;
|
||||
|
||||
// aapt resource value: 0x7f0500c2
|
||||
public const int version_label = 2131034306;
|
||||
|
||||
// aapt resource value: 0x7f0500c0
|
||||
public const int warning_read_only = 2131034304;
|
||||
|
||||
// aapt resource value: 0x7f0500c1
|
||||
public const int warning_unmounted = 2131034305;
|
||||
|
||||
// aapt resource value: 0x7f05009d
|
||||
public const int yes = 2131034269;
|
||||
|
||||
private String()
|
||||
{
|
||||
|
20
src/keepass2android/Resources/values-af/strings.xml
Normal file
20
src/keepass2android/Resources/values-af/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-ar/strings.xml
Normal file
20
src/keepass2android/Resources/values-ar/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-el/strings.xml
Normal file
20
src/keepass2android/Resources/values-el/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-fi/strings.xml
Normal file
20
src/keepass2android/Resources/values-fi/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-in/strings.xml
Normal file
20
src/keepass2android/Resources/values-in/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-iw/strings.xml
Normal file
20
src/keepass2android/Resources/values-iw/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-ko/strings.xml
Normal file
20
src/keepass2android/Resources/values-ko/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
159
src/keepass2android/Resources/values-no/strings.xml
Normal file
159
src/keepass2android/Resources/values-no/strings.xml
Normal file
@ -0,0 +1,159 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="about_feedback">Tilbakemelding</string>
|
||||
<string name="about_homepage">Heimeside</string>
|
||||
<string name="AboutText">Keepass2Android er ei android-utgåve av KeePass passordstyrar.</string>
|
||||
<string name="accept">Godta</string>
|
||||
<string name="add_entry">Legg til post</string>
|
||||
<string name="add_group">Legg til gruppe</string>
|
||||
<string name="add_group_title">Legg til gruppe</string>
|
||||
<string name="algorithm">Algoritme</string>
|
||||
<string name="algorithm_colon">Algoritme</string>
|
||||
<string name="app_timeout">Programtidsavbrot</string>
|
||||
<string name="app_timeout_summary">Tid før databasen blir låst når programmet ikkje er i bruk.</string>
|
||||
<string name="application">Program</string>
|
||||
<string name="application_settings">Programinnstillingar</string>
|
||||
<string name="brackets">Parentesar</string>
|
||||
<string name="browser_intall_text">Du må ha Open Intents filbehandlar for å kunna bla i filer. Klikk nedanfor for å installera han. Grunna nokre småfeil i programmet kan det vera at det ikkje fungerer heilt den første gongen du bruker det.</string>
|
||||
<string name="building_search_idx">Byggjer søkjeindeksen …</string>
|
||||
<string name="cancel">Avbryt</string>
|
||||
<string name="ClearClipboard">Utklippstavla er tømt.</string>
|
||||
<string name="clipboard_timeout">Tidsavbrot på utklippstavla</string>
|
||||
<string name="clipboard_timeout_summary">Tid før utklippstavla blir tømt etter at brukarnamnet eller passordet er kopiert.</string>
|
||||
<string name="copy_username">Kopier brukarnamnet til utklippstavla</string>
|
||||
<string name="copy_password">Kopier passordet til utklippstavla</string>
|
||||
<string name="creating_db_key">Lagar databasenøkkelen …</string>
|
||||
<string name="current_group">Gjeldande gruppe</string>
|
||||
<string name="current_group_root">Gjeldande gruppe: Rot</string>
|
||||
<string name="decrypting_db">Dekrypterer databasen …</string>
|
||||
<string name="decrypting_entry">Dekrypterer oppføringa</string>
|
||||
<string name="default_checkbox">Standarddatabasen</string>
|
||||
<string name="digits">Tal</string>
|
||||
<string name="disclaimer_formal">Keepass2Android kjem med INGEN SOM HELST GARANTI. Dette er eit fritt program. Du er velkomen til å redistribuera det i samsvar med vilkåra til GPL utgåve 2 eller nyare.</string>
|
||||
<string name="enter_filename">Skriv filnamnet til databasen</string>
|
||||
<string name="entry_accessed">Brukt</string>
|
||||
<string name="entry_and_or">Skriv inn passordet og/eller nøkkelfil for å låsa opp databasen</string>
|
||||
<string name="entry_cancel">Avbryt</string>
|
||||
<string name="entry_comment">Merknader</string>
|
||||
<string name="entry_confpassword">Stadfest passordet</string>
|
||||
<string name="entry_created">Laga</string>
|
||||
<string name="entry_expires">Går ut</string>
|
||||
<string name="entry_keyfile">Nøkkelfil (valfri)</string>
|
||||
<string name="entry_modified">Endra</string>
|
||||
<string name="entry_password">Passord</string>
|
||||
<string name="entry_save">Lagra</string>
|
||||
<string name="entry_title">Namn</string>
|
||||
<string name="entry_url">Adresse</string>
|
||||
<string name="entry_user_name">Brukaramn</string>
|
||||
<string name="error_arc4">Kan ikkje bruka ArcFour dataflytkryptering.</string>
|
||||
<string name="error_can_not_handle_uri">Keepass2Android kan ikkje bruka denne ressursen.</string>
|
||||
<string name="error_could_not_create_group">Klarte ikkje å laga gruppa.</string>
|
||||
<string name="error_could_not_create_parent">Klarte ikkje å laga foreldrekatalogen.</string>
|
||||
<string name="error_database_exists">Denne fila finst allereie.</string>
|
||||
<string name="error_database_settings">Klarte ikkje å bestemma databaseinnstillingane.</string>
|
||||
<string name="error_failed_to_launch_link">Klarte ikkje å lasta lenkja.</string>
|
||||
<string name="error_filename_required">Treng eit filnamn.</string>
|
||||
<string name="error_file_not_create">Klarte ikkje å laga fila</string>
|
||||
<string name="error_invalid_db">Ugyldig database.</string>
|
||||
<string name="error_invalid_path">Ugyldig stig.</string>
|
||||
<string name="error_no_name">Treng eit namn.</string>
|
||||
<string name="error_nopass">Treng eit passord eller ei nøkkelfil.</string>
|
||||
<string name="error_out_of_memory">Telefonen gjekk tom for minne ved lesinga av databasen din. Databasen er kanskje for stor.</string>
|
||||
<string name="error_pass_gen_type">Du må velja minst éin passordlagingstype</string>
|
||||
<string name="error_pass_match">Passorda samsvarer ikkje.</string>
|
||||
<string name="error_rounds_not_number">Omgangar må vera eit tal.</string>
|
||||
<string name="error_rounds_too_large">For mange omgangar. Bruker 2147483648.</string>
|
||||
<string name="error_title_required">Treng ein tittel.</string>
|
||||
<string name="error_wrong_length">Bruk eit positivt heiltal i lengdfeltet</string>
|
||||
<string name="FileNotFound">Fann ikkje fila.</string>
|
||||
<string name="file_browser">Filbehandlar</string>
|
||||
<string name="generate_password">Lag passord</string>
|
||||
<string name="group">Gruppe</string>
|
||||
<string name="hint_comment">merknad</string>
|
||||
<string name="hint_conf_pass">stadfest passordet</string>
|
||||
<string name="hint_generated_password">laga passord</string>
|
||||
<string name="hint_group_name">Gruppenamn</string>
|
||||
<string name="hint_keyfile">nøkkelfil</string>
|
||||
<string name="hint_length">lengd</string>
|
||||
<string name="hint_pass">passord</string>
|
||||
<string name="hint_login_pass">Passord</string>
|
||||
<string name="hint_title">namn</string>
|
||||
<string name="hint_url">adresse</string>
|
||||
<string name="hint_username">brukarnamn</string>
|
||||
<string name="install_from_market">Installer frå marknaden</string>
|
||||
<string name="install_from_website">Installer frå nettet</string>
|
||||
<string name="InvalidPassword">Ugyldig passord eller nøkkelfil.</string>
|
||||
<string name="invalid_db_sig">Ukjent databaseformat.</string>
|
||||
<string name="length">Lengd</string>
|
||||
<string name="list_size_title">Gruppelistestorleik</string>
|
||||
<string name="list_size_summary">Tekststorleik i gruppelista</string>
|
||||
<string name="loading_database">Lastar databasen …</string>
|
||||
<string name="lowercase">Små bokstavar</string>
|
||||
<string name="maskpass_title">Masker passord</string>
|
||||
<string name="maskpass_summary">Gøym passorda (standardval)</string>
|
||||
<string name="menu_about">Om</string>
|
||||
<string name="menu_change_key">Endra hovudnøkkelen</string>
|
||||
<string name="menu_copy_pass">Kopier passordet</string>
|
||||
<string name="menu_copy_user">Kopier brukaren</string>
|
||||
<string name="menu_create">Lag</string>
|
||||
<string name="menu_app_settings">Innstillingar</string>
|
||||
<string name="menu_db_settings">Databaseinnstillingar</string>
|
||||
<string name="menu_delete">Slett</string>
|
||||
<string name="menu_donate">Doner</string>
|
||||
<string name="menu_edit">Endra</string>
|
||||
<string name="menu_hide_password">Gøym passordet</string>
|
||||
<string name="menu_homepage">Gå til heimesida</string>
|
||||
<string name="menu_lock">Lås databasen</string>
|
||||
<string name="menu_open">Opna</string>
|
||||
<string name="menu_rename">Gje nytt namn</string>
|
||||
<string name="menu_search">Søk</string>
|
||||
<string name="menu_url">Gå til adressa</string>
|
||||
<string name="never">Aldri</string>
|
||||
<string name="no_keys">Ingen oppføringar i databasen eller gruppa.</string>
|
||||
<string name="no_results">Ingen søkjeresultat</string>
|
||||
<string name="no_url_handler">Ingen behandlar for denne adressa.</string>
|
||||
<string name="open_recent">Opna nyleg brukt database (klikk for å opna)</string>
|
||||
<string name="omitbackup_title">Søk ikkje i kopipostane eller søppelbøtta</string>
|
||||
<string name="omitbackup_summary">Søkjeresultatet inneheld ikkje oppføringar frå \'Backup\' eller søppelbøtta</string>
|
||||
<string name="pass_filename">Filnamnet til KeePass-databasen</string>
|
||||
<string name="password_title">Skriv databasepassordet</string>
|
||||
<string name="progress_create">Lager ny database …</string>
|
||||
<string name="progress_title">Arbeider …</string>
|
||||
<string name="remember_keyfile_summary">Hugsar staden til nøkkelfilene</string>
|
||||
<string name="remember_keyfile_title">Lagra nøkkelfila</string>
|
||||
<string name="remove_from_filelist">Ta vekk</string>
|
||||
<string name="root">Rot</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_hint">omgangar</string>
|
||||
<string name="saving_database">Lagrar databasen …</string>
|
||||
<string name="space">Mellomrom</string>
|
||||
<string name="search_label">Søk</string>
|
||||
<string name="show_password">Syn passordet</string>
|
||||
<string name="sort_name">Sorter etter namn</string>
|
||||
<string name="sort_db">DB-sortering</string>
|
||||
<string name="special">Spesial</string>
|
||||
<string name="underline">Understreking</string>
|
||||
<string name="unsupported_db_version">Kan ikkje bruka databaseutgåva.</string>
|
||||
<string name="uppercase">Store bokstavar</string>
|
||||
<string name="warning_read_only">SD-kortet ditt kan berre lesast. Det kan vera at du ikkje kan lagra endringar i databasen.</string>
|
||||
<string name="warning_unmounted">SD-kortet er ikkje montert i eininga di. Du kan verken henta eller laga databasen din.</string>
|
||||
<string name="version_label">Utgåve</string>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 sekund</item>
|
||||
<item>1 minutt</item>
|
||||
<item>5 minutt</item>
|
||||
<item>Aldri</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Liten</item>
|
||||
<item>Middels</item>
|
||||
<item>Stor</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-pt-rPT/strings.xml
Normal file
20
src/keepass2android/Resources/values-pt-rPT/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-ro/strings.xml
Normal file
20
src/keepass2android/Resources/values-ro/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-sl/strings.xml
Normal file
20
src/keepass2android/Resources/values-sl/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-sr/strings.xml
Normal file
20
src/keepass2android/Resources/values-sr/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-sv/strings.xml
Normal file
20
src/keepass2android/Resources/values-sv/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-tr/strings.xml
Normal file
20
src/keepass2android/Resources/values-tr/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
20
src/keepass2android/Resources/values-vi/strings.xml
Normal file
20
src/keepass2android/Resources/values-vi/strings.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
<item>5 minutes</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
<string-array name="list_size_options">
|
||||
<item>Small</item>
|
||||
<item>Medium</item>
|
||||
<item>Large</item>
|
||||
</string-array>
|
||||
<string-array name="cred_remember_modes">
|
||||
<item>Do not remember username and password</item>
|
||||
<item>Remember username only</item>
|
||||
<item>Remember username and password</item>
|
||||
</string-array>
|
||||
</resources>
|
@ -128,6 +128,8 @@
|
||||
<string name="menu_url">Go to URL</string>
|
||||
<string name="minus">Minus</string>
|
||||
<string name="never">Never</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="no_keys">No entries in the database or group.</string>
|
||||
<string name="no_results">No search results</string>
|
||||
<string name="no_url_handler">No handler for this url.</string>
|
||||
@ -207,6 +209,9 @@
|
||||
<string name="AskOverwriteBinary_no">Rename</string>
|
||||
<string name="AttachFailed">Failed to add file attachment.</string>
|
||||
<string name="RecycleBin">Recycle Bin</string>
|
||||
<string name="AskDeletePermanentlyEntry">Do you want to delete this entry permanently? Press No to recycle.</string>
|
||||
<string name="AskDeletePermanentlyGroup">Do you want to delete this group permanently? Press No to recycle.</string>
|
||||
<string name="AskDeletePermanently_title">Delete permanently?</string>
|
||||
<string-array name="clipboard_timeout_options">
|
||||
<item>30 seconds</item>
|
||||
<item>1 minute</item>
|
||||
|
@ -40,6 +40,11 @@ namespace keepass2android
|
||||
this.actionToPerform = actionToPerform;
|
||||
}
|
||||
|
||||
public ActionOnFinish(ActionToPerformOnFinsh actionToPerform, OnFinish finish) : base(finish)
|
||||
{
|
||||
this.actionToPerform = actionToPerform;
|
||||
}
|
||||
|
||||
public ActionOnFinish(ActionToPerformOnFinsh actionToPerform, Handler handler) : base(handler)
|
||||
{
|
||||
this.actionToPerform = actionToPerform;
|
||||
|
@ -30,11 +30,9 @@ using KeePassLib;
|
||||
|
||||
namespace keepass2android
|
||||
{
|
||||
public class DeleteEntry : RunnableOnFinish {
|
||||
public class DeleteEntry : DeleteRunnable {
|
||||
|
||||
private Database mDb;
|
||||
private PwEntry mEntry;
|
||||
private Context mCtx;
|
||||
|
||||
public DeleteEntry(Context ctx, Database db, PwEntry entry, OnFinish finish):base(finish) {
|
||||
mCtx = ctx;
|
||||
@ -43,12 +41,27 @@ namespace keepass2android
|
||||
|
||||
}
|
||||
|
||||
public override bool CanRecycle
|
||||
{
|
||||
get
|
||||
{
|
||||
return CanRecycleGroup(mEntry.ParentGroup);
|
||||
}
|
||||
}
|
||||
|
||||
protected override int QuestionsResourceId
|
||||
{
|
||||
get
|
||||
{
|
||||
return Resource.String.AskDeletePermanentlyEntry;
|
||||
}
|
||||
}
|
||||
|
||||
public override void run() {
|
||||
|
||||
PwDatabase pd = mDb.pm;
|
||||
|
||||
PwGroup pgRecycleBin = pd.RootGroup.FindGroup(pd.RecycleBinUuid, true);
|
||||
bool bShiftPressed = false;
|
||||
|
||||
bool bUpdateGroupList = false;
|
||||
DateTime dtNow = DateTime.Now;
|
||||
@ -58,37 +71,50 @@ namespace keepass2android
|
||||
{
|
||||
pgParent.Entries.Remove(pe);
|
||||
|
||||
bool bPermanent = true;
|
||||
if(pd.RecycleBinEnabled == false) bPermanent = true;
|
||||
else if(bShiftPressed) bPermanent = true;
|
||||
else if(pgRecycleBin == null) { } // Recycle
|
||||
else if(pgParent == pgRecycleBin) bPermanent = true;
|
||||
else if(pgParent.IsContainedIn(pgRecycleBin)) bPermanent = true;
|
||||
|
||||
if(bPermanent)
|
||||
if ((DeletePermanently) || (!CanRecycle))
|
||||
{
|
||||
/* TODO KP Desktop
|
||||
if(!MessageService.AskYesNo(bSingle ? KPRes.DeleteEntriesQuestionSingle :
|
||||
KPRes.DeleteEntriesQuestion, bSingle ? KPRes.DeleteEntriesTitleSingle :
|
||||
KPRes.DeleteEntriesTitle))
|
||||
return;
|
||||
*/
|
||||
|
||||
|
||||
PwDeletedObject pdo = new PwDeletedObject(pe.Uuid, dtNow);
|
||||
pd.DeletedObjects.Add(pdo);
|
||||
|
||||
mFinish = new ActionOnFinish( (success, message) =>
|
||||
{
|
||||
if ( success ) {
|
||||
// Mark parent dirty
|
||||
if ( pgParent != null ) {
|
||||
mDb.dirty.Add(pgParent);
|
||||
}
|
||||
} else {
|
||||
// Let's not bother recovering from a failure to save a deleted entry. It is too much work.
|
||||
App.setShutdown();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
else // Recycle
|
||||
{
|
||||
DeleteGroup.EnsureRecycleBin(ref pgRecycleBin, pd, ref bUpdateGroupList, mCtx);
|
||||
EnsureRecycleBin(ref pgRecycleBin, ref bUpdateGroupList);
|
||||
|
||||
pgRecycleBin.AddEntry(pe, true, true);
|
||||
pe.Touch(false);
|
||||
|
||||
mFinish = new ActionOnFinish( (success, message) =>
|
||||
{
|
||||
if ( success ) {
|
||||
// Mark previous parent dirty
|
||||
if ( pgParent != null ) {
|
||||
mDb.dirty.Add(pgParent);
|
||||
}
|
||||
// Mark new parent dirty
|
||||
mDb.dirty.Add(pgRecycleBin);
|
||||
} else {
|
||||
// Let's not bother recovering from a failure to save a deleted entry. It is too much work.
|
||||
App.setShutdown();
|
||||
}
|
||||
|
||||
// Save
|
||||
mFinish = new AfterDelete(mFinish, pgParent, mEntry, mDb);
|
||||
}, this.mFinish);
|
||||
}
|
||||
}
|
||||
|
||||
// Commit database
|
||||
SaveDB save = new SaveDB(mCtx, mDb, mFinish, false);
|
||||
@ -97,36 +123,6 @@ namespace keepass2android
|
||||
|
||||
}
|
||||
|
||||
private class AfterDelete : OnFinish {
|
||||
|
||||
private PwGroup mParent;
|
||||
private PwEntry mEntry;
|
||||
Database mDb;
|
||||
|
||||
public AfterDelete(OnFinish finish, PwGroup parent, PwEntry entry, Database db):base(finish) {
|
||||
mParent = parent;
|
||||
mEntry = entry;
|
||||
mDb = db;
|
||||
}
|
||||
|
||||
public override void run() {
|
||||
if ( mSuccess ) {
|
||||
// Mark parent dirty
|
||||
if ( mParent != null ) {
|
||||
mDb.dirty.Add(mParent);
|
||||
}
|
||||
} else {
|
||||
// Let's not bother recovering from a failure to save a deleted entry. It is too much work.
|
||||
App.setShutdown();
|
||||
|
||||
}
|
||||
|
||||
base.run();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -31,13 +31,11 @@ using KeePassLib;
|
||||
namespace keepass2android
|
||||
{
|
||||
|
||||
public class DeleteGroup : RunnableOnFinish {
|
||||
public class DeleteGroup : DeleteRunnable {
|
||||
|
||||
private Database mDb;
|
||||
private PwGroup mGroup;
|
||||
private GroupBaseActivity mAct;
|
||||
private bool mDontSave;
|
||||
private Context mCtx;
|
||||
protected bool mDontSave;
|
||||
|
||||
public DeleteGroup(Context ctx, Database db, PwGroup group, GroupBaseActivity act, OnFinish finish):base(finish) {
|
||||
setMembers(ctx, db, group, act, false);
|
||||
@ -47,22 +45,34 @@ namespace keepass2android
|
||||
setMembers(ctx, db, group, act, dontSave);
|
||||
}
|
||||
|
||||
|
||||
public DeleteGroup(Context ctx, Database db, PwGroup group, OnFinish finish, bool dontSave):base(finish) {
|
||||
setMembers(ctx, db, group, null, dontSave);
|
||||
}
|
||||
|
||||
private void setMembers(Context ctx, Database db, PwGroup group, GroupBaseActivity act, bool dontSave) {
|
||||
mCtx = ctx;
|
||||
mDb = db;
|
||||
base.setMembers(ctx, db);
|
||||
|
||||
mGroup = group;
|
||||
mAct = act;
|
||||
mDontSave = dontSave;
|
||||
|
||||
mFinish = new AfterDelete(mFinish, mDb, mGroup);
|
||||
}
|
||||
|
||||
public override bool CanRecycle
|
||||
{
|
||||
get
|
||||
{
|
||||
return CanRecycleGroup(mGroup);
|
||||
}
|
||||
}
|
||||
|
||||
protected override int QuestionsResourceId
|
||||
{
|
||||
get
|
||||
{
|
||||
return Resource.String.AskDeletePermanentlyGroup;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override void run() {
|
||||
@ -73,43 +83,39 @@ namespace keepass2android
|
||||
|
||||
PwDatabase pd = mDb.pm;
|
||||
PwGroup pgRecycleBin = pd.RootGroup.FindGroup(pd.RecycleBinUuid, true);
|
||||
bool bShiftPressed = false;
|
||||
|
||||
bool bPermanent = true; //indicates whether we delete permanently or not
|
||||
//TODO use settings to enable Recycle Bin App-wide?
|
||||
if(pd.RecycleBinEnabled == false) bPermanent = true;
|
||||
else if(bShiftPressed) bPermanent = true;
|
||||
else if(pgRecycleBin == null) { }
|
||||
else if(pg == pgRecycleBin) bPermanent = true;
|
||||
else if(pg.IsContainedIn(pgRecycleBin)) bPermanent = true;
|
||||
else if(pgRecycleBin.IsContainedIn(pg)) bPermanent = true;
|
||||
|
||||
if(bPermanent)
|
||||
{
|
||||
/* TODO KPDesktop?
|
||||
string strText = KPRes.DeleteGroupInfo + MessageService.NewParagraph +
|
||||
KPRes.DeleteGroupQuestion;
|
||||
if(!MessageService.AskYesNo(strText, KPRes.DeleteGroupTitle))
|
||||
return;
|
||||
*/
|
||||
}
|
||||
|
||||
pgParent.Groups.Remove(pg);
|
||||
|
||||
if(bPermanent)
|
||||
if ((DeletePermanently) || (!CanRecycle))
|
||||
{
|
||||
pg.DeleteAllObjects(pd);
|
||||
|
||||
PwDeletedObject pdo = new PwDeletedObject(pg.Uuid, DateTime.Now);
|
||||
pd.DeletedObjects.Add(pdo);
|
||||
mFinish = new AfterDeletePermanently(mFinish, mDb, mGroup);
|
||||
}
|
||||
else // Recycle
|
||||
{
|
||||
bool bDummy = false;
|
||||
EnsureRecycleBin(ref pgRecycleBin, pd, ref bDummy, mCtx);
|
||||
EnsureRecycleBin(ref pgRecycleBin, ref bDummy);
|
||||
|
||||
pgRecycleBin.AddGroup(pg, true, true);
|
||||
pg.Touch(false);
|
||||
mFinish = new ActionOnFinish((success, message) =>
|
||||
{
|
||||
if ( success ) {
|
||||
// Mark new parent (Recycle bin) dirty
|
||||
PwGroup parent = mGroup.ParentGroup;
|
||||
if ( parent != null ) {
|
||||
mDb.dirty.Add(parent);
|
||||
}
|
||||
//Mark old parent dirty:
|
||||
mDb.dirty.Add(pgParent);
|
||||
} else {
|
||||
// Let's not bother recovering from a failure to save a deleted group. It is too much work.
|
||||
App.setShutdown();
|
||||
}
|
||||
}, this.mFinish);
|
||||
}
|
||||
|
||||
// Save
|
||||
@ -118,39 +124,13 @@ namespace keepass2android
|
||||
|
||||
}
|
||||
|
||||
public static void EnsureRecycleBin(ref PwGroup pgRecycleBin,
|
||||
PwDatabase pdContext, ref bool bGroupListUpdateRequired, Context ctx)
|
||||
{
|
||||
if(pdContext == null) { return; }
|
||||
|
||||
if(pgRecycleBin == pdContext.RootGroup)
|
||||
{
|
||||
pgRecycleBin = null;
|
||||
}
|
||||
|
||||
if(pgRecycleBin == null)
|
||||
{
|
||||
pgRecycleBin = new PwGroup(true, true, ctx.GetString(Resource.String.RecycleBin),
|
||||
PwIcon.TrashBin);
|
||||
pgRecycleBin.EnableAutoType = false;
|
||||
pgRecycleBin.EnableSearching = false;
|
||||
pgRecycleBin.IsExpanded = false;
|
||||
pdContext.RootGroup.AddGroup(pgRecycleBin, true);
|
||||
|
||||
pdContext.RecycleBinUuid = pgRecycleBin.Uuid;
|
||||
|
||||
bGroupListUpdateRequired = true;
|
||||
}
|
||||
else { System.Diagnostics.Debug.Assert(pgRecycleBin.Uuid.EqualsValue(pdContext.RecycleBinUuid)); }
|
||||
}
|
||||
|
||||
|
||||
private class AfterDelete : OnFinish {
|
||||
private class AfterDeletePermanently : OnFinish {
|
||||
Database mDb;
|
||||
|
||||
PwGroup mGroup;
|
||||
|
||||
public AfterDelete(OnFinish finish, Database db, PwGroup group):base(finish) {
|
||||
public AfterDeletePermanently(OnFinish finish, Database db, PwGroup group):base(finish) {
|
||||
this.mDb = db;
|
||||
this.mGroup = group;
|
||||
}
|
||||
@ -160,7 +140,7 @@ namespace keepass2android
|
||||
// Remove from group global
|
||||
mDb.groups.Remove(mGroup.Uuid);
|
||||
|
||||
// Remove group from the dirty global (if it is present), not a big deal if this fails
|
||||
// Remove group from the dirty global (if it is present), not a big deal if this fails (doesn't throw)
|
||||
mDb.dirty.Remove(mGroup);
|
||||
|
||||
// Mark parent dirty
|
||||
|
146
src/keepass2android/database/edit/DeleteRunnable.cs
Normal file
146
src/keepass2android/database/edit/DeleteRunnable.cs
Normal file
@ -0,0 +1,146 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using KeePassLib;
|
||||
|
||||
namespace keepass2android
|
||||
{
|
||||
public abstract class DeleteRunnable : RunnableOnFinish
|
||||
{
|
||||
public DeleteRunnable(OnFinish finish):base(finish)
|
||||
{
|
||||
}
|
||||
|
||||
protected Database mDb;
|
||||
|
||||
protected Context mCtx;
|
||||
|
||||
protected void setMembers(Context ctx, Database db)
|
||||
{
|
||||
mCtx = ctx;
|
||||
mDb = db;
|
||||
}
|
||||
|
||||
|
||||
private bool mDeletePermanently = true;
|
||||
|
||||
public bool DeletePermanently
|
||||
{
|
||||
get
|
||||
{
|
||||
return mDeletePermanently;
|
||||
}
|
||||
set
|
||||
{
|
||||
mDeletePermanently = value;
|
||||
}
|
||||
}
|
||||
|
||||
public abstract bool CanRecycle
|
||||
{
|
||||
get;
|
||||
}
|
||||
|
||||
protected bool CanRecycleGroup(PwGroup pgParent)
|
||||
{
|
||||
bool bShiftPressed = false;
|
||||
PwDatabase pd = mDb.pm;
|
||||
PwGroup pgRecycleBin = pd.RootGroup.FindGroup(pd.RecycleBinUuid, true);
|
||||
bool bPermanent = false;
|
||||
if (pgParent != null)
|
||||
{
|
||||
if (pd.RecycleBinEnabled == false)
|
||||
bPermanent = true;
|
||||
else if (bShiftPressed)
|
||||
bPermanent = true;
|
||||
else if (pgRecycleBin == null)
|
||||
{
|
||||
} // Recycle
|
||||
else if (pgParent == pgRecycleBin)
|
||||
bPermanent = true;
|
||||
else if (pgParent.IsContainedIn(pgRecycleBin))
|
||||
bPermanent = true;
|
||||
}
|
||||
return !bPermanent;
|
||||
}
|
||||
|
||||
|
||||
protected void EnsureRecycleBin(ref PwGroup pgRecycleBin,
|
||||
ref bool bGroupListUpdateRequired)
|
||||
{
|
||||
if ((mDb == null) || (mDb.pm == null)) { return; }
|
||||
|
||||
if(pgRecycleBin == mDb.pm.RootGroup)
|
||||
{
|
||||
pgRecycleBin = null;
|
||||
}
|
||||
|
||||
if(pgRecycleBin == null)
|
||||
{
|
||||
pgRecycleBin = new PwGroup(true, true, mCtx.GetString(Resource.String.RecycleBin),
|
||||
PwIcon.TrashBin);
|
||||
pgRecycleBin.EnableAutoType = false;
|
||||
pgRecycleBin.EnableSearching = false;
|
||||
pgRecycleBin.IsExpanded = false;
|
||||
mDb.pm.RootGroup.AddGroup(pgRecycleBin, true);
|
||||
|
||||
mDb.pm.RecycleBinUuid = pgRecycleBin.Uuid;
|
||||
|
||||
bGroupListUpdateRequired = true;
|
||||
}
|
||||
else { System.Diagnostics.Debug.Assert(pgRecycleBin.Uuid.EqualsValue(mDb.pm.RecycleBinUuid)); }
|
||||
}
|
||||
|
||||
protected abstract int QuestionsResourceId
|
||||
{
|
||||
get;
|
||||
}
|
||||
|
||||
public void start()
|
||||
{
|
||||
if (CanRecycle)
|
||||
{
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(mCtx);
|
||||
builder.SetTitle(mCtx.GetString(Resource.String.AskDeletePermanently_title));
|
||||
|
||||
builder.SetMessage(mCtx.GetString(QuestionsResourceId));
|
||||
|
||||
builder.SetPositiveButton(Resource.String.yes, new EventHandler<DialogClickEventArgs>((dlgSender, dlgEvt) =>
|
||||
{
|
||||
DeletePermanently = true;
|
||||
ProgressTask pt = new ProgressTask(mCtx, this, Resource.String.saving_database);
|
||||
pt.run();
|
||||
}));
|
||||
|
||||
builder.SetNegativeButton(Resource.String.no, new EventHandler<DialogClickEventArgs>((dlgSender, dlgEvt) => {
|
||||
DeletePermanently = false;
|
||||
ProgressTask pt = new ProgressTask(mCtx, this, Resource.String.saving_database);
|
||||
pt.run();
|
||||
}));
|
||||
|
||||
builder.SetNeutralButton(mCtx.GetString(Android.Resource.String.Cancel),
|
||||
new EventHandler<DialogClickEventArgs>((dlgSender, dlgEvt) => {}));
|
||||
|
||||
Dialog dialog = builder.Create();
|
||||
dialog.Show();
|
||||
|
||||
|
||||
} else
|
||||
{
|
||||
ProgressTask pt = new ProgressTask(mCtx, this, Resource.String.saving_database);
|
||||
pt.run();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -157,6 +157,7 @@
|
||||
<Compile Include="LifecycleDebugActivity.cs" />
|
||||
<Compile Include="services\QuickUnlockForegroundService.cs" />
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
<Compile Include="database\edit\DeleteRunnable.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\AboutResources.txt" />
|
||||
@ -201,6 +202,63 @@
|
||||
<None Include="todos.cs">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="UseManifestNet.bat">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="UseManifestNoNet.bat">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Properties\AndroidManifest_net.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Properties\AndroidManifest_nonet.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-af\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-ar\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-el\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-fi\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-in\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-iw\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-ko\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-no\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-pt-rPT\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-ro\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-sl\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-sr\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-sv\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-tr\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
<None Include="Resources\values-vi\strings.xml">
|
||||
<Visible>False</Visible>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\ic00.png" />
|
||||
|
@ -14,7 +14,6 @@ This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Keepass2Android. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@ -32,14 +31,13 @@ using Android.Text.Style;
|
||||
|
||||
namespace keepass2android.view
|
||||
{
|
||||
|
||||
public class PwEntryView : ClickView {
|
||||
public class PwEntryView : ClickView
|
||||
{
|
||||
|
||||
protected GroupBaseActivity mAct;
|
||||
protected PwEntry mPw;
|
||||
private TextView mTv;
|
||||
private int mPos;
|
||||
|
||||
protected const int MENU_OPEN = Menu.First;
|
||||
private const int MENU_DELETE = MENU_OPEN + 1;
|
||||
|
||||
@ -49,17 +47,18 @@ namespace keepass2android.view
|
||||
|
||||
}
|
||||
|
||||
public PwEntryView (IntPtr javaReference, JniHandleOwnership transfer)
|
||||
public PwEntryView(IntPtr javaReference, JniHandleOwnership transfer)
|
||||
: base(javaReference, transfer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected PwEntryView(GroupBaseActivity act, PwEntry pw, int pos):base(act) {
|
||||
protected PwEntryView(GroupBaseActivity act, PwEntry pw, int pos):base(act)
|
||||
{
|
||||
mAct = act;
|
||||
|
||||
View ev = View.Inflate(mAct, Resource.Layout.entry_list_entry, null);
|
||||
mTv = (TextView) ev.FindViewById(Resource.Id.entry_text);
|
||||
mTv = (TextView)ev.FindViewById(Resource.Id.entry_text);
|
||||
mTv.TextSize = PrefsUtil.getListTextSize(act);
|
||||
|
||||
populateView(ev, pw, pos);
|
||||
@ -70,19 +69,19 @@ namespace keepass2android.view
|
||||
|
||||
}
|
||||
|
||||
private void populateView (View ev, PwEntry pw, int pos)
|
||||
private void populateView(View ev, PwEntry pw, int pos)
|
||||
{
|
||||
mPw = pw;
|
||||
mPos = pos;
|
||||
|
||||
ImageView iv = (ImageView)ev.FindViewById (Resource.Id.entry_icon);
|
||||
ImageView iv = (ImageView)ev.FindViewById(Resource.Id.entry_icon);
|
||||
bool isExpired = pw.Expires && pw.ExpiryTime < DateTime.Now;
|
||||
if (isExpired) {
|
||||
App.getDB ().drawFactory.assignDrawableTo (iv, Resources, App.getDB ().pm, PwIcon.Expired, PwUuid.Zero);
|
||||
}
|
||||
else
|
||||
if (isExpired)
|
||||
{
|
||||
App.getDB ().drawFactory.assignDrawableTo (iv, Resources, App.getDB ().pm, pw.IconId, pw.CustomIconUuid);
|
||||
App.getDB().drawFactory.assignDrawableTo(iv, Resources, App.getDB().pm, PwIcon.Expired, PwUuid.Zero);
|
||||
} else
|
||||
{
|
||||
App.getDB().drawFactory.assignDrawableTo(iv, Resources, App.getDB().pm, pw.IconId, pw.CustomIconUuid);
|
||||
}
|
||||
|
||||
String title = pw.Strings.ReadSafe(PwDefs.TitleField);
|
||||
@ -97,27 +96,32 @@ namespace keepass2android.view
|
||||
|
||||
}
|
||||
|
||||
public void convertView(PwEntry pw, int pos) {
|
||||
public void convertView(PwEntry pw, int pos)
|
||||
{
|
||||
populateView(this, pw, pos);
|
||||
}
|
||||
|
||||
|
||||
public override void OnClick() {
|
||||
public override void OnClick()
|
||||
{
|
||||
launchEntry();
|
||||
}
|
||||
|
||||
private void launchEntry() {
|
||||
mAct.LaunchActivityForEntry(mPw,mPos);
|
||||
private void launchEntry()
|
||||
{
|
||||
mAct.LaunchActivityForEntry(mPw, mPos);
|
||||
|
||||
}
|
||||
|
||||
public override void OnCreateMenu(IContextMenu menu, IContextMenuContextMenuInfo menuInfo) {
|
||||
public override void OnCreateMenu(IContextMenu menu, IContextMenuContextMenuInfo menuInfo)
|
||||
{
|
||||
menu.Add(0, MENU_OPEN, 0, Resource.String.menu_open);
|
||||
menu.Add(0, MENU_DELETE, 0, Resource.String.menu_delete);
|
||||
}
|
||||
|
||||
public override bool OnContextItemSelected(IMenuItem item) {
|
||||
switch ( item.ItemId) {
|
||||
public override bool OnContextItemSelected(IMenuItem item)
|
||||
{
|
||||
switch (item.ItemId)
|
||||
{
|
||||
|
||||
case MENU_OPEN:
|
||||
launchEntry();
|
||||
@ -125,8 +129,7 @@ namespace keepass2android.view
|
||||
case MENU_DELETE:
|
||||
Handler handler = new Handler();
|
||||
DeleteEntry task = new DeleteEntry(Context, App.getDB(), mPw, new GroupBaseActivity.RefreshTask(handler, mAct));
|
||||
ProgressTask pt = new ProgressTask(mAct, task, Resource.String.saving_database);
|
||||
pt.run();
|
||||
task.start();
|
||||
return true;
|
||||
|
||||
default:
|
||||
|
@ -108,8 +108,7 @@ namespace keepass2android.view
|
||||
case MENU_DELETE:
|
||||
Handler handler = new Handler();
|
||||
DeleteGroup task = new DeleteGroup(Context, App.getDB(), mPw, mAct, new GroupBaseActivity.AfterDeleteGroup(handler, mAct));
|
||||
ProgressTask pt = new ProgressTask(mAct, task, Resource.String.saving_database);
|
||||
pt.run();
|
||||
task.start();
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user