diff --git a/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj b/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj index 034a41cd..255fa70e 100644 --- a/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj +++ b/src/Kp2aBusinessLogic/Kp2aBusinessLogic.csproj @@ -52,6 +52,7 @@ + diff --git a/src/Kp2aBusinessLogic/database/edit/EditGroup.cs b/src/Kp2aBusinessLogic/database/edit/EditGroup.cs new file mode 100644 index 00000000..0cf41181 --- /dev/null +++ b/src/Kp2aBusinessLogic/database/edit/EditGroup.cs @@ -0,0 +1,92 @@ +/* +This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file is based on Keepassdroid, Copyright Brian Pellin. + + Keepass2Android 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 2 of the License, or + (at your option) any later version. + + Keepass2Android 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 Keepass2Android. If not, see . + */ + +using System; +using Android.Content; +using KeePassLib; + +namespace keepass2android +{ + + public class EditGroup : RunnableOnFinish { + internal Database Db + { + get { return _app.GetDb(); } + } + private IKp2aApp _app; + private readonly String _name; + private readonly PwIcon _iconId; + private readonly PwUuid _customIconId; + internal PwGroup Group; + readonly Context _ctx; + + public EditGroup(Context ctx, IKp2aApp app, String name, PwIcon iconid, PwUuid customIconId, PwGroup group, OnFinish finish) + : base(finish) + { + _ctx = ctx; + _name = name; + _iconId = iconid; + Group = group; + _customIconId = customIconId; + _app = app; + + _onFinishToRun = new AfterEdit(this, OnFinishToRun); + } + + + public override void Run() { + // modify group: + Group.Name = _name; + Group.IconId = _iconId; + Group.CustomIconUuid = _customIconId; + + // Commit to disk + SaveDb save = new SaveDb(_ctx, _app, OnFinishToRun); + save.SetStatusLogger(StatusLogger); + save.Run(); + } + + private class AfterEdit : OnFinish { + readonly EditGroup _editGroup; + + public AfterEdit(EditGroup editGroup, OnFinish finish) + : base(finish) + { + _editGroup = editGroup; + } + + + public override void Run() { + + if ( Success ) { + // Mark parent group dirty + _editGroup.Db.Dirty.Add(_editGroup.Group.ParentGroup); + } else + { + _editGroup._app.LockDatabase(false); + } + + base.Run(); + } + + } + + + } + +} + diff --git a/src/keepass2android/GroupActivity.cs b/src/keepass2android/GroupActivity.cs index 97ee823d..d6f4b7e6 100644 --- a/src/keepass2android/GroupActivity.cs +++ b/src/keepass2android/GroupActivity.cs @@ -164,21 +164,12 @@ namespace keepass2android { switch (resultCode) { - case Result.Ok: - String groupName = data.Extras.GetString(GroupEditActivity.KeyName); - int groupIconId = data.Extras.GetInt(GroupEditActivity.KeyIconId); - GroupBaseActivity act = this; - Handler handler = new Handler(); - AddGroup task = AddGroup.GetInstance(this, App.Kp2a, groupName, groupIconId, Group, new RefreshTask(handler, this), false); - ProgressTask pt = new ProgressTask(App.Kp2a, act, task); - pt.Run(); - break; - case Result.Canceled: - break; - default: - base.OnActivityResult(requestCode, resultCode, data); - break; + case Result.Canceled: + break; + default: + base.OnActivityResult(requestCode, resultCode, data); + break; } } } diff --git a/src/keepass2android/GroupBaseActivity.cs b/src/keepass2android/GroupBaseActivity.cs index 40275b91..4a5cadc1 100644 --- a/src/keepass2android/GroupBaseActivity.cs +++ b/src/keepass2android/GroupBaseActivity.cs @@ -71,6 +71,30 @@ namespace keepass2android AppTask.TryGetFromActivityResult(data, ref AppTask); + if (resultCode == Result.Ok) + { + String groupName = data.Extras.GetString(GroupEditActivity.KeyName); + int groupIconId = data.Extras.GetInt(GroupEditActivity.KeyIconId); + PwUuid groupCustomIconId = + new PwUuid(MemUtil.HexStringToByteArray(data.Extras.GetString(GroupEditActivity.KeyCustomIconId))); + String strGroupUuid = data.Extras.GetString(GroupEditActivity.KeyGroupUuid); + GroupBaseActivity act = this; + Handler handler = new Handler(); + RunnableOnFinish task; + if (strGroupUuid == null) + { + task = AddGroup.GetInstance(this, App.Kp2a, groupName, groupIconId, Group, new RefreshTask(handler, this), false); + } + else + { + PwUuid groupUuid = new PwUuid(MemUtil.HexStringToByteArray(strGroupUuid)); + task = new EditGroup(this, App.Kp2a, groupName, (PwIcon) groupIconId, groupCustomIconId, App.Kp2a.GetDb().Groups[groupUuid], + new RefreshTask(handler, this)); + } + ProgressTask pt = new ProgressTask(App.Kp2a, act, task); + pt.Run(); + } + if (resultCode == KeePass.ExitCloseAfterTaskComplete) { AppTask.SetActivityResult(this, KeePass.ExitCloseAfterTaskComplete); @@ -491,6 +515,10 @@ namespace keepass2android } + public void EditGroup(PwGroup pwGroup) + { + GroupEditActivity.Launch(this, pwGroup.ParentGroup, pwGroup); + } } } diff --git a/src/keepass2android/GroupEditActivity.cs b/src/keepass2android/GroupEditActivity.cs index 0a406fd1..3459cd2d 100644 --- a/src/keepass2android/GroupEditActivity.cs +++ b/src/keepass2android/GroupEditActivity.cs @@ -21,6 +21,7 @@ using Android.Content; using Android.OS; using Android.Widget; using KeePassLib; +using KeePassLib.Utility; namespace keepass2android { @@ -30,25 +31,39 @@ namespace keepass2android public const String KeyParent = "parent"; public const String KeyName = "name"; public const String KeyIconId = "icon_id"; + public const String KeyCustomIconId = "custom_icon_id"; + public const string KeyGroupUuid = "group_uuid"; private int _selectedIconId; - - public static void Launch(Activity act, PwGroup pw) + private PwUuid _selectedCustomIconId = PwUuid.Zero; + private PwGroup _groupToEdit; + + public static void Launch(Activity act, PwGroup parentGroup) { Intent i = new Intent(act, typeof(GroupEditActivity)); - PwGroup parent = pw; + PwGroup parent = parentGroup; i.PutExtra(KeyParent, parent.Uuid.ToHexString()); act.StartActivityForResult(i, 0); } + + public static void Launch(Activity act, PwGroup parentGroup, PwGroup groupToEdit) + { + Intent i = new Intent(act, typeof(GroupEditActivity)); + + PwGroup parent = parentGroup; + i.PutExtra(KeyParent, parent.Uuid.ToHexString()); + i.PutExtra(KeyGroupUuid, groupToEdit.Uuid.ToHexString()); + + act.StartActivityForResult(i, 0); + } protected override void OnCreate (Bundle savedInstanceState) { base.OnCreate (savedInstanceState); SetContentView (Resource.Layout.group_edit); - SetTitle (Resource.String.add_group_title); - + ImageButton iconButton = (ImageButton)FindViewById (Resource.Id.icon_button); iconButton.Click += (sender, e) => { @@ -67,6 +82,10 @@ namespace keepass2android intent.PutExtra (KeyName, name); intent.PutExtra (KeyIconId, _selectedIconId); + intent.PutExtra(KeyCustomIconId, MemUtil.ByteArrayToHexString(_selectedCustomIconId.UuidBytes)); + if (_groupToEdit != null) + intent.PutExtra(KeyGroupUuid, MemUtil.ByteArrayToHexString(_groupToEdit.Uuid.UuidBytes)); + SetResult (Result.Ok, intent); Finish (); @@ -74,6 +93,23 @@ namespace keepass2android Toast.MakeText (this, Resource.String.error_no_name, ToastLength.Long).Show (); } }; + + if (Intent.HasExtra(KeyGroupUuid)) + { + string groupUuid = Intent.Extras.GetString(KeyGroupUuid); + _groupToEdit = App.Kp2a.GetDb().Groups[new PwUuid(MemUtil.HexStringToByteArray(groupUuid))]; + _selectedIconId = (int) _groupToEdit.IconId; + _selectedCustomIconId = _groupToEdit.CustomIconUuid; + TextView nameField = (TextView)FindViewById(Resource.Id.group_name); + nameField.Text = _groupToEdit.Name; + App.Kp2a.GetDb().DrawableFactory.AssignDrawableTo(iconButton, Resources, App.Kp2a.GetDb().KpDatabase, _groupToEdit.IconId, _groupToEdit.CustomIconUuid); + SetTitle(Resource.String.edit_group_title); + } + else + { + SetTitle(Resource.String.add_group_title); + } + Button cancel = (Button)FindViewById (Resource.Id.cancel); @@ -89,11 +125,12 @@ namespace keepass2android { switch ((int)resultCode) { - case EntryEditActivity.ResultOkIconPicker: - _selectedIconId = data.Extras.GetInt(IconPickerActivity.KeyIconId); - ImageButton currIconButton = (ImageButton) FindViewById(Resource.Id.icon_button); - currIconButton.SetImageResource(Icons.IconToResId((PwIcon)_selectedIconId)); - break; + case EntryEditActivity.ResultOkIconPicker: + _selectedIconId = data.Extras.GetInt(IconPickerActivity.KeyIconId); + _selectedCustomIconId = PwUuid.Zero; + ImageButton currIconButton = (ImageButton) FindViewById(Resource.Id.icon_button); + currIconButton.SetImageResource(Icons.IconToResId((PwIcon)_selectedIconId)); + break; } } } diff --git a/src/keepass2android/Resources/Resource.designer.cs b/src/keepass2android/Resources/Resource.designer.cs index 3cd01c77..0765b66e 100644 --- a/src/keepass2android/Resources/Resource.designer.cs +++ b/src/keepass2android/Resources/Resource.designer.cs @@ -1272,47 +1272,47 @@ namespace keepass2android // aapt resource value: 0x7f080037 public const int AboutText = 2131230775; - // aapt resource value: 0x7f080134 - public const int AddingEntry = 2131231028; - // aapt resource value: 0x7f080135 - public const int AddingGroup = 2131231029; + public const int AddingEntry = 2131231029; - // aapt resource value: 0x7f08012a - public const int AskDeletePermanentlyEntry = 2131231018; + // aapt resource value: 0x7f080136 + public const int AddingGroup = 2131231030; // aapt resource value: 0x7f08012b - public const int AskDeletePermanentlyGroup = 2131231019; + public const int AskDeletePermanentlyEntry = 2131231019; // aapt resource value: 0x7f08012c - public const int AskDeletePermanently_title = 2131231020; - - // aapt resource value: 0x7f08012f - public const int AskDiscardChanges = 2131231023; - - // aapt resource value: 0x7f080130 - public const int AskDiscardChanges_title = 2131231024; - - // aapt resource value: 0x7f080124 - public const int AskOverwriteBinary = 2131231012; - - // aapt resource value: 0x7f080127 - public const int AskOverwriteBinary_no = 2131231015; - - // aapt resource value: 0x7f080125 - public const int AskOverwriteBinary_title = 2131231013; - - // aapt resource value: 0x7f080126 - public const int AskOverwriteBinary_yes = 2131231014; - - // aapt resource value: 0x7f08012e - public const int AskReloadFile = 2131231022; + public const int AskDeletePermanentlyGroup = 2131231020; // aapt resource value: 0x7f08012d - public const int AskReloadFile_title = 2131231021; + public const int AskDeletePermanently_title = 2131231021; + + // aapt resource value: 0x7f080130 + public const int AskDiscardChanges = 2131231024; + + // aapt resource value: 0x7f080131 + public const int AskDiscardChanges_title = 2131231025; + + // aapt resource value: 0x7f080125 + public const int AskOverwriteBinary = 2131231013; // aapt resource value: 0x7f080128 - public const int AttachFailed = 2131231016; + public const int AskOverwriteBinary_no = 2131231016; + + // aapt resource value: 0x7f080126 + public const int AskOverwriteBinary_title = 2131231014; + + // aapt resource value: 0x7f080127 + public const int AskOverwriteBinary_yes = 2131231015; + + // aapt resource value: 0x7f08012f + public const int AskReloadFile = 2131231023; + + // aapt resource value: 0x7f08012e + public const int AskReloadFile_title = 2131231022; + + // aapt resource value: 0x7f080129 + public const int AttachFailed = 2131231017; // aapt resource value: 0x7f080022 public const int BinaryDirectory_default = 2131230754; @@ -1320,152 +1320,152 @@ namespace keepass2android // aapt resource value: 0x7f080021 public const int BinaryDirectory_key = 2131230753; + // aapt resource value: 0x7f080101 + public const int BinaryDirectory_summary = 2131230977; + // aapt resource value: 0x7f080100 - public const int BinaryDirectory_summary = 2131230976; - - // aapt resource value: 0x7f0800ff - public const int BinaryDirectory_title = 2131230975; - - // aapt resource value: 0x7f080152 - public const int CannotMoveGroupHere = 2131231058; - - // aapt resource value: 0x7f08015c - public const int ChangeLog = 2131231068; - - // aapt resource value: 0x7f08015b - public const int ChangeLog_0_7 = 2131231067; - - // aapt resource value: 0x7f080159 - public const int ChangeLog_0_8 = 2131231065; - - // aapt resource value: 0x7f080158 - public const int ChangeLog_0_8_1 = 2131231064; - - // aapt resource value: 0x7f080157 - public const int ChangeLog_0_8_2 = 2131231063; - - // aapt resource value: 0x7f080156 - public const int ChangeLog_0_8_3 = 2131231062; - - // aapt resource value: 0x7f080155 - public const int ChangeLog_0_8_4 = 2131231061; - - // aapt resource value: 0x7f080154 - public const int ChangeLog_0_8_5 = 2131231060; - - // aapt resource value: 0x7f08015a - public const int ChangeLog_keptDonate = 2131231066; + public const int BinaryDirectory_title = 2131230976; // aapt resource value: 0x7f080153 - public const int ChangeLog_title = 2131231059; + public const int CannotMoveGroupHere = 2131231059; + + // aapt resource value: 0x7f08015d + public const int ChangeLog = 2131231069; + + // aapt resource value: 0x7f08015c + public const int ChangeLog_0_7 = 2131231068; + + // aapt resource value: 0x7f08015a + public const int ChangeLog_0_8 = 2131231066; + + // aapt resource value: 0x7f080159 + public const int ChangeLog_0_8_1 = 2131231065; + + // aapt resource value: 0x7f080158 + public const int ChangeLog_0_8_2 = 2131231064; + + // aapt resource value: 0x7f080157 + public const int ChangeLog_0_8_3 = 2131231063; + + // aapt resource value: 0x7f080156 + public const int ChangeLog_0_8_4 = 2131231062; + + // aapt resource value: 0x7f080155 + public const int ChangeLog_0_8_5 = 2131231061; + + // aapt resource value: 0x7f08015b + public const int ChangeLog_keptDonate = 2131231067; + + // aapt resource value: 0x7f080154 + public const int ChangeLog_title = 2131231060; // aapt resource value: 0x7f08002a public const int CheckForFileChangesOnSave_key = 2131230762; + // aapt resource value: 0x7f08011a + public const int CheckForFileChangesOnSave_summary = 2131231002; + // aapt resource value: 0x7f080119 - public const int CheckForFileChangesOnSave_summary = 2131231001; + public const int CheckForFileChangesOnSave_title = 2131231001; + + // aapt resource value: 0x7f08014a + public const int CheckingDatabaseForChanges = 2131231050; + + // aapt resource value: 0x7f08013e + public const int CheckingTargetFileForChanges = 2131231038; + + // aapt resource value: 0x7f08004d + public const int ClearClipboard = 2131230797; // aapt resource value: 0x7f080118 - public const int CheckForFileChangesOnSave_title = 2131231000; - - // aapt resource value: 0x7f080149 - public const int CheckingDatabaseForChanges = 2131231049; - - // aapt resource value: 0x7f08013d - public const int CheckingTargetFileForChanges = 2131231037; - - // aapt resource value: 0x7f08004c - public const int ClearClipboard = 2131230796; + public const int ClearOfflineCache_question = 2131231000; // aapt resource value: 0x7f080117 - public const int ClearOfflineCache_question = 2131230999; - - // aapt resource value: 0x7f080116 - public const int ClearOfflineCache_title = 2131230998; + public const int ClearOfflineCache_title = 2131230999; // aapt resource value: 0x7f08002e public const int CopyToClipboardNotification_key = 2131230766; - // aapt resource value: 0x7f08014b - public const int CouldNotLoadFromRemote = 2131231051; + // aapt resource value: 0x7f08014c + public const int CouldNotLoadFromRemote = 2131231052; - // aapt resource value: 0x7f08014a - public const int CouldNotSaveToRemote = 2131231050; + // aapt resource value: 0x7f08014b + public const int CouldNotSaveToRemote = 2131231051; // aapt resource value: 0x7f080038 public const int CreditsText = 2131230776; - // aapt resource value: 0x7f08013b - public const int DecodingDatabase = 2131231035; - - // aapt resource value: 0x7f080136 - public const int DeletingEntry = 2131231030; + // aapt resource value: 0x7f08013c + public const int DecodingDatabase = 2131231036; // aapt resource value: 0x7f080137 - public const int DeletingGroup = 2131231031; + public const int DeletingEntry = 2131231031; - // aapt resource value: 0x7f080144 - public const int DownloadingRemoteFile = 2131231044; + // aapt resource value: 0x7f080138 + public const int DeletingGroup = 2131231032; - // aapt resource value: 0x7f080085 - public const int FileNotFound = 2131230853; + // aapt resource value: 0x7f080145 + public const int DownloadingRemoteFile = 2131231045; - // aapt resource value: 0x7f080147 - public const int FilesInSync = 2131231047; + // aapt resource value: 0x7f080086 + public const int FileNotFound = 2131230854; - // aapt resource value: 0x7f080098 - public const int InvalidPassword = 2131230872; + // aapt resource value: 0x7f080148 + public const int FilesInSync = 2131231048; + + // aapt resource value: 0x7f080099 + public const int InvalidPassword = 2131230873; // aapt resource value: 0x7f080027 public const int LastInfoVersionCode_key = 2131230759; - // aapt resource value: 0x7f08014e - public const int LoadedFromRemoteInSync = 2131231054; + // aapt resource value: 0x7f08014f + public const int LoadedFromRemoteInSync = 2131231055; // aapt resource value: 0x7f08002b public const int MarketURL = 2131230763; - // aapt resource value: 0x7f0800a2 - public const int MaskedPassword = 2131230882; + // aapt resource value: 0x7f0800a3 + public const int MaskedPassword = 2131230883; - // aapt resource value: 0x7f08013f - public const int MessageSyncQuestion = 2131231039; + // aapt resource value: 0x7f080140 + public const int MessageSyncQuestion = 2131231040; - // aapt resource value: 0x7f080142 - public const int NoOverwrite = 2131231042; + // aapt resource value: 0x7f080143 + public const int NoOverwrite = 2131231043; - // aapt resource value: 0x7f08014d - public const int NotifyOpenFromLocalDueToConflict = 2131231053; + // aapt resource value: 0x7f08014e + public const int NotifyOpenFromLocalDueToConflict = 2131231054; // aapt resource value: 0x7f080030 public const int OpenKp2aKeyboardAutomatically_key = 2131230768; + // aapt resource value: 0x7f080120 + public const int OpenKp2aKeyboardAutomatically_summary = 2131231008; + // aapt resource value: 0x7f08011f - public const int OpenKp2aKeyboardAutomatically_summary = 2131231007; + public const int OpenKp2aKeyboardAutomatically_title = 2131231007; - // aapt resource value: 0x7f08011e - public const int OpenKp2aKeyboardAutomatically_title = 2131231006; - - // aapt resource value: 0x7f08013c - public const int ParsingDatabase = 2131231036; + // aapt resource value: 0x7f08013d + public const int ParsingDatabase = 2131231037; // aapt resource value: 0x7f080034 public const int PreloadDatabaseEnabled_key = 2131230772; - // aapt resource value: 0x7f080123 - public const int PreloadDatabaseEnabled_summary = 2131231011; + // aapt resource value: 0x7f080124 + public const int PreloadDatabaseEnabled_summary = 2131231012; - // aapt resource value: 0x7f080122 - public const int PreloadDatabaseEnabled_title = 2131231010; + // aapt resource value: 0x7f080123 + public const int PreloadDatabaseEnabled_title = 2131231011; // aapt resource value: 0x7f080023 public const int QuickUnlockDefaultEnabled_key = 2131230755; - // aapt resource value: 0x7f0800fb - public const int QuickUnlockDefaultEnabled_summary = 2131230971; + // aapt resource value: 0x7f0800fc + public const int QuickUnlockDefaultEnabled_summary = 2131230972; - // aapt resource value: 0x7f0800fa - public const int QuickUnlockDefaultEnabled_title = 2131230970; + // aapt resource value: 0x7f0800fb + public const int QuickUnlockDefaultEnabled_title = 2131230971; // aapt resource value: 0x7f080025 public const int QuickUnlockLength_default = 2131230757; @@ -1473,134 +1473,134 @@ namespace keepass2android // aapt resource value: 0x7f080024 public const int QuickUnlockLength_key = 2131230756; - // aapt resource value: 0x7f0800fd - public const int QuickUnlockLength_summary = 2131230973; - - // aapt resource value: 0x7f0800fc - public const int QuickUnlockLength_title = 2131230972; - - // aapt resource value: 0x7f0800f8 - public const int QuickUnlock_button = 2131230968; - // aapt resource value: 0x7f0800fe - public const int QuickUnlock_fail = 2131230974; + public const int QuickUnlockLength_summary = 2131230974; - // aapt resource value: 0x7f0800f7 - public const int QuickUnlock_label = 2131230967; + // aapt resource value: 0x7f0800fd + public const int QuickUnlockLength_title = 2131230973; // aapt resource value: 0x7f0800f9 - public const int QuickUnlock_lockButton = 2131230969; + public const int QuickUnlock_button = 2131230969; - // aapt resource value: 0x7f080129 - public const int RecycleBin = 2131231017; + // aapt resource value: 0x7f0800ff + public const int QuickUnlock_fail = 2131230975; + + // aapt resource value: 0x7f0800f8 + public const int QuickUnlock_label = 2131230968; + + // aapt resource value: 0x7f0800fa + public const int QuickUnlock_lockButton = 2131230970; + + // aapt resource value: 0x7f08012a + public const int RecycleBin = 2131231018; // aapt resource value: 0x7f08001e public const int RememberRecentFiles_key = 2131230750; + // aapt resource value: 0x7f0800ec + public const int RememberRecentFiles_summary = 2131230956; + // aapt resource value: 0x7f0800eb - public const int RememberRecentFiles_summary = 2131230955; + public const int RememberRecentFiles_title = 2131230955; - // aapt resource value: 0x7f0800ea - public const int RememberRecentFiles_title = 2131230954; + // aapt resource value: 0x7f080151 + public const int RemoteDatabaseUnchanged = 2131231057; - // aapt resource value: 0x7f080150 - public const int RemoteDatabaseUnchanged = 2131231056; - - // aapt resource value: 0x7f080146 - public const int RestoringRemoteFile = 2131231046; - - // aapt resource value: 0x7f080104 - public const int SaveAttachmentDialog_open = 2131230980; - - // aapt resource value: 0x7f080103 - public const int SaveAttachmentDialog_save = 2131230979; - - // aapt resource value: 0x7f080102 - public const int SaveAttachmentDialog_text = 2131230978; - - // aapt resource value: 0x7f080101 - public const int SaveAttachmentDialog_title = 2131230977; - - // aapt resource value: 0x7f080106 - public const int SaveAttachment_Failed = 2131230982; + // aapt resource value: 0x7f080147 + public const int RestoringRemoteFile = 2131231047; // aapt resource value: 0x7f080105 - public const int SaveAttachment_doneMessage = 2131230981; + public const int SaveAttachmentDialog_open = 2131230981; - // aapt resource value: 0x7f080138 - public const int SettingPassword = 2131231032; + // aapt resource value: 0x7f080104 + public const int SaveAttachmentDialog_save = 2131230980; - // aapt resource value: 0x7f08011b - public const int ShowCopyToClipboardNotification_summary = 2131231003; + // aapt resource value: 0x7f080103 + public const int SaveAttachmentDialog_text = 2131230979; - // aapt resource value: 0x7f08011a - public const int ShowCopyToClipboardNotification_title = 2131231002; + // aapt resource value: 0x7f080102 + public const int SaveAttachmentDialog_title = 2131230978; - // aapt resource value: 0x7f08011d - public const int ShowKp2aKeyboardNotification_summary = 2131231005; + // aapt resource value: 0x7f080107 + public const int SaveAttachment_Failed = 2131230983; + + // aapt resource value: 0x7f080106 + public const int SaveAttachment_doneMessage = 2131230982; + + // aapt resource value: 0x7f080139 + public const int SettingPassword = 2131231033; // aapt resource value: 0x7f08011c - public const int ShowKp2aKeyboardNotification_title = 2131231004; + public const int ShowCopyToClipboardNotification_summary = 2131231004; + + // aapt resource value: 0x7f08011b + public const int ShowCopyToClipboardNotification_title = 2131231003; + + // aapt resource value: 0x7f08011e + public const int ShowKp2aKeyboardNotification_summary = 2131231006; + + // aapt resource value: 0x7f08011d + public const int ShowKp2aKeyboardNotification_title = 2131231005; // aapt resource value: 0x7f080033 public const int ShowUnlockedNotification_key = 2131230771; - // aapt resource value: 0x7f080121 - public const int ShowUnlockedNotification_summary = 2131231009; + // aapt resource value: 0x7f080122 + public const int ShowUnlockedNotification_summary = 2131231010; - // aapt resource value: 0x7f080120 - public const int ShowUnlockedNotification_title = 2131231008; + // aapt resource value: 0x7f080121 + public const int ShowUnlockedNotification_title = 2131231009; // aapt resource value: 0x7f08001d public const int ShowUsernameInList_key = 2131230749; - // aapt resource value: 0x7f0800e9 - public const int ShowUsernameInList_summary = 2131230953; + // aapt resource value: 0x7f0800ea + public const int ShowUsernameInList_summary = 2131230954; - // aapt resource value: 0x7f0800e8 - public const int ShowUsernameInList_title = 2131230952; + // aapt resource value: 0x7f0800e9 + public const int ShowUsernameInList_title = 2131230953; // aapt resource value: 0x7f08002c public const int SuggestionsURL = 2131230764; - // aapt resource value: 0x7f080148 - public const int SynchronizedDatabaseSuccessfully = 2131231048; + // aapt resource value: 0x7f080149 + public const int SynchronizedDatabaseSuccessfully = 2131231049; - // aapt resource value: 0x7f080143 - public const int SynchronizingCachedDatabase = 2131231043; + // aapt resource value: 0x7f080144 + public const int SynchronizingCachedDatabase = 2131231044; - // aapt resource value: 0x7f080140 - public const int SynchronizingDatabase = 2131231040; + // aapt resource value: 0x7f080141 + public const int SynchronizingDatabase = 2131231041; // aapt resource value: 0x7f08001c public const int TanExpiresOnUse_key = 2131230748; + // aapt resource value: 0x7f0800e8 + public const int TanExpiresOnUse_summary = 2131230952; + // aapt resource value: 0x7f0800e7 - public const int TanExpiresOnUse_summary = 2131230951; + public const int TanExpiresOnUse_title = 2131230951; - // aapt resource value: 0x7f0800e6 - public const int TanExpiresOnUse_title = 2131230950; + // aapt resource value: 0x7f08013f + public const int TitleSyncQuestion = 2131231039; - // aapt resource value: 0x7f08013e - public const int TitleSyncQuestion = 2131231038; - - // aapt resource value: 0x7f08013a - public const int TransformingKey = 2131231034; + // aapt resource value: 0x7f08013b + public const int TransformingKey = 2131231035; // aapt resource value: 0x7f08002d public const int TranslationURL = 2131230765; - // aapt resource value: 0x7f080139 - public const int UndoingChanges = 2131231033; + // aapt resource value: 0x7f08013a + public const int UndoingChanges = 2131231034; - // aapt resource value: 0x7f08014f - public const int UpdatedCachedFileOnLoad = 2131231055; + // aapt resource value: 0x7f080150 + public const int UpdatedCachedFileOnLoad = 2131231056; - // aapt resource value: 0x7f08014c - public const int UpdatedRemoteFileOnLoad = 2131231052; + // aapt resource value: 0x7f08014d + public const int UpdatedRemoteFileOnLoad = 2131231053; - // aapt resource value: 0x7f080145 - public const int UploadingFile = 2131231045; + // aapt resource value: 0x7f080146 + public const int UploadingFile = 2131231046; // aapt resource value: 0x7f080026 public const int UsageCount_key = 2131230758; @@ -1608,11 +1608,11 @@ namespace keepass2android // aapt resource value: 0x7f080028 public const int UseFileTransactions_key = 2131230760; - // aapt resource value: 0x7f080113 - public const int UseFileTransactions_summary = 2131230995; + // aapt resource value: 0x7f080114 + public const int UseFileTransactions_summary = 2131230996; - // aapt resource value: 0x7f080112 - public const int UseFileTransactions_title = 2131230994; + // aapt resource value: 0x7f080113 + public const int UseFileTransactions_title = 2131230995; // aapt resource value: 0x7f08002f public const int UseKp2aKeyboard_key = 2131230767; @@ -1620,14 +1620,14 @@ namespace keepass2android // aapt resource value: 0x7f080029 public const int UseOfflineCache_key = 2131230761; + // aapt resource value: 0x7f080116 + public const int UseOfflineCache_summary = 2131230998; + // aapt resource value: 0x7f080115 - public const int UseOfflineCache_summary = 2131230997; + public const int UseOfflineCache_title = 2131230997; - // aapt resource value: 0x7f080114 - public const int UseOfflineCache_title = 2131230996; - - // aapt resource value: 0x7f080141 - public const int YesSynchronize = 2131231041; + // aapt resource value: 0x7f080142 + public const int YesSynchronize = 2131231042; // aapt resource value: 0x7f080035 public const int about_feedback = 2131230773; @@ -1638,14 +1638,14 @@ namespace keepass2android // aapt resource value: 0x7f080039 public const int accept = 2131230777; - // aapt resource value: 0x7f08010c - public const int add_binary = 2131230988; + // aapt resource value: 0x7f08010d + public const int add_binary = 2131230989; // aapt resource value: 0x7f08003a public const int add_entry = 2131230778; - // aapt resource value: 0x7f08010d - public const int add_extra_string = 2131230989; + // aapt resource value: 0x7f08010e + public const int add_extra_string = 2131230990; // aapt resource value: 0x7f08003c public const int add_group = 2131230780; @@ -1656,11 +1656,11 @@ namespace keepass2android // aapt resource value: 0x7f08003b public const int add_url_entry = 2131230779; - // aapt resource value: 0x7f08003e - public const int algorithm = 2131230782; - // aapt resource value: 0x7f08003f - public const int algorithm_colon = 2131230783; + public const int algorithm = 2131230783; + + // aapt resource value: 0x7f080040 + public const int algorithm_colon = 2131230784; // aapt resource value: 0x7f080011 public const int algorithm_key = 2131230737; @@ -1668,50 +1668,50 @@ namespace keepass2android // aapt resource value: 0x7f080012 public const int app_key = 2131230738; - // aapt resource value: 0x7f080040 - public const int app_name = 2131230784; + // aapt resource value: 0x7f080041 + public const int app_name = 2131230785; - // aapt resource value: 0x7f080042 - public const int app_name_nonet = 2131230786; + // aapt resource value: 0x7f080043 + public const int app_name_nonet = 2131230787; - // aapt resource value: 0x7f080044 - public const int app_timeout = 2131230788; + // aapt resource value: 0x7f080045 + public const int app_timeout = 2131230789; // aapt resource value: 0x7f080013 public const int app_timeout_key = 2131230739; - // aapt resource value: 0x7f080045 - public const int app_timeout_summary = 2131230789; - // aapt resource value: 0x7f080046 - public const int application = 2131230790; + public const int app_timeout_summary = 2131230790; // aapt resource value: 0x7f080047 - public const int application_settings = 2131230791; - - // aapt resource value: 0x7f080051 - public const int available_through_keyboard = 2131230801; + public const int application = 2131230791; // aapt resource value: 0x7f080048 - public const int brackets = 2131230792; + public const int application_settings = 2131230792; + + // aapt resource value: 0x7f080052 + public const int available_through_keyboard = 2131230802; // aapt resource value: 0x7f080049 - public const int browser_intall_text = 2131230793; + public const int brackets = 2131230793; // aapt resource value: 0x7f08004a - public const int building_search_idx = 2131230794; + public const int browser_intall_text = 2131230794; // aapt resource value: 0x7f08004b - public const int cancel = 2131230795; + public const int building_search_idx = 2131230795; - // aapt resource value: 0x7f0800ef - public const int caseSensitive = 2131230959; + // aapt resource value: 0x7f08004c + public const int cancel = 2131230796; + + // aapt resource value: 0x7f0800f0 + public const int caseSensitive = 2131230960; // aapt resource value: 0x7f080002 public const int change_entry = 2131230722; - // aapt resource value: 0x7f08004d - public const int clipboard_timeout = 2131230797; + // aapt resource value: 0x7f08004e + public const int clipboard_timeout = 2131230798; // aapt resource value: 0x7f080031 public const int clipboard_timeout_default = 2131230769; @@ -1719,38 +1719,38 @@ namespace keepass2android // aapt resource value: 0x7f080014 public const int clipboard_timeout_key = 2131230740; - // aapt resource value: 0x7f08004e - public const int clipboard_timeout_summary = 2131230798; + // aapt resource value: 0x7f08004f + public const int clipboard_timeout_summary = 2131230799; + + // aapt resource value: 0x7f080051 + public const int copy_password = 2131230801; // aapt resource value: 0x7f080050 - public const int copy_password = 2131230800; - - // aapt resource value: 0x7f08004f - public const int copy_username = 2131230799; - - // aapt resource value: 0x7f080054 - public const int creating_db_key = 2131230804; - - // aapt resource value: 0x7f080111 - public const int credentials_dialog_title = 2131230993; + public const int copy_username = 2131230800; // aapt resource value: 0x7f080055 - public const int current_group = 2131230805; + public const int creating_db_key = 2131230805; + + // aapt resource value: 0x7f080112 + public const int credentials_dialog_title = 2131230994; // aapt resource value: 0x7f080056 - public const int current_group_root = 2131230806; + public const int current_group = 2131230806; // aapt resource value: 0x7f080057 - public const int database = 2131230807; + public const int current_group_root = 2131230807; - // aapt resource value: 0x7f08010f - public const int database_loaded_quickunlock_enabled = 2131230991; + // aapt resource value: 0x7f080058 + public const int database = 2131230808; // aapt resource value: 0x7f080110 - public const int database_loaded_unlocked = 2131230992; + public const int database_loaded_quickunlock_enabled = 2131230992; - // aapt resource value: 0x7f0800cf - public const int database_name = 2131230927; + // aapt resource value: 0x7f080111 + public const int database_loaded_unlocked = 2131230993; + + // aapt resource value: 0x7f0800d0 + public const int database_name = 2131230928; // aapt resource value: 0x7f080020 public const int database_name_key = 2131230752; @@ -1758,227 +1758,230 @@ namespace keepass2android // aapt resource value: 0x7f080015 public const int db_key = 2131230741; - // aapt resource value: 0x7f080058 - public const int decrypting_db = 2131230808; - // aapt resource value: 0x7f080059 - public const int decrypting_entry = 2131230809; + public const int decrypting_db = 2131230809; // aapt resource value: 0x7f08005a - public const int default_checkbox = 2131230810; + public const int decrypting_entry = 2131230810; + + // aapt resource value: 0x7f08005b + public const int default_checkbox = 2131230811; // aapt resource value: 0x7f08000a public const int default_file_path = 2131230730; - // aapt resource value: 0x7f0800d0 - public const int default_username = 2131230928; + // aapt resource value: 0x7f0800d1 + public const int default_username = 2131230929; // aapt resource value: 0x7f08001f public const int default_username_key = 2131230751; - // aapt resource value: 0x7f08010e - public const int delete_extra_string = 2131230990; - - // aapt resource value: 0x7f08005b - public const int digits = 2131230811; + // aapt resource value: 0x7f08010f + public const int delete_extra_string = 2131230991; // aapt resource value: 0x7f08005c - public const int disclaimer_formal = 2131230812; + public const int digits = 2131230812; + + // aapt resource value: 0x7f08005d + public const int disclaimer_formal = 2131230813; // aapt resource value: 0x7f08000b public const int donate_url = 2131230731; - // aapt resource value: 0x7f08005d - public const int ellipsis = 2131230813; - - // aapt resource value: 0x7f0800f6 - public const int enable_quickunlock = 2131230966; + // aapt resource value: 0x7f08003e + public const int edit_group_title = 2131230782; // aapt resource value: 0x7f08005e - public const int enter_filename = 2131230814; + public const int ellipsis = 2131230814; - // aapt resource value: 0x7f0800f5 - public const int enter_filename_details_create_import = 2131230965; - - // aapt resource value: 0x7f0800f4 - public const int enter_filename_details_url = 2131230964; + // aapt resource value: 0x7f0800f7 + public const int enable_quickunlock = 2131230967; // aapt resource value: 0x7f08005f - public const int entry_accessed = 2131230815; + public const int enter_filename = 2131230815; + + // aapt resource value: 0x7f0800f6 + public const int enter_filename_details_create_import = 2131230966; + + // aapt resource value: 0x7f0800f5 + public const int enter_filename_details_url = 2131230965; // aapt resource value: 0x7f080060 - public const int entry_and_or = 2131230816; - - // aapt resource value: 0x7f080070 - public const int entry_binaries = 2131230832; + public const int entry_accessed = 2131230816; // aapt resource value: 0x7f080061 - public const int entry_cancel = 2131230817; - - // aapt resource value: 0x7f080062 - public const int entry_comment = 2131230818; - - // aapt resource value: 0x7f080065 - public const int entry_confpassword = 2131230821; - - // aapt resource value: 0x7f080066 - public const int entry_created = 2131230822; - - // aapt resource value: 0x7f080067 - public const int entry_expires = 2131230823; - - // aapt resource value: 0x7f08006f - public const int entry_extra_strings = 2131230831; - - // aapt resource value: 0x7f080068 - public const int entry_keyfile = 2131230824; - - // aapt resource value: 0x7f080069 - public const int entry_modified = 2131230825; - - // aapt resource value: 0x7f080064 - public const int entry_override_url = 2131230820; - - // aapt resource value: 0x7f08006a - public const int entry_password = 2131230826; - - // aapt resource value: 0x7f08006b - public const int entry_save = 2131230827; - - // aapt resource value: 0x7f080063 - public const int entry_tags = 2131230819; - - // aapt resource value: 0x7f08006c - public const int entry_title = 2131230828; - - // aapt resource value: 0x7f08006d - public const int entry_url = 2131230829; - - // aapt resource value: 0x7f08006e - public const int entry_user_name = 2131230830; + public const int entry_and_or = 2131230817; // aapt resource value: 0x7f080071 - public const int error_arc4 = 2131230833; + public const int entry_binaries = 2131230833; + + // aapt resource value: 0x7f080062 + public const int entry_cancel = 2131230818; + + // aapt resource value: 0x7f080063 + public const int entry_comment = 2131230819; + + // aapt resource value: 0x7f080066 + public const int entry_confpassword = 2131230822; + + // aapt resource value: 0x7f080067 + public const int entry_created = 2131230823; + + // aapt resource value: 0x7f080068 + public const int entry_expires = 2131230824; + + // aapt resource value: 0x7f080070 + public const int entry_extra_strings = 2131230832; + + // aapt resource value: 0x7f080069 + public const int entry_keyfile = 2131230825; + + // aapt resource value: 0x7f08006a + public const int entry_modified = 2131230826; + + // aapt resource value: 0x7f080065 + public const int entry_override_url = 2131230821; + + // aapt resource value: 0x7f08006b + public const int entry_password = 2131230827; + + // aapt resource value: 0x7f08006c + public const int entry_save = 2131230828; + + // aapt resource value: 0x7f080064 + public const int entry_tags = 2131230820; + + // aapt resource value: 0x7f08006d + public const int entry_title = 2131230829; + + // aapt resource value: 0x7f08006e + public const int entry_url = 2131230830; + + // aapt resource value: 0x7f08006f + public const int entry_user_name = 2131230831; // aapt resource value: 0x7f080072 - public const int error_can_not_handle_uri = 2131230834; + public const int error_arc4 = 2131230834; // aapt resource value: 0x7f080073 - public const int error_could_not_create_group = 2131230835; + public const int error_can_not_handle_uri = 2131230835; // aapt resource value: 0x7f080074 - public const int error_could_not_create_parent = 2131230836; + public const int error_could_not_create_group = 2131230836; // aapt resource value: 0x7f080075 - public const int error_database_exists = 2131230837; + public const int error_could_not_create_parent = 2131230837; // aapt resource value: 0x7f080076 - public const int error_database_settings = 2131230838; + public const int error_database_exists = 2131230838; // aapt resource value: 0x7f080077 - public const int error_failed_to_launch_link = 2131230839; - - // aapt resource value: 0x7f080079 - public const int error_file_not_create = 2131230841; + public const int error_database_settings = 2131230839; // aapt resource value: 0x7f080078 - public const int error_filename_required = 2131230840; + public const int error_failed_to_launch_link = 2131230840; // aapt resource value: 0x7f08007a - public const int error_invalid_db = 2131230842; + public const int error_file_not_create = 2131230842; - // aapt resource value: 0x7f080107 - public const int error_invalid_expiry_date = 2131230983; + // aapt resource value: 0x7f080079 + public const int error_filename_required = 2131230841; // aapt resource value: 0x7f08007b - public const int error_invalid_path = 2131230843; - - // aapt resource value: 0x7f08007c - public const int error_no_name = 2131230844; - - // aapt resource value: 0x7f08007d - public const int error_nopass = 2131230845; - - // aapt resource value: 0x7f08007e - public const int error_out_of_memory = 2131230846; - - // aapt resource value: 0x7f08007f - public const int error_pass_gen_type = 2131230847; - - // aapt resource value: 0x7f080080 - public const int error_pass_match = 2131230848; - - // aapt resource value: 0x7f080081 - public const int error_rounds_not_number = 2131230849; - - // aapt resource value: 0x7f080082 - public const int error_rounds_too_large = 2131230850; + public const int error_invalid_db = 2131230843; // aapt resource value: 0x7f080108 - public const int error_string_key = 2131230984; + public const int error_invalid_expiry_date = 2131230984; + + // aapt resource value: 0x7f08007c + public const int error_invalid_path = 2131230844; + + // aapt resource value: 0x7f08007d + public const int error_no_name = 2131230845; + + // aapt resource value: 0x7f08007e + public const int error_nopass = 2131230846; + + // aapt resource value: 0x7f08007f + public const int error_out_of_memory = 2131230847; + + // aapt resource value: 0x7f080080 + public const int error_pass_gen_type = 2131230848; + + // aapt resource value: 0x7f080081 + public const int error_pass_match = 2131230849; + + // aapt resource value: 0x7f080082 + public const int error_rounds_not_number = 2131230850; // aapt resource value: 0x7f080083 - public const int error_title_required = 2131230851; - - // aapt resource value: 0x7f080084 - public const int error_wrong_length = 2131230852; - - // aapt resource value: 0x7f0800ed - public const int excludeExpiredEntries = 2131230957; + public const int error_rounds_too_large = 2131230851; // aapt resource value: 0x7f080109 - public const int field_name = 2131230985; + public const int error_string_key = 2131230985; + + // aapt resource value: 0x7f080084 + public const int error_title_required = 2131230852; + + // aapt resource value: 0x7f080085 + public const int error_wrong_length = 2131230853; + + // aapt resource value: 0x7f0800ee + public const int excludeExpiredEntries = 2131230958; // aapt resource value: 0x7f08010a - public const int field_value = 2131230986; + public const int field_name = 2131230986; - // aapt resource value: 0x7f080086 - public const int file_browser = 2131230854; + // aapt resource value: 0x7f08010b + public const int field_value = 2131230987; // aapt resource value: 0x7f080087 - public const int generate_password = 2131230855; + public const int file_browser = 2131230855; // aapt resource value: 0x7f080088 - public const int group = 2131230856; + public const int generate_password = 2131230856; // aapt resource value: 0x7f080089 - public const int hint_comment = 2131230857; + public const int group = 2131230857; // aapt resource value: 0x7f08008a - public const int hint_conf_pass = 2131230858; + public const int hint_comment = 2131230858; // aapt resource value: 0x7f08008b - public const int hint_generated_password = 2131230859; + public const int hint_conf_pass = 2131230859; // aapt resource value: 0x7f08008c - public const int hint_group_name = 2131230860; + public const int hint_generated_password = 2131230860; // aapt resource value: 0x7f08008d - public const int hint_keyfile = 2131230861; + public const int hint_group_name = 2131230861; // aapt resource value: 0x7f08008e - public const int hint_length = 2131230862; - - // aapt resource value: 0x7f080090 - public const int hint_login_pass = 2131230864; - - // aapt resource value: 0x7f080093 - public const int hint_override_url = 2131230867; + public const int hint_keyfile = 2131230862; // aapt resource value: 0x7f08008f - public const int hint_pass = 2131230863; - - // aapt resource value: 0x7f080094 - public const int hint_tags = 2131230868; + public const int hint_length = 2131230863; // aapt resource value: 0x7f080091 - public const int hint_title = 2131230865; + public const int hint_login_pass = 2131230865; - // aapt resource value: 0x7f080092 - public const int hint_url = 2131230866; + // aapt resource value: 0x7f080094 + public const int hint_override_url = 2131230868; + + // aapt resource value: 0x7f080090 + public const int hint_pass = 2131230864; // aapt resource value: 0x7f080095 - public const int hint_username = 2131230869; + public const int hint_tags = 2131230869; + + // aapt resource value: 0x7f080092 + public const int hint_title = 2131230866; + + // aapt resource value: 0x7f080093 + public const int hint_url = 2131230867; + + // aapt resource value: 0x7f080096 + public const int hint_username = 2131230870; // aapt resource value: 0x7f08000c public const int homepage = 2131230732; @@ -1989,35 +1992,35 @@ namespace keepass2android // aapt resource value: 0x7f080000 public const int ime_name = 2131230720; - // aapt resource value: 0x7f0800dd - public const int insert_element_here = 2131230941; - - // aapt resource value: 0x7f080096 - public const int install_from_market = 2131230870; + // aapt resource value: 0x7f0800de + public const int insert_element_here = 2131230942; // aapt resource value: 0x7f080097 - public const int install_from_website = 2131230871; + public const int install_from_market = 2131230871; - // aapt resource value: 0x7f080099 - public const int invalid_algorithm = 2131230873; + // aapt resource value: 0x7f080098 + public const int install_from_website = 2131230872; // aapt resource value: 0x7f08009a - public const int invalid_db_sig = 2131230874; + public const int invalid_algorithm = 2131230874; + + // aapt resource value: 0x7f08009b + public const int invalid_db_sig = 2131230875; // aapt resource value: 0x7f08000e public const int issues = 2131230734; - // aapt resource value: 0x7f08009b - public const int keyfile_does_not_exist = 2131230875; - // aapt resource value: 0x7f08009c - public const int keyfile_is_empty = 2131230876; + public const int keyfile_does_not_exist = 2131230876; + + // aapt resource value: 0x7f08009d + public const int keyfile_is_empty = 2131230877; // aapt resource value: 0x7f080017 public const int keyfile_key = 2131230743; - // aapt resource value: 0x7f0800ec - public const int kp2a_findUrl = 2131230956; + // aapt resource value: 0x7f0800ed + public const int kp2a_findUrl = 2131230957; // aapt resource value: 0x7f080005 public const int label_go_key = 2131230725; @@ -2031,8 +2034,8 @@ namespace keepass2android // aapt resource value: 0x7f080008 public const int label_subtype_generic = 2131230728; - // aapt resource value: 0x7f08009d - public const int length = 2131230877; + // aapt resource value: 0x7f08009e + public const int length = 2131230878; // aapt resource value: 0x7f080009 public const int library_name = 2131230729; @@ -2043,107 +2046,107 @@ namespace keepass2android // aapt resource value: 0x7f08001a public const int list_size_key = 2131230746; - // aapt resource value: 0x7f08009f - public const int list_size_summary = 2131230879; - - // aapt resource value: 0x7f08009e - public const int list_size_title = 2131230878; - // aapt resource value: 0x7f0800a0 - public const int loading_database = 2131230880; + public const int list_size_summary = 2131230880; + + // aapt resource value: 0x7f08009f + public const int list_size_title = 2131230879; // aapt resource value: 0x7f0800a1 - public const int lowercase = 2131230881; + public const int loading_database = 2131230881; + + // aapt resource value: 0x7f0800a2 + public const int lowercase = 2131230882; // aapt resource value: 0x7f080018 public const int maskpass_key = 2131230744; - // aapt resource value: 0x7f0800a4 - public const int maskpass_summary = 2131230884; - - // aapt resource value: 0x7f0800a3 - public const int maskpass_title = 2131230883; - // aapt resource value: 0x7f0800a5 - public const int menu_about = 2131230885; + public const int maskpass_summary = 2131230885; - // aapt resource value: 0x7f0800aa - public const int menu_app_settings = 2131230890; - - // aapt resource value: 0x7f0800b8 - public const int menu_change_db = 2131230904; + // aapt resource value: 0x7f0800a4 + public const int maskpass_title = 2131230884; // aapt resource value: 0x7f0800a6 - public const int menu_change_key = 2131230886; - - // aapt resource value: 0x7f0800a7 - public const int menu_copy_pass = 2131230887; - - // aapt resource value: 0x7f0800a8 - public const int menu_copy_user = 2131230888; - - // aapt resource value: 0x7f0800a9 - public const int menu_create = 2131230889; + public const int menu_about = 2131230886; // aapt resource value: 0x7f0800ab - public const int menu_db_settings = 2131230891; - - // aapt resource value: 0x7f0800ac - public const int menu_delete = 2131230892; - - // aapt resource value: 0x7f0800ae - public const int menu_donate = 2131230894; - - // aapt resource value: 0x7f0800af - public const int menu_edit = 2131230895; - - // aapt resource value: 0x7f0800b0 - public const int menu_hide_password = 2131230896; - - // aapt resource value: 0x7f0800b1 - public const int menu_homepage = 2131230897; - - // aapt resource value: 0x7f0800b2 - public const int menu_lock = 2131230898; - - // aapt resource value: 0x7f0800ad - public const int menu_move = 2131230893; - - // aapt resource value: 0x7f0800b3 - public const int menu_open = 2131230899; - - // aapt resource value: 0x7f0800b4 - public const int menu_rename = 2131230900; - - // aapt resource value: 0x7f0800b5 - public const int menu_search = 2131230901; - - // aapt resource value: 0x7f0800b6 - public const int menu_search_advanced = 2131230902; - - // aapt resource value: 0x7f0800b7 - public const int menu_url = 2131230903; + public const int menu_app_settings = 2131230891; // aapt resource value: 0x7f0800b9 - public const int minus = 2131230905; + public const int menu_change_db = 2131230905; + + // aapt resource value: 0x7f0800a7 + public const int menu_change_key = 2131230887; + + // aapt resource value: 0x7f0800a8 + public const int menu_copy_pass = 2131230888; + + // aapt resource value: 0x7f0800a9 + public const int menu_copy_user = 2131230889; + + // aapt resource value: 0x7f0800aa + public const int menu_create = 2131230890; + + // aapt resource value: 0x7f0800ac + public const int menu_db_settings = 2131230892; + + // aapt resource value: 0x7f0800ad + public const int menu_delete = 2131230893; + + // aapt resource value: 0x7f0800af + public const int menu_donate = 2131230895; + + // aapt resource value: 0x7f0800b0 + public const int menu_edit = 2131230896; + + // aapt resource value: 0x7f0800b1 + public const int menu_hide_password = 2131230897; + + // aapt resource value: 0x7f0800b2 + public const int menu_homepage = 2131230898; + + // aapt resource value: 0x7f0800b3 + public const int menu_lock = 2131230899; + + // aapt resource value: 0x7f0800ae + public const int menu_move = 2131230894; + + // aapt resource value: 0x7f0800b4 + public const int menu_open = 2131230900; + + // aapt resource value: 0x7f0800b5 + public const int menu_rename = 2131230901; + + // aapt resource value: 0x7f0800b6 + public const int menu_search = 2131230902; + + // aapt resource value: 0x7f0800b7 + public const int menu_search_advanced = 2131230903; + + // aapt resource value: 0x7f0800b8 + public const int menu_url = 2131230904; // aapt resource value: 0x7f0800ba - public const int never = 2131230906; + public const int minus = 2131230906; - // aapt resource value: 0x7f0800bc - public const int no = 2131230908; + // aapt resource value: 0x7f0800bb + public const int never = 2131230907; // aapt resource value: 0x7f0800bd - public const int no_keys = 2131230909; + public const int no = 2131230909; // aapt resource value: 0x7f0800be - public const int no_results = 2131230910; + public const int no_keys = 2131230910; // aapt resource value: 0x7f0800bf - public const int no_url_handler = 2131230911; + public const int no_results = 2131230911; - // aapt resource value: 0x7f080052 - public const int not_possible_im_picker = 2131230802; + // aapt resource value: 0x7f0800c0 + public const int no_url_handler = 2131230912; + + // aapt resource value: 0x7f080053 + public const int not_possible_im_picker = 2131230803; // aapt resource value: 0x7f08000f public const int oi_filemanager_market = 2131230735; @@ -2154,11 +2157,11 @@ namespace keepass2android // aapt resource value: 0x7f080019 public const int omitbackup_key = 2131230745; - // aapt resource value: 0x7f0800c2 - public const int omitbackup_summary = 2131230914; + // aapt resource value: 0x7f0800c3 + public const int omitbackup_summary = 2131230915; - // aapt resource value: 0x7f0800c1 - public const int omitbackup_title = 2131230913; + // aapt resource value: 0x7f0800c2 + public const int omitbackup_title = 2131230914; // aapt resource value: 0x7f080003 public const int open_entry = 2131230723; @@ -2166,155 +2169,155 @@ namespace keepass2android // aapt resource value: 0x7f080004 public const int open_entry_for_app = 2131230724; - // aapt resource value: 0x7f0800c0 - public const int open_recent = 2131230912; - - // aapt resource value: 0x7f0800c3 - public const int pass_filename = 2131230915; + // aapt resource value: 0x7f0800c1 + public const int open_recent = 2131230913; // aapt resource value: 0x7f0800c4 - public const int password_title = 2131230916; - - // aapt resource value: 0x7f080053 - public const int please_activate_keyboard = 2131230803; + public const int pass_filename = 2131230916; // aapt resource value: 0x7f0800c5 - public const int progress_create = 2131230917; + public const int password_title = 2131230917; + + // aapt resource value: 0x7f080054 + public const int please_activate_keyboard = 2131230804; // aapt resource value: 0x7f0800c6 - public const int progress_title = 2131230918; - - // aapt resource value: 0x7f08010b - public const int protection = 2131230987; - - // aapt resource value: 0x7f080132 - public const int rate_app = 2131231026; - - // aapt resource value: 0x7f0800e5 - public const int regular_expression = 2131230949; + public const int progress_create = 2131230918; // aapt resource value: 0x7f0800c7 - public const int remember_keyfile_summary = 2131230919; + public const int progress_title = 2131230919; + + // aapt resource value: 0x7f08010c + public const int protection = 2131230988; + + // aapt resource value: 0x7f080133 + public const int rate_app = 2131231027; + + // aapt resource value: 0x7f0800e6 + public const int regular_expression = 2131230950; // aapt resource value: 0x7f0800c8 - public const int remember_keyfile_title = 2131230920; + public const int remember_keyfile_summary = 2131230920; // aapt resource value: 0x7f0800c9 - public const int remove_from_filelist = 2131230921; + public const int remember_keyfile_title = 2131230921; // aapt resource value: 0x7f0800ca - public const int rijndael = 2131230922; + public const int remove_from_filelist = 2131230922; // aapt resource value: 0x7f0800cb - public const int root = 2131230923; + public const int rijndael = 2131230923; // aapt resource value: 0x7f0800cc - public const int rounds = 2131230924; + public const int root = 2131230924; // aapt resource value: 0x7f0800cd - public const int rounds_explaination = 2131230925; + public const int rounds = 2131230925; // aapt resource value: 0x7f0800ce - public const int rounds_hint = 2131230926; + public const int rounds_explaination = 2131230926; + + // aapt resource value: 0x7f0800cf + public const int rounds_hint = 2131230927; // aapt resource value: 0x7f080016 public const int rounds_key = 2131230742; - // aapt resource value: 0x7f0800d1 - public const int saving_database = 2131230929; - - // aapt resource value: 0x7f0800d8 - public const int search_hint = 2131230936; - - // aapt resource value: 0x7f0800da - public const int search_in = 2131230938; - - // aapt resource value: 0x7f0800d3 - public const int search_label = 2131230931; - - // aapt resource value: 0x7f0800ee - public const int search_options = 2131230958; + // aapt resource value: 0x7f0800d2 + public const int saving_database = 2131230930; // aapt resource value: 0x7f0800d9 - public const int search_results = 2131230937; - - // aapt resource value: 0x7f0800dc - public const int select_group_then_add = 2131230940; + public const int search_hint = 2131230937; // aapt resource value: 0x7f0800db - public const int select_other_entry = 2131230939; - - // aapt resource value: 0x7f080041 - public const int short_app_name = 2131230785; - - // aapt resource value: 0x7f080043 - public const int short_app_name_nonet = 2131230787; + public const int search_in = 2131230939; // aapt resource value: 0x7f0800d4 - public const int show_password = 2131230932; + public const int search_label = 2131230932; - // aapt resource value: 0x7f0800d6 - public const int sort_db = 2131230934; + // aapt resource value: 0x7f0800ef + public const int search_options = 2131230959; + + // aapt resource value: 0x7f0800da + public const int search_results = 2131230938; + + // aapt resource value: 0x7f0800dd + public const int select_group_then_add = 2131230941; + + // aapt resource value: 0x7f0800dc + public const int select_other_entry = 2131230940; + + // aapt resource value: 0x7f080042 + public const int short_app_name = 2131230786; + + // aapt resource value: 0x7f080044 + public const int short_app_name_nonet = 2131230788; + + // aapt resource value: 0x7f0800d5 + public const int show_password = 2131230933; + + // aapt resource value: 0x7f0800d7 + public const int sort_db = 2131230935; // aapt resource value: 0x7f08001b public const int sort_key = 2131230747; - // aapt resource value: 0x7f0800d5 - public const int sort_name = 2131230933; + // aapt resource value: 0x7f0800d6 + public const int sort_name = 2131230934; - // aapt resource value: 0x7f0800d2 - public const int space = 2131230930; + // aapt resource value: 0x7f0800d3 + public const int space = 2131230931; - // aapt resource value: 0x7f0800d7 - public const int special = 2131230935; - - // aapt resource value: 0x7f0800f1 - public const int start_create = 2131230961; - - // aapt resource value: 0x7f0800f3 - public const int start_create_import = 2131230963; - - // aapt resource value: 0x7f0800f0 - public const int start_open_file = 2131230960; + // aapt resource value: 0x7f0800d8 + public const int special = 2131230936; // aapt resource value: 0x7f0800f2 - public const int start_open_url = 2131230962; + public const int start_create = 2131230962; - // aapt resource value: 0x7f080131 - public const int suggest_improvements = 2131231025; + // aapt resource value: 0x7f0800f4 + public const int start_create_import = 2131230964; - // aapt resource value: 0x7f080151 - public const int synchronize_database_menu = 2131231057; + // aapt resource value: 0x7f0800f1 + public const int start_open_file = 2131230961; - // aapt resource value: 0x7f080133 - public const int translate_app = 2131231027; + // aapt resource value: 0x7f0800f3 + public const int start_open_url = 2131230963; - // aapt resource value: 0x7f0800de - public const int twofish = 2131230942; + // aapt resource value: 0x7f080132 + public const int suggest_improvements = 2131231026; + + // aapt resource value: 0x7f080152 + public const int synchronize_database_menu = 2131231058; + + // aapt resource value: 0x7f080134 + public const int translate_app = 2131231028; // aapt resource value: 0x7f0800df - public const int underline = 2131230943; + public const int twofish = 2131230943; // aapt resource value: 0x7f0800e0 - public const int unsupported_db_version = 2131230944; + public const int underline = 2131230944; // aapt resource value: 0x7f0800e1 - public const int uppercase = 2131230945; - - // aapt resource value: 0x7f0800e4 - public const int version_label = 2131230948; + public const int unsupported_db_version = 2131230945; // aapt resource value: 0x7f0800e2 - public const int warning_read_only = 2131230946; + public const int uppercase = 2131230946; + + // aapt resource value: 0x7f0800e5 + public const int version_label = 2131230949; // aapt resource value: 0x7f0800e3 - public const int warning_unmounted = 2131230947; + public const int warning_read_only = 2131230947; + + // aapt resource value: 0x7f0800e4 + public const int warning_unmounted = 2131230948; // aapt resource value: 0x7f080001 public const int word_separators = 2131230721; - // aapt resource value: 0x7f0800bb - public const int yes = 2131230907; + // aapt resource value: 0x7f0800bc + public const int yes = 2131230908; static String() { diff --git a/src/keepass2android/Resources/values/strings.xml b/src/keepass2android/Resources/values/strings.xml index cbab2010..9f2f15b8 100644 --- a/src/keepass2android/Resources/values/strings.xml +++ b/src/keepass2android/Resources/values/strings.xml @@ -10,6 +10,7 @@ Create entry for URL Add group Add Group + Edit Group Algorithm Algorithm Keepass2Android diff --git a/src/keepass2android/views/PwGroupView.cs b/src/keepass2android/views/PwGroupView.cs index 9d915019..9445f278 100644 --- a/src/keepass2android/views/PwGroupView.cs +++ b/src/keepass2android/views/PwGroupView.cs @@ -36,6 +36,7 @@ namespace keepass2android.view private const int MenuOpen = Menu.First; private const int MenuDelete = MenuOpen + 1; private const int MenuMove = MenuDelete + 1; + private const int MenuEdit = MenuDelete + 2; public static PwGroupView GetInstance(GroupBaseActivity act, PwGroup pw) { @@ -108,26 +109,29 @@ namespace keepass2android.view menu.Add(0, MenuOpen, 0, Resource.String.menu_open); menu.Add(0, MenuDelete, 0, Resource.String.menu_delete); menu.Add(0, MenuMove, 0, Resource.String.menu_move); + menu.Add(0, MenuEdit, 0, Resource.String.menu_edit); } public override bool OnContextItemSelected(IMenuItem item) { switch ( item.ItemId ) { - - case MenuOpen: - LaunchGroup(); - return true; + case MenuOpen: + LaunchGroup(); + return true; - case MenuDelete: - Handler handler = new Handler(); - DeleteGroup task = new DeleteGroup(Context, App.Kp2a, _pwGroup, new GroupBaseActivity.AfterDeleteGroup(handler, _groupBaseActivity)); - task.Start(); - return true; - case MenuMove: - _groupBaseActivity.StartTask(new MoveElementTask { Uuid = _pwGroup.Uuid }); - return true; - default: - return false; + case MenuDelete: + Handler handler = new Handler(); + DeleteGroup task = new DeleteGroup(Context, App.Kp2a, _pwGroup, new GroupBaseActivity.AfterDeleteGroup(handler, _groupBaseActivity)); + task.Start(); + return true; + case MenuMove: + _groupBaseActivity.StartTask(new MoveElementTask { Uuid = _pwGroup.Uuid }); + return true; + case MenuEdit: + _groupBaseActivity.EditGroup(_pwGroup); + return true; + default: + return false; } }