diff --git a/src/keepass2android/GroupActivity.cs b/src/keepass2android/GroupActivity.cs index 77f7bdb5..3521100c 100644 --- a/src/keepass2android/GroupActivity.cs +++ b/src/keepass2android/GroupActivity.cs @@ -97,7 +97,7 @@ namespace keepass2android { get { return App.Kp2a.GetDb().CanWrite && ((this.Group.ParentGroup != null) || App.Kp2a.GetDb().DatabaseFormat.CanHaveEntriesInRootGroup); } } - /* + /*TODO public override bool OnCreateOptionsMenu(IMenu menu) { // Inflate the menu; this adds items to the action bar if it is present. diff --git a/src/keepass2android/GroupBaseActivity.cs b/src/keepass2android/GroupBaseActivity.cs index 1d7b8b4b..6e606471 100644 --- a/src/keepass2android/GroupBaseActivity.cs +++ b/src/keepass2android/GroupBaseActivity.cs @@ -84,18 +84,32 @@ namespace keepass2android public void SetNormalButtonVisibility(bool showAddGroup, bool showAddEntry) { - FindViewById(Resource.Id.bottom_bar).Visibility = ViewStates.Gone; - FindViewById(Resource.Id.divider2).Visibility = ViewStates.Gone; + //check for null in the following because the "empty" layouts may not have all views - FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Gone; - FindViewById(Resource.Id.fabAddNewGroup).Visibility = ViewStates.Gone; - FindViewById(Resource.Id.fabAddNewEntry).Visibility = ViewStates.Gone; + if (FindViewById(Resource.Id.bottom_bar) != null) + FindViewById(Resource.Id.bottom_bar).Visibility = BottomBarAlwaysVisible ? ViewStates.Visible : ViewStates.Gone; - FindViewById(Resource.Id.fabAddNew).Visibility = (showAddGroup || showAddEntry) ? ViewStates.Visible : ViewStates.Gone; + if (FindViewById(Resource.Id.divider2) != null) + FindViewById(Resource.Id.divider2).Visibility = BottomBarAlwaysVisible ? ViewStates.Visible : ViewStates.Gone; + + if (FindViewById(Resource.Id.fabCancelAddNew) != null) + { + FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Gone; + FindViewById(Resource.Id.fabAddNewGroup).Visibility = ViewStates.Gone; + FindViewById(Resource.Id.fabAddNewEntry).Visibility = ViewStates.Gone; + + FindViewById(Resource.Id.fabAddNew).Visibility = (showAddGroup || showAddEntry) ? ViewStates.Visible : ViewStates.Gone; + } + } - + public virtual bool BottomBarAlwaysVisible + { + get { return false; } + } + + protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); @@ -216,28 +230,36 @@ namespace keepass2android _prefs = PreferenceManager.GetDefaultSharedPreferences(this); - SetContentView(Resource.Layout.group); + SetContentView(ContentResourceId); - FindViewById(Resource.Id.fabAddNew).Click += (sender, args) => + if (FindViewById(Resource.Id.fabCancelAddNew) != null) { - FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Visible; - FindViewById(Resource.Id.fabAddNewGroup).Visibility = AddGroupEnabled ? ViewStates.Visible : ViewStates.Gone; - FindViewById(Resource.Id.fabAddNewEntry).Visibility = AddEntryEnabled ? ViewStates.Visible : ViewStates.Gone; - FindViewById(Resource.Id.fabAddNew).Visibility = ViewStates.Gone; - }; + FindViewById(Resource.Id.fabAddNew).Click += (sender, args) => + { + FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Visible; + FindViewById(Resource.Id.fabAddNewGroup).Visibility = AddGroupEnabled ? ViewStates.Visible : ViewStates.Gone; + FindViewById(Resource.Id.fabAddNewEntry).Visibility = AddEntryEnabled ? ViewStates.Visible : ViewStates.Gone; + FindViewById(Resource.Id.fabAddNew).Visibility = ViewStates.Gone; + }; - FindViewById(Resource.Id.fabCancelAddNew).Click += (sender, args) => - { - FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Gone; - FindViewById(Resource.Id.fabAddNewGroup).Visibility = ViewStates.Gone; - FindViewById(Resource.Id.fabAddNewEntry).Visibility = ViewStates.Gone; - FindViewById(Resource.Id.fabAddNew).Visibility = ViewStates.Visible; - }; + FindViewById(Resource.Id.fabCancelAddNew).Click += (sender, args) => + { + FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Gone; + FindViewById(Resource.Id.fabAddNewGroup).Visibility = ViewStates.Gone; + FindViewById(Resource.Id.fabAddNewEntry).Visibility = ViewStates.Gone; + FindViewById(Resource.Id.fabAddNew).Visibility = ViewStates.Visible; + }; + + + } - - FindViewById(Resource.Id.cancel_insert_element).Click += (sender, args) => StopMovingElements(); - FindViewById(Resource.Id.insert_element).Click += (sender, args) => InsertElements(); + if (FindViewById(Resource.Id.cancel_insert_element) != null) + { + FindViewById(Resource.Id.cancel_insert_element).Click += (sender, args) => StopMovingElements(); + FindViewById(Resource.Id.insert_element).Click += (sender, args) => InsertElements(); + } + SetResult(KeePass.ExitNormal); @@ -245,6 +267,11 @@ namespace keepass2android } + protected virtual int ContentResourceId + { + get { return Resource.Layout.group; } + } + private void InsertElements() { MoveElementsTask moveElementsTask = (MoveElementsTask)AppTask; @@ -313,7 +340,6 @@ namespace keepass2android cursor.MoveToPosition(position); string entryIdAsHexString = cursor.GetString(cursor.GetColumnIndexOrThrow(SearchManager.SuggestColumnIntentDataId)); EntryActivity.Launch(_activity, App.Kp2a.GetDb().Entries[new PwUuid(MemUtil.HexStringToByteArray(entryIdAsHexString))],-1,_activity.AppTask); - ((SearchView) _searchItem.ActionView).Iconified = true; return true; } diff --git a/src/keepass2android/Resources/layout/group_empty.xml b/src/keepass2android/Resources/layout/group_empty.xml index 93c0d58f..e6dd35a9 100644 --- a/src/keepass2android/Resources/layout/group_empty.xml +++ b/src/keepass2android/Resources/layout/group_empty.xml @@ -27,5 +27,6 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@android:id/list" + android:layout_margin="12dp" android:text="@string/no_results"/> \ No newline at end of file diff --git a/src/keepass2android/Resources/layout/searchurlresults.xml b/src/keepass2android/Resources/layout/searchurlresults.xml index 1165b132..000d8fe6 100644 --- a/src/keepass2android/Resources/layout/searchurlresults.xml +++ b/src/keepass2android/Resources/layout/searchurlresults.xml @@ -1,65 +1,49 @@ - - + + +