Fix orientation change

This commit is contained in:
J-Jamet
2022-01-31 22:09:12 +01:00
parent 518375e29a
commit 71c37d0b8b
50 changed files with 259 additions and 198 deletions

View File

@@ -22,6 +22,7 @@ import android.app.Activity
import android.app.DatePickerDialog import android.app.DatePickerDialog
import android.app.SearchManager import android.app.SearchManager
import android.app.TimePickerDialog import android.app.TimePickerDialog
import android.content.ComponentName
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.graphics.PorterDuff import android.graphics.PorterDuff
@@ -40,7 +41,6 @@ import androidx.appcompat.view.ActionMode
import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SearchView
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.kunzisoft.keepass.R import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.activities.dialogs.* import com.kunzisoft.keepass.activities.dialogs.*
@@ -112,59 +112,84 @@ class GroupActivity : DatabaseLockActivity(),
private var actionNodeMode: ActionMode? = null private var actionNodeMode: ActionMode? = null
// Nodes // Manage group
private var mSearchState: SearchState? = null
private var mCurrentGroupState: GroupState? = null private var mCurrentGroupState: GroupState? = null
private var mRootGroup: Group? = null private var mRootGroup: Group? = null
private var mCurrentGroup: Group? = null private var mCurrentGroup: Group? = null
private var mSearchGroup: Group? = null
private var mPreviousGroupsIds = mutableListOf<GroupState>() private var mPreviousGroupsIds = mutableListOf<GroupState>()
private var mOldGroupToUpdate: Group? = null private var mOldGroupToUpdate: Group? = null
private var mLockSearchListeners = false
private val mOnSearchQueryTextListener = object : SearchView.OnQueryTextListener { private val mOnSearchQueryTextListener = object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean { override fun onQueryTextSubmit(query: String?): Boolean {
if (query != null) { if (query != null && !mLockSearchListeners) {
searchFiltersView?.setQuery(query) mSearchState?.let { searchState ->
searchState.searchParameters.searchQuery = query
mGroupViewModel.loadSearchGroup(mDatabase,
searchState.searchParameters,
searchState.firstVisibleItem)
}
} }
return true return true
} }
override fun onQueryTextChange(newText: String?): Boolean { override fun onQueryTextChange(newText: String?): Boolean {
if (newText != null) { onQueryTextSubmit(newText)
searchFiltersView?.setQuery(newText)
}
return true return true
} }
} }
private val mOnSearchFiltersChangeListener = object : ((SearchParameters) -> Unit) { private val mOnSearchFiltersChangeListener = object : ((SearchParameters) -> Unit) {
override fun invoke(searchParameters: SearchParameters) { override fun invoke(searchParameters: SearchParameters) {
mGroupViewModel.loadGroupFromSearch( mSearchState?.let { searchState ->
mDatabase, searchParameters.searchQuery = searchState.searchParameters.searchQuery
searchParameters, searchState.searchParameters = searchParameters
PreferencesUtil.omitBackup(this@GroupActivity) mGroupViewModel.loadSearchGroup(mDatabase,
) searchState.searchParameters,
searchState.firstVisibleItem)
}
} }
} }
private val mOnSearchActionExpandListener = object : MenuItem.OnActionExpandListener { private val mOnSearchActionExpandListener = object : MenuItem.OnActionExpandListener {
override fun onMenuItemActionExpand(p0: MenuItem?): Boolean { override fun onMenuItemActionExpand(p0: MenuItem?): Boolean {
toolbarBreadcrumb?.hideByFading() toolbarBreadcrumb?.hideByFading()
searchFiltersView?.isVisible = true searchFiltersView?.visibility = View.VISIBLE
searchView?.setOnQueryTextListener(mOnSearchQueryTextListener) searchView?.setOnQueryTextListener(mOnSearchQueryTextListener)
searchFiltersView?.onParametersChangeListener = mOnSearchFiltersChangeListener searchFiltersView?.onParametersChangeListener = mOnSearchFiltersChangeListener
return true
addSearch()
//loadGroup()
return true
} }
override fun onMenuItemActionCollapse(p0: MenuItem?): Boolean { override fun onMenuItemActionCollapse(p0: MenuItem?): Boolean {
searchFiltersView?.onParametersChangeListener = null searchFiltersView?.onParametersChangeListener = null
searchView?.setOnQueryTextListener(null) searchView?.setOnQueryTextListener(null)
searchFiltersView?.isVisible = false searchFiltersView?.visibility = View.GONE
toolbarBreadcrumb?.showByFading() toolbarBreadcrumb?.showByFading()
removeSearch() removeSearch()
loadGroup(mDatabase) loadGroup()
return true return true
} }
} }
private fun addSearch() {
if (mSearchState == null) {
mSearchState = SearchState(searchFiltersView?.searchParameters
?: SearchParameters(), 0)
}
}
private fun removeSearch() {
mSearchState = null
intent.removeExtra(AUTO_SEARCH_KEY)
if (Intent.ACTION_SEARCH == intent.action) {
intent.action = Intent.ACTION_DEFAULT
intent.removeExtra(SearchManager.QUERY)
}
}
private var mIconSelectionActivityResultLauncher = IconPickerActivity.registerIconSelectionForResult(this) { icon -> private var mIconSelectionActivityResultLauncher = IconPickerActivity.registerIconSelectionForResult(this) { icon ->
// To create tree dialog for icon // To create tree dialog for icon
mGroupEditViewModel.selectIcon(icon) mGroupEditViewModel.selectIcon(icon)
@@ -284,24 +309,23 @@ class GroupActivity : DatabaseLockActivity(),
// Observe group // Observe group
mGroupViewModel.group.observe(this) { mGroupViewModel.group.observe(this) {
val currentGroup = it.group val currentGroup = it.group
mCurrentGroup = currentGroup
if (!currentGroup.isVirtual) { if (!currentGroup.isVirtual) {
mCurrentGroup = currentGroup
mRecyclingBinIsCurrentGroup = it.isRecycleBin mRecyclingBinIsCurrentGroup = it.isRecycleBin
// Save group state
// Save group id if real group
mCurrentGroupState = GroupState(currentGroup.nodeId, it.showFromPosition) mCurrentGroupState = GroupState(currentGroup.nodeId, it.showFromPosition)
// Update last access time. // Update last access time.
currentGroup.touch(modified = false, touchParents = false) currentGroup.touch(modified = false, touchParents = false)
} else { } else {
mSearchGroup = currentGroup mSearchState = SearchState(it.searchParameters, it.showFromPosition)
searchFiltersView?.searchParameters = it.searchParameters
} }
loadingView?.hideByFading() loadingView?.hideByFading()
} }
mGroupViewModel.firstPositionVisible.observe(this) { firstPositionVisible -> mGroupViewModel.firstPositionVisible.observe(this) { firstPositionVisible ->
mSearchState?.firstVisibleItem = firstPositionVisible
mCurrentGroupState?.firstVisibleItem = firstPositionVisible mCurrentGroupState?.firstVisibleItem = firstPositionVisible
} }
@@ -420,21 +444,27 @@ class GroupActivity : DatabaseLockActivity(),
return rootContainerView return rootContainerView
} }
private fun loadGroup(database: Database?) { private fun loadGroup() {
val searchState = mSearchState
val currentGroupState = mCurrentGroupState
when { when {
Intent.ACTION_SEARCH == intent.action -> { searchState != null -> {
finishNodeAction() finishNodeAction()
searchFiltersView?.setQuery( mGroupViewModel.loadSearchGroup(mDatabase,
intent.getStringExtra(SearchManager.QUERY)?.trim { it <= ' ' } ?: "" searchState.searchParameters,
searchState.firstVisibleItem
) )
} }
mCurrentGroupState == null -> { currentGroupState != null -> {
mRootGroup?.let { rootGroup -> mGroupViewModel.loadMainGroup(mDatabase,
mGroupViewModel.loadGroup(database, rootGroup, 0) currentGroupState.groupId,
} currentGroupState.firstVisibleItem)
} }
else -> { else -> {
mGroupViewModel.loadGroup(database, mCurrentGroupState) mGroupViewModel.loadMainGroup(mDatabase,
null,
0
)
} }
} }
} }
@@ -448,7 +478,7 @@ class GroupActivity : DatabaseLockActivity(),
&& database?.isRecycleBinEnabled == true && database?.isRecycleBinEnabled == true
mRootGroup = database?.rootGroup mRootGroup = database?.rootGroup
loadGroup(database) loadGroup()
// Search suggestion // Search suggestion
database?.let { database?.let {
@@ -569,7 +599,16 @@ class GroupActivity : DatabaseLockActivity(),
} }
// To transform KEY_SEARCH_INFO in ACTION_SEARCH // To transform KEY_SEARCH_INFO in ACTION_SEARCH
transformSearchInfoIntent(intent) transformSearchInfoIntent(intent)
loadGroup(mDatabase) // Get search query
if (intent.action == Intent.ACTION_SEARCH) {
val stringQuery = intent.getStringExtra(SearchManager.QUERY)?.trim { it <= ' ' } ?: ""
intent.action = Intent.ACTION_DEFAULT
intent.removeExtra(SearchManager.QUERY)
mSearchState = SearchState(SearchParameters().apply {
searchQuery = stringQuery
}, mSearchState?.firstVisibleItem ?: 0)
}
loadGroup()
} }
} }
@@ -590,15 +629,7 @@ class GroupActivity : DatabaseLockActivity(),
} }
override fun onGroupRefreshed() { override fun onGroupRefreshed() {
if (mSearchGroup != null) { val group = mCurrentGroup
assignGroupViewElements(mSearchGroup)
} else {
assignGroupViewElements(mCurrentGroup)
}
}
private fun assignGroupViewElements(group: Group?) {
// TODO in real time
// Assign title // Assign title
if (group?.isVirtual == true) { if (group?.isVirtual == true) {
searchFiltersView?.setNumbers(SearchHelper.showNumberOfSearchResults(group.numberOfChildEntries)) searchFiltersView?.setNumbers(SearchHelper.showNumberOfSearchResults(group.numberOfChildEntries))
@@ -656,7 +687,7 @@ class GroupActivity : DatabaseLockActivity(),
} }
} }
// Open child group // Open child group
mGroupViewModel.loadGroup(database, group, 0) mGroupViewModel.loadMainGroup(database, group, 0)
} catch (e: ClassCastException) { } catch (e: ClassCastException) {
Log.e(TAG, "Node can't be cast in Group") Log.e(TAG, "Node can't be cast in Group")
@@ -999,28 +1030,34 @@ class GroupActivity : DatabaseLockActivity(),
// Get the SearchView and set the searchable configuration // Get the SearchView and set the searchable configuration
menu.findItem(R.id.menu_search)?.let { menu.findItem(R.id.menu_search)?.let {
mLockSearchListeners = true
it.setOnActionExpandListener(mOnSearchActionExpandListener) it.setOnActionExpandListener(mOnSearchActionExpandListener)
searchView = it.actionView as SearchView? searchView = it.actionView as SearchView?
searchView?.apply { searchView?.apply {
/*
val searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager? val searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager?
(searchManager?.getSearchableInfo( (searchManager?.getSearchableInfo(
ComponentName(this@GroupActivity, GroupActivity::class.java) ComponentName(this@GroupActivity, GroupActivity::class.java)
))?.let { searchableInfo -> ))?.let { searchableInfo ->
setSearchableInfo(searchableInfo) setSearchableInfo(searchableInfo)
} }
val searchState = mSearchState
*/ // Expand the search view if defined in settings
isIconified = false if (mRequestStartupSearch
} && PreferencesUtil.automaticallyFocusSearch(this@GroupActivity)
// Expand the search view if defined in settings ) {
if (mRequestStartupSearch // To request search only one time
&& PreferencesUtil.automaticallyFocusSearch(this@GroupActivity) mRequestStartupSearch = false
) { it.expandActionView()
// To request search only one time }
mRequestStartupSearch = false // Or already open
it.expandActionView() else if (searchState != null) {
it.expandActionView()
setQuery(searchState.searchParameters.searchQuery, false)
searchFiltersView?.visibility = View.VISIBLE
}
setOnQueryTextListener(mOnSearchQueryTextListener)
} }
mLockSearchListeners = false
} }
super.onCreateOptionsMenu(menu) super.onCreateOptionsMenu(menu)
@@ -1159,24 +1196,9 @@ class GroupActivity : DatabaseLockActivity(),
} }
} }
private fun removeSearch() {
mSearchGroup = null
intent.removeExtra(AUTO_SEARCH_KEY)
if (Intent.ACTION_SEARCH == intent.action) {
intent.action = Intent.ACTION_DEFAULT
intent.removeExtra(SearchManager.QUERY)
}
}
private fun reloadCurrentGroup() { private fun reloadCurrentGroup() {
// Remove search in intent
removeSearch() removeSearch()
// Reload real group loadGroup()
try {
mGroupViewModel.loadGroup(mDatabase, mCurrentGroupState)
} catch (e: Exception) {
Log.e(TAG, "Unable to rebuild the group", e)
}
} }
override fun onBackPressed() { override fun onBackPressed() {
@@ -1195,7 +1217,11 @@ class GroupActivity : DatabaseLockActivity(),
} }
else -> { else -> {
// Load the previous group // Load the previous group
mGroupViewModel.loadGroup(mDatabase, mPreviousGroupsIds.removeLast()) val previousGroupState = mPreviousGroupsIds.removeLast()
mGroupViewModel.loadMainGroup(mDatabase,
previousGroupState.groupId,
previousGroupState.firstVisibleItem
)
} }
} }
} }
@@ -1214,6 +1240,35 @@ class GroupActivity : DatabaseLockActivity(),
} }
} }
data class SearchState(
var searchParameters: SearchParameters,
var firstVisibleItem: Int?
) : Parcelable {
private constructor(parcel: Parcel) : this(
parcel.readParcelable<SearchParameters>
(SearchParameters::class.java.classLoader) ?: SearchParameters(),
parcel.readInt()
)
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeParcelable(searchParameters, flags)
parcel.writeInt(firstVisibleItem ?: 0)
}
override fun describeContents() = 0
companion object CREATOR : Parcelable.Creator<SearchState> {
override fun createFromParcel(parcel: Parcel): SearchState {
return SearchState(parcel)
}
override fun newArray(size: Int): Array<SearchState?> {
return arrayOfNulls(size)
}
}
}
data class GroupState( data class GroupState(
var groupId: NodeId<*>?, var groupId: NodeId<*>?,
var firstVisibleItem: Int? var firstVisibleItem: Int?

View File

@@ -782,21 +782,19 @@ class Database {
} }
} }
fun isGroupSearchable(group: Group, omitBackup: Boolean): Boolean { fun isGroupSearchable(group: Group, omitRecycleBin: Boolean): Boolean {
return mDatabaseKDB?.isGroupSearchable(group.groupKDB, omitBackup) ?: return mDatabaseKDB?.isGroupSearchable(group.groupKDB, omitRecycleBin) ?:
mDatabaseKDBX?.isGroupSearchable(group.groupKDBX, omitBackup) ?: mDatabaseKDBX?.isGroupSearchable(group.groupKDBX, omitRecycleBin) ?:
false false
} }
fun createVirtualGroupFromSearch(searchParameters: SearchParameters, fun createVirtualGroupFromSearch(searchParameters: SearchParameters,
omitBackup: Boolean,
max: Int = Integer.MAX_VALUE): Group? { max: Int = Integer.MAX_VALUE): Group? {
return mSearchHelper?.createVirtualGroupWithSearchResult(this, return mSearchHelper?.createVirtualGroupWithSearchResult(this,
searchParameters,omitBackup, max) searchParameters, max)
} }
fun createVirtualGroupFromSearchInfo(searchInfoString: String, fun createVirtualGroupFromSearchInfo(searchInfoString: String,
omitBackup: Boolean,
max: Int = Integer.MAX_VALUE): Group? { max: Int = Integer.MAX_VALUE): Group? {
return mSearchHelper?.createVirtualGroupWithSearchResult(this, return mSearchHelper?.createVirtualGroupWithSearchResult(this,
SearchParameters().apply { SearchParameters().apply {
@@ -811,7 +809,8 @@ class Database {
searchInUUIDs = false searchInUUIDs = false
searchInTags = false searchInTags = false
searchInTemplates = false searchInTemplates = false
}, omitBackup, max) searchInRecycleBin = false
}, max)
} }
val tagPool: Tags val tagPool: Tags

View File

@@ -325,10 +325,10 @@ abstract class DatabaseVersioned<
abstract fun isInRecycleBin(group: Group): Boolean abstract fun isInRecycleBin(group: Group): Boolean
fun isGroupSearchable(group: Group?, omitBackup: Boolean): Boolean { fun isGroupSearchable(group: Group?, omitRecycleBin: Boolean): Boolean {
if (group == null) if (group == null)
return false return false
if (omitBackup && isInRecycleBin(group)) if (omitRecycleBin && isInRecycleBin(group))
return false return false
return true return true
} }

View File

@@ -37,7 +37,6 @@ class SearchHelper {
fun createVirtualGroupWithSearchResult(database: Database, fun createVirtualGroupWithSearchResult(database: Database,
searchParameters: SearchParameters, searchParameters: SearchParameters,
omitBackup: Boolean,
max: Int): Group? { max: Int): Group? {
val searchGroup = database.createGroup() val searchGroup = database.createGroup()
@@ -65,7 +64,8 @@ class SearchHelper {
override fun operate(node: Group): Boolean { override fun operate(node: Group): Boolean {
return when { return when {
incrementEntry >= max -> false incrementEntry >= max -> false
database.isGroupSearchable(node, omitBackup) -> true // TODO searchInTemplate
database.isGroupSearchable(node, !searchParameters.searchInRecycleBin) -> true
else -> false else -> false
} }
} }
@@ -122,7 +122,6 @@ class SearchHelper {
// If search provide results // If search provide results
database.createVirtualGroupFromSearchInfo( database.createVirtualGroupFromSearchInfo(
searchInfo.toString(), searchInfo.toString(),
PreferencesUtil.omitBackup(context),
MAX_SEARCH_ENTRY MAX_SEARCH_ENTRY
)?.let { searchGroup -> )?.let { searchGroup ->
if (searchGroup.numberOfChildEntries > 0) { if (searchGroup.numberOfChildEntries > 0) {

View File

@@ -19,10 +19,13 @@
*/ */
package com.kunzisoft.keepass.database.search package com.kunzisoft.keepass.database.search
import android.os.Parcel
import android.os.Parcelable
/** /**
* Parameters for searching strings in the database. * Parameters for searching strings in the database.
*/ */
class SearchParameters { class SearchParameters() : Parcelable{
var searchQuery: String = "" var searchQuery: String = ""
var caseSensitive = false var caseSensitive = false
@@ -39,4 +42,53 @@ class SearchParameters {
var searchInTags = false var searchInTags = false
var searchInTemplates = false var searchInTemplates = false
var searchInRecycleBin = false
constructor(parcel: Parcel) : this() {
searchQuery = parcel.readString() ?: searchQuery
caseSensitive = parcel.readByte() != 0.toByte()
excludeExpired = parcel.readByte() != 0.toByte()
searchInTitles = parcel.readByte() != 0.toByte()
searchInUsernames = parcel.readByte() != 0.toByte()
searchInPasswords = parcel.readByte() != 0.toByte()
searchInUrls = parcel.readByte() != 0.toByte()
searchInNotes = parcel.readByte() != 0.toByte()
searchInOTP = parcel.readByte() != 0.toByte()
searchInOther = parcel.readByte() != 0.toByte()
searchInUUIDs = parcel.readByte() != 0.toByte()
searchInTags = parcel.readByte() != 0.toByte()
searchInTemplates = parcel.readByte() != 0.toByte()
searchInRecycleBin = parcel.readByte() != 0.toByte()
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(searchQuery)
parcel.writeByte(if (caseSensitive) 1 else 0)
parcel.writeByte(if (excludeExpired) 1 else 0)
parcel.writeByte(if (searchInTitles) 1 else 0)
parcel.writeByte(if (searchInUsernames) 1 else 0)
parcel.writeByte(if (searchInPasswords) 1 else 0)
parcel.writeByte(if (searchInUrls) 1 else 0)
parcel.writeByte(if (searchInNotes) 1 else 0)
parcel.writeByte(if (searchInOTP) 1 else 0)
parcel.writeByte(if (searchInOther) 1 else 0)
parcel.writeByte(if (searchInUUIDs) 1 else 0)
parcel.writeByte(if (searchInTags) 1 else 0)
parcel.writeByte(if (searchInTemplates) 1 else 0)
parcel.writeByte(if (searchInRecycleBin) 1 else 0)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<SearchParameters> {
override fun createFromParcel(parcel: Parcel): SearchParameters {
return SearchParameters(parcel)
}
override fun newArray(size: Int): Array<SearchParameters?> {
return arrayOfNulls(size)
}
}
} }

View File

@@ -92,12 +92,6 @@ object PreferencesUtil {
context.resources.getBoolean(R.bool.remember_keyfile_locations_default)) context.resources.getBoolean(R.bool.remember_keyfile_locations_default))
} }
fun omitBackup(context: Context): Boolean {
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
return prefs.getBoolean(context.getString(R.string.omit_backup_search_key),
context.resources.getBoolean(R.bool.omit_backup_search_default))
}
fun automaticallyFocusSearch(context: Context): Boolean { fun automaticallyFocusSearch(context: Context): Boolean {
val prefs = PreferenceManager.getDefaultSharedPreferences(context) val prefs = PreferenceManager.getDefaultSharedPreferences(context)
return prefs.getBoolean(context.getString(R.string.auto_focus_search_key), return prefs.getBoolean(context.getString(R.string.auto_focus_search_key),
@@ -608,7 +602,6 @@ object PreferencesUtil {
context.getString(R.string.enable_read_only_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.enable_read_only_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.enable_auto_save_database_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.enable_auto_save_database_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.enable_keep_screen_on_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.enable_keep_screen_on_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.omit_backup_search_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.auto_focus_search_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.auto_focus_search_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.subdomain_search_key) -> editor.putBoolean(name, value.toBoolean()) context.getString(R.string.subdomain_search_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.app_timeout_key) -> editor.putString(name, value.toLong().toString()) context.getString(R.string.app_timeout_key) -> editor.putString(name, value.toLong().toString())

View File

@@ -31,6 +31,8 @@ class SearchFiltersView @JvmOverloads constructor(context: Context,
private var searchOther: CompoundButton private var searchOther: CompoundButton
private var searchUUID: CompoundButton private var searchUUID: CompoundButton
private var searchTag: CompoundButton private var searchTag: CompoundButton
private var searchTemplate: CompoundButton
private var searchRecycleBin: CompoundButton
var searchParameters = SearchParameters() var searchParameters = SearchParameters()
get() { get() {
@@ -45,9 +47,28 @@ class SearchFiltersView @JvmOverloads constructor(context: Context,
this.searchInOther = searchOther.isChecked this.searchInOther = searchOther.isChecked
this.searchInUUIDs = searchUUID.isChecked this.searchInUUIDs = searchUUID.isChecked
this.searchInTags = searchTag.isChecked this.searchInTags = searchTag.isChecked
this.searchInTemplates = searchTemplate.isChecked
this.searchInRecycleBin = searchRecycleBin.isChecked
} }
} }
private set set(value) {
field = value
val tempListener = onParametersChangeListener
onParametersChangeListener = null
searchCaseSensitive.isChecked = value.caseSensitive
searchExpires.isChecked = !value.excludeExpired
searchTitle.isChecked = value.searchInTitles
searchUsername.isChecked = value.searchInUsernames
searchPassword.isChecked = value.searchInPasswords
searchURL.isChecked = value.searchInUrls
searchNotes.isChecked = value.searchInNotes
searchOther.isChecked = value.searchInOther
searchUUID.isChecked = value.searchInUUIDs
searchTag.isChecked = value.searchInTags
searchTemplate.isChecked = value.searchInTemplates
searchRecycleBin.isChecked = value.searchInRecycleBin
onParametersChangeListener = tempListener
}
var onParametersChangeListener: ((searchParameters: SearchParameters) -> Unit)? = null var onParametersChangeListener: ((searchParameters: SearchParameters) -> Unit)? = null
@@ -69,6 +90,8 @@ class SearchFiltersView @JvmOverloads constructor(context: Context,
searchUUID = findViewById(R.id.search_chip_uuid) searchUUID = findViewById(R.id.search_chip_uuid)
searchOther = findViewById(R.id.search_chip_other) searchOther = findViewById(R.id.search_chip_other)
searchTag = findViewById(R.id.search_chip_tag) searchTag = findViewById(R.id.search_chip_tag)
searchTemplate = findViewById(R.id.search_chip_template)
searchRecycleBin = findViewById(R.id.search_chip_recycle_bin)
// Expand menu with button // Expand menu with button
searchExpandButton.setOnClickListener { searchExpandButton.setOnClickListener {
@@ -122,11 +145,14 @@ class SearchFiltersView @JvmOverloads constructor(context: Context,
searchParameters.searchInTags = isChecked searchParameters.searchInTags = isChecked
onParametersChangeListener?.invoke(searchParameters) onParametersChangeListener?.invoke(searchParameters)
} }
} searchTemplate.setOnCheckedChangeListener { _, isChecked ->
searchParameters.searchInTemplates = isChecked
fun setQuery(query: String) { onParametersChangeListener?.invoke(searchParameters)
searchParameters.searchQuery = query }
onParametersChangeListener?.invoke(searchParameters) searchRecycleBin.setOnCheckedChangeListener { _, isChecked ->
searchParameters.searchInRecycleBin = isChecked
onParametersChangeListener?.invoke(searchParameters)
}
} }
fun setNumbers(stringNumbers: String) { fun setNumbers(stringNumbers: String) {

View File

@@ -22,10 +22,10 @@ package com.kunzisoft.keepass.viewmodels
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import com.kunzisoft.keepass.activities.GroupActivity
import com.kunzisoft.keepass.app.database.IOActionTask import com.kunzisoft.keepass.app.database.IOActionTask
import com.kunzisoft.keepass.database.element.Database import com.kunzisoft.keepass.database.element.Database
import com.kunzisoft.keepass.database.element.Group import com.kunzisoft.keepass.database.element.Group
import com.kunzisoft.keepass.database.element.node.NodeId
import com.kunzisoft.keepass.database.search.SearchHelper import com.kunzisoft.keepass.database.search.SearchHelper
import com.kunzisoft.keepass.database.search.SearchParameters import com.kunzisoft.keepass.database.search.SearchParameters
@@ -38,11 +38,11 @@ class GroupViewModel: ViewModel() {
val firstPositionVisible : LiveData<Int> get() = _firstPositionVisible val firstPositionVisible : LiveData<Int> get() = _firstPositionVisible
private val _firstPositionVisible = MutableLiveData<Int>() private val _firstPositionVisible = MutableLiveData<Int>()
fun loadGroup(database: Database?, fun loadMainGroup(database: Database?,
groupState: GroupActivity.GroupState?) { groupId: NodeId<*>?,
showFromPosition: Int?) {
IOActionTask( IOActionTask(
{ {
val groupId = groupState?.groupId
if (groupId != null) { if (groupId != null) {
database?.getGroupById(groupId) database?.getGroupById(groupId)
} else { } else {
@@ -53,32 +53,27 @@ class GroupViewModel: ViewModel() {
if (group != null) { if (group != null) {
_group.value = SuperGroup(group, _group.value = SuperGroup(group,
database?.recycleBin == group, database?.recycleBin == group,
groupState?.firstVisibleItem) showFromPosition)
} }
} }
).execute() ).execute()
} }
fun loadGroup(database: Database?, fun loadMainGroup(database: Database?,
group: Group, group: Group,
showFromPosition: Int?) { showFromPosition: Int?) {
_group.value = SuperGroup(group, _group.value = SuperGroup(group,
database?.recycleBin == group, database?.recycleBin == group,
showFromPosition) showFromPosition)
} }
fun assignPosition(position: Int) { fun loadSearchGroup(database: Database?,
_firstPositionVisible.value = position searchParameters: SearchParameters,
} showFromPosition: Int?) {
fun loadGroupFromSearch(database: Database?,
searchParameters: SearchParameters,
omitBackup: Boolean) {
IOActionTask( IOActionTask(
{ {
database?.createVirtualGroupFromSearch( database?.createVirtualGroupFromSearch(
searchParameters, searchParameters,
omitBackup,
SearchHelper.MAX_SEARCH_ENTRY SearchHelper.MAX_SEARCH_ENTRY
) )
}, },
@@ -86,13 +81,21 @@ class GroupViewModel: ViewModel() {
if (group != null) { if (group != null) {
_group.value = SuperGroup(group, _group.value = SuperGroup(group,
database?.recycleBin == group, database?.recycleBin == group,
0) showFromPosition,
searchParameters)
} }
} }
).execute() ).execute()
} }
data class SuperGroup(val group: Group, val isRecycleBin: Boolean, var showFromPosition: Int?) fun assignPosition(position: Int) {
_firstPositionVisible.value = position
}
data class SuperGroup(val group: Group,
val isRecycleBin: Boolean,
var showFromPosition: Int?,
var searchParameters: SearchParameters = SearchParameters())
companion object { companion object {
private val TAG = GroupViewModel::class.java.name private val TAG = GroupViewModel::class.java.name

View File

@@ -135,6 +135,20 @@
android:checked="false" android:checked="false"
style="@style/KeepassDXStyle.Chip.Filter" style="@style/KeepassDXStyle.Chip.Filter"
android:text="@string/tags"/> android:text="@string/tags"/>
<com.google.android.material.chip.Chip
android:id="@+id/search_chip_template"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
style="@style/KeepassDXStyle.Chip.Filter"
android:text="@string/template"/>
<com.google.android.material.chip.Chip
android:id="@+id/search_chip_recycle_bin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
style="@style/KeepassDXStyle.Chip.Filter"
android:text="@string/recycle_bin"/>
</com.google.android.material.chip.ChipGroup> </com.google.android.material.chip.ChipGroup>
</FrameLayout> </FrameLayout>
</LinearLayout> </LinearLayout>

View File

@@ -158,7 +158,6 @@
<string name="menu_open_file_read_and_write">قابل للتعديل</string> <string name="menu_open_file_read_and_write">قابل للتعديل</string>
<string name="select_database_file">فتح قاعدة بيانات موجودة</string> <string name="select_database_file">فتح قاعدة بيانات موجودة</string>
<string name="create_keepass_file">انشاء قاعدة بيانات</string> <string name="create_keepass_file">انشاء قاعدة بيانات</string>
<string name="omit_backup_search_title">لا تبحثفي مدخلات النسخ الاحتياطي</string>
<string name="progress_title">قيد العمل…</string> <string name="progress_title">قيد العمل…</string>
<string name="read_only_warning">KeePassDX يحتاج صلاحية الكتابة من اجل تعديل قاعدة البيانات.</string> <string name="read_only_warning">KeePassDX يحتاج صلاحية الكتابة من اجل تعديل قاعدة البيانات.</string>
<string name="encryption_explanation">خوارزمية تشفير جميع البيانات.</string> <string name="encryption_explanation">خوارزمية تشفير جميع البيانات.</string>
@@ -301,7 +300,6 @@
<string name="contains_duplicate_uuid_procedure">للمتابعة هل تريد حل المشكلة بتوليد UUID للعناصر المكررة ؟</string> <string name="contains_duplicate_uuid_procedure">للمتابعة هل تريد حل المشكلة بتوليد UUID للعناصر المكررة ؟</string>
<string name="contains_duplicate_uuid">تحتوي قاعدة البيانات على UUID مكرر.</string> <string name="contains_duplicate_uuid">تحتوي قاعدة البيانات على UUID مكرر.</string>
<string name="auto_focus_search_title">البحث السريع</string> <string name="auto_focus_search_title">البحث السريع</string>
<string name="omit_backup_search_summary">أزِل مجموعتي \"سلة المحذوفات\" و\" النسخ الاحتياطي\" من نتائج البحث</string>
<string name="menu_delete_entry_history">احذف السجل</string> <string name="menu_delete_entry_history">احذف السجل</string>
<string name="menu_restore_entry_history">استعادة السجل</string> <string name="menu_restore_entry_history">استعادة السجل</string>
<string name="menu_empty_recycle_bin">أفرغ سلة المحذوفات</string> <string name="menu_empty_recycle_bin">أفرغ سلة المحذوفات</string>

View File

@@ -102,8 +102,6 @@
<string name="never">Mai</string> <string name="never">Mai</string>
<string name="no_results">Cap resultat de cerca</string> <string name="no_results">Cap resultat de cerca</string>
<string name="no_url_handler">Instal·leu un navegador web per a obri aquesta URL</string> <string name="no_url_handler">Instal·leu un navegador web per a obri aquesta URL</string>
<string name="omit_backup_search_title">No cerquis entrades a còpia de seguretat ni paperera</string>
<string name="omit_backup_search_summary">Omet els grups \'Còpia de seguretat\' i paperera dels resultats de cerca</string>
<string name="progress_create">Creant nova base de dades…</string> <string name="progress_create">Creant nova base de dades…</string>
<string name="progress_title">Treballant…</string> <string name="progress_title">Treballant…</string>
<string name="content_description_remove_from_list">Elimina</string> <string name="content_description_remove_from_list">Elimina</string>

View File

@@ -109,8 +109,6 @@
<string name="never">Nikdy</string> <string name="never">Nikdy</string>
<string name="no_results">Žádné výsledky hledání</string> <string name="no_results">Žádné výsledky hledání</string>
<string name="no_url_handler">Pro otevření tohoto URL nainstalujte webový prohlížeč.</string> <string name="no_url_handler">Pro otevření tohoto URL nainstalujte webový prohlížeč.</string>
<string name="omit_backup_search_title">Neprohledávat položky v záloze</string>
<string name="omit_backup_search_summary">Vynechat skupiny „Záloha“ a \"Koš\" z výsledků vyhledávání</string>
<string name="progress_create">Vytváření nové databáze…</string> <string name="progress_create">Vytváření nové databáze…</string>
<string name="progress_title">Pracuji…</string> <string name="progress_title">Pracuji…</string>
<string name="protection">Ochrana</string> <string name="protection">Ochrana</string>

View File

@@ -108,8 +108,6 @@
<string name="never">Aldrig</string> <string name="never">Aldrig</string>
<string name="no_results">Ingen søgeresultater</string> <string name="no_results">Ingen søgeresultater</string>
<string name="no_url_handler">Installer en web-browser til at åbne URL.</string> <string name="no_url_handler">Installer en web-browser til at åbne URL.</string>
<string name="omit_backup_search_title">Gennemsøg ikke backup poster</string>
<string name="omit_backup_search_summary">Udelader \"Sikkerhedskopiering\" og \"Papirkurv\" - grupper fra søgeresultater</string>
<string name="progress_create">Opretter ny database…</string> <string name="progress_create">Opretter ny database…</string>
<string name="progress_title">Arbejder…</string> <string name="progress_title">Arbejder…</string>
<string name="protection">Beskyttelse</string> <string name="protection">Beskyttelse</string>

View File

@@ -118,8 +118,6 @@
<string name="never">Nie</string> <string name="never">Nie</string>
<string name="no_results">Keine Suchergebnisse</string> <string name="no_results">Keine Suchergebnisse</string>
<string name="no_url_handler">Bitte einen Webbrowser installieren, um diese URL zu öffnen.</string> <string name="no_url_handler">Bitte einen Webbrowser installieren, um diese URL zu öffnen.</string>
<string name="omit_backup_search_title">Papierkorb und Backup nicht durchsuchen</string>
<string name="omit_backup_search_summary">Die Gruppen „Backup“ und „Papierkorb“ werden bei der Suche nicht berücksichtigt</string>
<string name="auto_focus_search_title">Schnellsuche</string> <string name="auto_focus_search_title">Schnellsuche</string>
<string name="auto_focus_search_summary">Beim Öffnen einer Datenbank eine Suche veranlassen</string> <string name="auto_focus_search_summary">Beim Öffnen einer Datenbank eine Suche veranlassen</string>
<string name="progress_create">Neue Datenbank anlegen </string> <string name="progress_create">Neue Datenbank anlegen </string>

View File

@@ -111,8 +111,6 @@
<string name="never">Ποτέ</string> <string name="never">Ποτέ</string>
<string name="no_results">Δεν βρέθηκαν αποτελέσματα αναζήτησης</string> <string name="no_results">Δεν βρέθηκαν αποτελέσματα αναζήτησης</string>
<string name="no_url_handler">Εγκαταστήστε ένα πρόγραμμα περιήγησης για να ανοίξετε αυτήν τη διεύθυνση URL.</string> <string name="no_url_handler">Εγκαταστήστε ένα πρόγραμμα περιήγησης για να ανοίξετε αυτήν τη διεύθυνση URL.</string>
<string name="omit_backup_search_title">Να μην γίνει αναζήτηση μέσα από τις καταχωρήσεις αντιγραφών ασφαλείας</string>
<string name="omit_backup_search_summary">Παράληψη ομάδας \"Αντίγραφο Ασφαλείας\" και \"Κάδος Ανακύκλωσης\" από τα αποτελέσματα αναζήτησης</string>
<string name="progress_create">Δημιουργία νέας βάσης δεδομένων…</string> <string name="progress_create">Δημιουργία νέας βάσης δεδομένων…</string>
<string name="progress_title">Επεξεργασία…</string> <string name="progress_title">Επεξεργασία…</string>
<string name="protection">Προστασία</string> <string name="protection">Προστασία</string>

View File

@@ -104,8 +104,6 @@
<string name="never">Nunca</string> <string name="never">Nunca</string>
<string name="no_results">Sin resultado de búsqueda</string> <string name="no_results">Sin resultado de búsqueda</string>
<string name="no_url_handler">Instale un navegador web para abrir esta URL.</string> <string name="no_url_handler">Instale un navegador web para abrir esta URL.</string>
<string name="omit_backup_search_title">No buscar en las entradas de respaldo</string>
<string name="omit_backup_search_summary">Omite los grupos «Respaldo» y «Papelera de reciclaje» de los resultados de búsqueda</string>
<string name="progress_create">Creando nueva base de datos…</string> <string name="progress_create">Creando nueva base de datos…</string>
<string name="progress_title">Trabajando…</string> <string name="progress_title">Trabajando…</string>
<string name="content_description_remove_from_list">Quitar</string> <string name="content_description_remove_from_list">Quitar</string>

View File

@@ -111,8 +111,6 @@
<string name="never">Inoiz ez</string> <string name="never">Inoiz ez</string>
<string name="no_results">Emaitzarik gabeko bilaketa</string> <string name="no_results">Emaitzarik gabeko bilaketa</string>
<string name="no_url_handler">URL kudatzeko euskarririk ez.</string> <string name="no_url_handler">URL kudatzeko euskarririk ez.</string>
<string name="omit_backup_search_title">Ez bilatu segurtasun kopiaren sarreretan</string>
<string name="omit_backup_search_summary">Kendu segurtasun kopien taldea bilaketen emaitzetatik (.kdb fitxategie dagokie bakarrik)</string>
<string name="progress_create">Datubase berria sortzen…</string> <string name="progress_create">Datubase berria sortzen…</string>
<string name="progress_title">Lanean…</string> <string name="progress_title">Lanean…</string>
<string name="protection">Babesa</string> <string name="protection">Babesa</string>

View File

@@ -63,8 +63,6 @@
<string name="subdomain_search_title">جستجوی زیردریایی</string> <string name="subdomain_search_title">جستجوی زیردریایی</string>
<string name="auto_focus_search_summary">درخواست جستجو در هنگام باز کردن یک پایگاه داده</string> <string name="auto_focus_search_summary">درخواست جستجو در هنگام باز کردن یک پایگاه داده</string>
<string name="auto_focus_search_title">جستجوی سریع</string> <string name="auto_focus_search_title">جستجوی سریع</string>
<string name="omit_backup_search_summary">Omits \"پشتیبان گیری\" و \"سطل بازیافت\" گروه از نتایج جستجو</string>
<string name="omit_backup_search_title">از طریق ورودی های پشتیبان جستجو نکنید</string>
<string name="create_keepass_file">ایجاد پایگاه داده جدید</string> <string name="create_keepass_file">ایجاد پایگاه داده جدید</string>
<string name="select_database_file">باز کردن پایگاه داده موجود</string> <string name="select_database_file">باز کردن پایگاه داده موجود</string>
<string name="no_url_handler">برای باز کردن این URL یک مرورگر وب نصب کنید.</string> <string name="no_url_handler">برای باز کردن این URL یک مرورگر وب نصب کنید.</string>

View File

@@ -111,8 +111,6 @@
<string name="never">Ei koskaan</string> <string name="never">Ei koskaan</string>
<string name="no_results">Ei hakutuloksia</string> <string name="no_results">Ei hakutuloksia</string>
<string name="no_url_handler">Asenna web-selain avataksesi URL:n.</string> <string name="no_url_handler">Asenna web-selain avataksesi URL:n.</string>
<string name="omit_backup_search_title">Älä etsi varmuuskopioista eikä roskakorista</string>
<string name="omit_backup_search_summary">Poista \'Varmuuskopiot\' ja roskakori hakutuloksista</string>
<string name="progress_create">Luodaan uutta tietokantaa…</string> <string name="progress_create">Luodaan uutta tietokantaa…</string>
<string name="progress_title">Työskennellään…</string> <string name="progress_title">Työskennellään…</string>
<string name="protection">Suojaus</string> <string name="protection">Suojaus</string>

View File

@@ -119,8 +119,6 @@
<string name="no_results">Aucun résultat</string> <string name="no_results">Aucun résultat</string>
<string name="no_url_handler">Installer un navigateur Web pour ouvrir cette URL.</string> <string name="no_url_handler">Installer un navigateur Web pour ouvrir cette URL.</string>
<string name="select_database_file">Ouvrir une base de données existante</string> <string name="select_database_file">Ouvrir une base de données existante</string>
<string name="omit_backup_search_title">Ne pas rechercher dans les entrées sauvegardées</string>
<string name="omit_backup_search_summary">Omet les groupes \"Sauvegarde\" et \"Corbeille\" des résultats de recherche</string>
<string name="progress_create">Création dune nouvelle base de données…</string> <string name="progress_create">Création dune nouvelle base de données…</string>
<string name="progress_title">Traitement en cours…</string> <string name="progress_title">Traitement en cours…</string>
<string name="protection">Protection</string> <string name="protection">Protection</string>

View File

@@ -144,7 +144,6 @@
<string name="no_url_handler">Instalirajte web preglednik da bi ste otvorili ovaj URL.</string> <string name="no_url_handler">Instalirajte web preglednik da bi ste otvorili ovaj URL.</string>
<string name="select_database_file">Otvori postojeću bazu podataka</string> <string name="select_database_file">Otvori postojeću bazu podataka</string>
<string name="create_keepass_file">Stvori novu bazu podataka</string> <string name="create_keepass_file">Stvori novu bazu podataka</string>
<string name="omit_backup_search_title">Ne pretražuj kopije unosa</string>
<string name="progress_create">Stvaranje nove baze podataka …</string> <string name="progress_create">Stvaranje nove baze podataka …</string>
<string name="protection">Zaštita</string> <string name="protection">Zaštita</string>
<string name="contains_duplicate_uuid">Baza podataka sadrži duplicirane UUID-ove.</string> <string name="contains_duplicate_uuid">Baza podataka sadrži duplicirane UUID-ove.</string>
@@ -258,7 +257,6 @@
<string name="menu_move">Premjesti</string> <string name="menu_move">Premjesti</string>
<string name="menu_cancel">Otkaži</string> <string name="menu_cancel">Otkaži</string>
<string name="menu_file_selection_read_only">Zaštićeno od pisanja</string> <string name="menu_file_selection_read_only">Zaštićeno od pisanja</string>
<string name="omit_backup_search_summary">Izostavi grupe \"Backup\" i \"Recycle bin\" iz rezultata pretraživanja</string>
<string name="progress_title">Rad u tijeku …</string> <string name="progress_title">Rad u tijeku …</string>
<string name="read_only">Zaštićeno od pisanja</string> <string name="read_only">Zaštićeno od pisanja</string>
<string name="read_only_warning">Ovisno o upravitelju datoteka, KeePassDX možda neće moći pisati u tvoje spremište.</string> <string name="read_only_warning">Ovisno o upravitelju datoteka, KeePassDX možda neće moći pisati u tvoje spremište.</string>

View File

@@ -111,8 +111,6 @@
<string name="never">Soha</string> <string name="never">Soha</string>
<string name="no_results">Nincs találat</string> <string name="no_results">Nincs találat</string>
<string name="no_url_handler">Telepítsen egy webböngészőt az URL megnyitásához.</string> <string name="no_url_handler">Telepítsen egy webböngészőt az URL megnyitásához.</string>
<string name="omit_backup_search_title">Ne keressen a biztonsági mentésekben</string>
<string name="omit_backup_search_summary">A „Biztonsági mentés” csoport kihagyása a keresésből (csak a .kdb fájlokra érvényes)</string>
<string name="progress_create">Új adatbázis létrehozása…</string> <string name="progress_create">Új adatbázis létrehozása…</string>
<string name="progress_title">Feldolgozás…</string> <string name="progress_title">Feldolgozás…</string>
<string name="protection">Védelem</string> <string name="protection">Védelem</string>

View File

@@ -177,8 +177,6 @@
<string name="contact">Kontak</string> <string name="contact">Kontak</string>
<string name="auto_focus_search_summary">Minta pencarian saat membuka database</string> <string name="auto_focus_search_summary">Minta pencarian saat membuka database</string>
<string name="auto_focus_search_title">Pencarian cepat</string> <string name="auto_focus_search_title">Pencarian cepat</string>
<string name="omit_backup_search_summary">Menghilangkan grup \"Cadangan\" dan \"Tempat sampah\" dari hasil penelusuran</string>
<string name="omit_backup_search_title">Jangan mencari melalui entri cadangan</string>
<string name="create_keepass_file">Buat basisdata baru</string> <string name="create_keepass_file">Buat basisdata baru</string>
<string name="select_database_file">Buka basisdata yang sudah ada</string> <string name="select_database_file">Buka basisdata yang sudah ada</string>
<string name="no_url_handler">Pasang browser web untuk membuka URL ini.</string> <string name="no_url_handler">Pasang browser web untuk membuka URL ini.</string>

View File

@@ -113,8 +113,6 @@
<string name="never">Mai</string> <string name="never">Mai</string>
<string name="no_results">Nessun risultato di ricerca</string> <string name="no_results">Nessun risultato di ricerca</string>
<string name="no_url_handler">Installa un browser web per aprire questo URL.</string> <string name="no_url_handler">Installa un browser web per aprire questo URL.</string>
<string name="omit_backup_search_title">Non cercare nelle voci di backup</string>
<string name="omit_backup_search_summary">Ometti i gruppi «Backup» e «Cestino» dai risultati di ricerca</string>
<string name="progress_create">Creazione di un nuovo database…</string> <string name="progress_create">Creazione di un nuovo database…</string>
<string name="progress_title">In corso…</string> <string name="progress_title">In corso…</string>
<string name="protection">Protezione</string> <string name="protection">Protezione</string>

View File

@@ -109,8 +109,6 @@
<string name="never">אף פעם</string> <string name="never">אף פעם</string>
<string name="no_results">אין תוצאות חיפוש</string> <string name="no_results">אין תוצאות חיפוש</string>
<string name="no_url_handler">אין מטפל לכתובת url זו.</string> <string name="no_url_handler">אין מטפל לכתובת url זו.</string>
<string name="omit_backup_search_title">אל תחפש ערכי גיבוי</string>
<string name="omit_backup_search_summary">הורד את קבוצת \"גיבוי\" מתוצאות חיפוש (תואם רק לקבצי kdb)</string>
<string name="progress_create">צור מסד נתונים חדש…</string> <string name="progress_create">צור מסד נתונים חדש…</string>
<string name="progress_title">עובד…</string> <string name="progress_title">עובד…</string>
<string name="protection">הגנה</string> <string name="protection">הגנה</string>

View File

@@ -196,8 +196,6 @@
<string name="no_url_handler">この URL を開くにはウェブブラウザをインストールしてください。</string> <string name="no_url_handler">この URL を開くにはウェブブラウザをインストールしてください。</string>
<string name="select_database_file">既存のデータベースを開く</string> <string name="select_database_file">既存のデータベースを開く</string>
<string name="create_keepass_file">新しいデータベースを作成</string> <string name="create_keepass_file">新しいデータベースを作成</string>
<string name="omit_backup_search_title">バックアップ エントリーを検索しない</string>
<string name="omit_backup_search_summary">検索結果から [バックアップ] と [ゴミ箱] のグループを省きます</string>
<string name="auto_focus_search_title">クイック検索</string> <string name="auto_focus_search_title">クイック検索</string>
<string name="auto_focus_search_summary">データベースを開いたとき、検索を促します</string> <string name="auto_focus_search_summary">データベースを開いたとき、検索を促します</string>
<string name="subdomain_search_title">サブドメイン検索</string> <string name="subdomain_search_title">サブドメイン検索</string>

View File

@@ -131,7 +131,6 @@
<string name="no_url_handler">이 URL을 열기 위해 웹 브라우저를 설치하십시오.</string> <string name="no_url_handler">이 URL을 열기 위해 웹 브라우저를 설치하십시오.</string>
<string name="select_database_file">가지고 있는 데이터베이스 열기</string> <string name="select_database_file">가지고 있는 데이터베이스 열기</string>
<string name="create_keepass_file">새 데이터베이스 생성</string> <string name="create_keepass_file">새 데이터베이스 생성</string>
<string name="omit_backup_search_title">백업 항목 검색하지 않기</string>
<string name="progress_create">새 데이터베이스 생성 중…</string> <string name="progress_create">새 데이터베이스 생성 중…</string>
<string name="progress_title">작업 중…</string> <string name="progress_title">작업 중…</string>
<string name="protection">보호</string> <string name="protection">보호</string>

View File

@@ -86,7 +86,6 @@
<string name="app_timeout">Programėlės neveiklumas</string> <string name="app_timeout">Programėlės neveiklumas</string>
<string name="clipboard_error_clear">Nepavyko išvalyti iškarpinės</string> <string name="clipboard_error_clear">Nepavyko išvalyti iškarpinės</string>
<string name="list_size_summary">Teksto dydis grupės sąraše</string> <string name="list_size_summary">Teksto dydis grupės sąraše</string>
<string name="omit_backup_search_title">Neiškoti atkūrimo įrašuose</string>
<string name="error_can_not_handle_uri">KeePassDX negali apdoroti šio URI.</string> <string name="error_can_not_handle_uri">KeePassDX negali apdoroti šio URI.</string>
<string name="entry_not_found">Įrašo duomenys nerasti.</string> <string name="entry_not_found">Įrašo duomenys nerasti.</string>
<string name="keyfile_is_empty">Rakto failas yra tuščias.</string> <string name="keyfile_is_empty">Rakto failas yra tuščias.</string>

View File

@@ -108,8 +108,6 @@
<string name="never">Nekad</string> <string name="never">Nekad</string>
<string name="no_results">Nav meklēšanas rezultātu</string> <string name="no_results">Nav meklēšanas rezultātu</string>
<string name="no_url_handler">Neizdevās atvērt saiti.</string> <string name="no_url_handler">Neizdevās atvērt saiti.</string>
<string name="omit_backup_search_title">Nemeklēt kopijās un atkritnē</string>
<string name="omit_backup_search_summary">Izlaist kopijas un atkritni no meklēšanas rezultātiem</string>
<string name="progress_create">Izveido jaunu datu bāzi…</string> <string name="progress_create">Izveido jaunu datu bāzi…</string>
<string name="progress_title">Darbojas…</string> <string name="progress_title">Darbojas…</string>
<string name="protection">Aizsardzība</string> <string name="protection">Aizsardzība</string>

View File

@@ -306,8 +306,6 @@
<string name="contains_duplicate_uuid">ഡാറ്റാബേസിൽ തനിപ്പകർപ്പ് UUID-കൾ അടങ്ങിയിരിക്കുന്നു.</string> <string name="contains_duplicate_uuid">ഡാറ്റാബേസിൽ തനിപ്പകർപ്പ് UUID-കൾ അടങ്ങിയിരിക്കുന്നു.</string>
<string name="read_only_warning">നിങ്ങളുടെ ഫയൽ മാനേജരെ ആശ്രയിച്ച്, നിങ്ങളുടെ സ്റ്റോറേജിൽ എഴുതാൻ KeePassDX-നെ അനുവദിച്ചേക്കില്ല.</string> <string name="read_only_warning">നിങ്ങളുടെ ഫയൽ മാനേജരെ ആശ്രയിച്ച്, നിങ്ങളുടെ സ്റ്റോറേജിൽ എഴുതാൻ KeePassDX-നെ അനുവദിച്ചേക്കില്ല.</string>
<string name="auto_focus_search_summary">ഡാറ്റാബേസ് തുറക്കുമ്പോൾ തിരയൽ അഭ്യർത്ഥിക്കുക</string> <string name="auto_focus_search_summary">ഡാറ്റാബേസ് തുറക്കുമ്പോൾ തിരയൽ അഭ്യർത്ഥിക്കുക</string>
<string name="omit_backup_search_summary">തിരയൽ ഫലങ്ങളിൽ നിന്ന് \"ബാക്കപ്പ്\", \"റീസൈക്കിൾ ബിൻ\" ഗ്രൂപ്പുകൾ ഒഴിവാക്കുക</string>
<string name="omit_backup_search_title">ബാക്കപ്പ് എൻ‌ട്രികളിലൂടെ തിരയരുത്</string>
<string name="menu_open_file_read_and_write">പരിഷ്‌ക്കരിക്കാവുന്ന</string> <string name="menu_open_file_read_and_write">പരിഷ്‌ക്കരിക്കാവുന്ന</string>
<string name="menu_file_selection_read_only">റൈറ്റ്-പരിരക്ഷിതമാണ്</string> <string name="menu_file_selection_read_only">റൈറ്റ്-പരിരക്ഷിതമാണ്</string>
<string name="error_otp_digits">ടോക്കണിൽ %1$d മുതൽ %2$d അക്കങ്ങൾ വരെ ഉണ്ടായിരിക്കണം.</string> <string name="error_otp_digits">ടോക്കണിൽ %1$d മുതൽ %2$d അക്കങ്ങൾ വരെ ഉണ്ടായിരിക്കണം.</string>

View File

@@ -130,8 +130,6 @@
<string name="no_results">Ingen søkeresultater</string> <string name="no_results">Ingen søkeresultater</string>
<string name="no_url_handler">Kan ikke håndtere denne nettadressen.</string> <string name="no_url_handler">Kan ikke håndtere denne nettadressen.</string>
<string name="select_database_file">Velg en eksisterende database</string> <string name="select_database_file">Velg en eksisterende database</string>
<string name="omit_backup_search_title">Ikke søk gjennom sikkerhetskopioppføringer</string>
<string name="omit_backup_search_summary">Utelat \"Sikkerhetskopi\"-gruppen fra søkeresultater (har kunn innvirkning på .kdb-filer)</string>
<string name="progress_create">Oppretter ny database…</string> <string name="progress_create">Oppretter ny database…</string>
<string name="progress_title">Arbeider…</string> <string name="progress_title">Arbeider…</string>
<string name="protection">Beskyttelse</string> <string name="protection">Beskyttelse</string>

View File

@@ -104,8 +104,6 @@
<string name="never">Nooit</string> <string name="never">Nooit</string>
<string name="no_results">Geen zoekresultaten</string> <string name="no_results">Geen zoekresultaten</string>
<string name="no_url_handler">Installeer een webbrowser om deze URL te openen.</string> <string name="no_url_handler">Installeer een webbrowser om deze URL te openen.</string>
<string name="omit_backup_search_title">Back-upitems niet doorzoeken</string>
<string name="omit_backup_search_summary">Hiermee worden groepen \"Back-up\" en \"Prullenbak\" uit de zoekresultaten weggelaten</string>
<string name="progress_create">Nieuwe database aanmaken…</string> <string name="progress_create">Nieuwe database aanmaken…</string>
<string name="progress_title">Bezig met verwerken…</string> <string name="progress_title">Bezig met verwerken…</string>
<string name="content_description_remove_from_list">Verwijderen</string> <string name="content_description_remove_from_list">Verwijderen</string>

View File

@@ -101,8 +101,6 @@
<string name="never">Aldri</string> <string name="never">Aldri</string>
<string name="no_results">Ingen søkjeresultat</string> <string name="no_results">Ingen søkjeresultat</string>
<string name="no_url_handler">Ingen behandlar for denne adressa.</string> <string name="no_url_handler">Ingen behandlar for denne adressa.</string>
<string name="omit_backup_search_title">Søk ikkje i kopipostane eller søppelbøtta</string>
<string name="omit_backup_search_summary">Søkjeresultatet inneheld ikkje oppføringar frå \'Backup\' eller søppelbøtta</string>
<string name="progress_create">Lager ny database …</string> <string name="progress_create">Lager ny database …</string>
<string name="progress_title">Arbeider …</string> <string name="progress_title">Arbeider …</string>
<string name="content_description_remove_from_list">Ta vekk</string> <string name="content_description_remove_from_list">Ta vekk</string>

View File

@@ -71,7 +71,6 @@
<string name="subdomain_search_title">ਅਧੀਨ-ਡੋਮੇਨ ਖੋਜ</string> <string name="subdomain_search_title">ਅਧੀਨ-ਡੋਮੇਨ ਖੋਜ</string>
<string name="auto_focus_search_summary">ਜਦੋਂ ਡਾਟਾਬੇਸ ਖੋਲ੍ਹਣਾ ਹੋਵੇ ਤਾਂ ਖੋਜ ਦੀ ਮੰਗ ਕਰੋ</string> <string name="auto_focus_search_summary">ਜਦੋਂ ਡਾਟਾਬੇਸ ਖੋਲ੍ਹਣਾ ਹੋਵੇ ਤਾਂ ਖੋਜ ਦੀ ਮੰਗ ਕਰੋ</string>
<string name="auto_focus_search_title">ਫ਼ੌਰੀ ਖੋਜ</string> <string name="auto_focus_search_title">ਫ਼ੌਰੀ ਖੋਜ</string>
<string name="omit_backup_search_title">ਬੈਕਐਪ ਐਂਟਰੀਆਂ ਰਾਹੀਂ ਨਾ ਖੋਜੋ</string>
<string name="create_keepass_file">ਨਵਾਂ ਡਾਟਾਬੇਸ ਬਣਾਓ</string> <string name="create_keepass_file">ਨਵਾਂ ਡਾਟਾਬੇਸ ਬਣਾਓ</string>
<string name="select_database_file">ਮੌਜੂਦਾ ਡਾਟਾਬੇਸ ਨੂੰ ਖੋਲ੍ਹੋ</string> <string name="select_database_file">ਮੌਜੂਦਾ ਡਾਟਾਬੇਸ ਨੂੰ ਖੋਲ੍ਹੋ</string>
<string name="no_url_handler">ਇਹ URL ਖੋਲ੍ਹਣ ਲਈ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਇੰਸਟਾਲ ਕਰੋ।</string> <string name="no_url_handler">ਇਹ URL ਖੋਲ੍ਹਣ ਲਈ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਇੰਸਟਾਲ ਕਰੋ।</string>

View File

@@ -100,8 +100,6 @@
<string name="never">Nigdy</string> <string name="never">Nigdy</string>
<string name="no_results">Brak wyników wyszukiwania</string> <string name="no_results">Brak wyników wyszukiwania</string>
<string name="no_url_handler">Zainstaluj przeglądarkę internetową, aby otworzyć ten adres URL.</string> <string name="no_url_handler">Zainstaluj przeglądarkę internetową, aby otworzyć ten adres URL.</string>
<string name="omit_backup_search_title">Nie wyszukuj wpisów kopii zapasowej</string>
<string name="omit_backup_search_summary">Pomija grupy \"Kopia zapasowa\" i \"Kosz\" z wyników wyszukiwania</string>
<string name="progress_create">Tworzenie nowej bazy danych…</string> <string name="progress_create">Tworzenie nowej bazy danych…</string>
<string name="progress_title">Pracuję…</string> <string name="progress_title">Pracuję…</string>
<string name="content_description_remove_from_list">Usuń</string> <string name="content_description_remove_from_list">Usuń</string>

View File

@@ -102,8 +102,6 @@
<string name="never">Nunca</string> <string name="never">Nunca</string>
<string name="no_results">Sem resultados na busca</string> <string name="no_results">Sem resultados na busca</string>
<string name="no_url_handler">Instale um navegador para abrir esta URL.</string> <string name="no_url_handler">Instale um navegador para abrir esta URL.</string>
<string name="omit_backup_search_title">Não buscar por entradas no backup ou na lixeira</string>
<string name="omit_backup_search_summary">Omite os grupos \"Backup\" e \"Lixeira\" dos resultados da busca</string>
<string name="progress_create">Criando novo banco de dados…</string> <string name="progress_create">Criando novo banco de dados…</string>
<string name="progress_title">Trabalhando…</string> <string name="progress_title">Trabalhando…</string>
<string name="content_description_remove_from_list">Remover</string> <string name="content_description_remove_from_list">Remover</string>

View File

@@ -112,8 +112,6 @@
<string name="never">Nunca</string> <string name="never">Nunca</string>
<string name="no_results">A pesquisa não obteve resultados</string> <string name="no_results">A pesquisa não obteve resultados</string>
<string name="no_url_handler">Instale um navegador para abrir esta URL.</string> <string name="no_url_handler">Instale um navegador para abrir esta URL.</string>
<string name="omit_backup_search_title">Não procurar por entradas na cópia de segurança e lixo</string>
<string name="omit_backup_search_summary">Omite os grupos \"Cópia de segurança\" e \"Caixote da reciclagem\" dos resultados da busca</string>
<string name="progress_create">A criar nova base de dados…</string> <string name="progress_create">A criar nova base de dados…</string>
<string name="progress_title">Em funcionamento…</string> <string name="progress_title">Em funcionamento…</string>
<string name="protection">Proteção</string> <string name="protection">Proteção</string>

View File

@@ -253,8 +253,6 @@
<string name="show_recent_files_title">Mostrar ficheiros recentes</string> <string name="show_recent_files_title">Mostrar ficheiros recentes</string>
<string name="auto_focus_search_summary">Solicitar uma pesquisa quando abrir a base de dados</string> <string name="auto_focus_search_summary">Solicitar uma pesquisa quando abrir a base de dados</string>
<string name="auto_focus_search_title">Pesquisa rápida</string> <string name="auto_focus_search_title">Pesquisa rápida</string>
<string name="omit_backup_search_summary">Omite os grupos \"Cópia de segurança\" e \"Caixote da reciclagem\" dos resultados da busca</string>
<string name="omit_backup_search_title">Não procurar por entradas na cópia de segurança e lixo</string>
<string name="about">Sobre</string> <string name="about">Sobre</string>
<string name="hide_password_summary">Mascarar palavras-passe (***) por predefinição</string> <string name="hide_password_summary">Mascarar palavras-passe (***) por predefinição</string>
<string name="hide_password_title">Ocultar palavras-passe</string> <string name="hide_password_title">Ocultar palavras-passe</string>

View File

@@ -406,8 +406,6 @@
<string name="icon_pack_choose_summary">Pachet de pictograme folosit în aplicație</string> <string name="icon_pack_choose_summary">Pachet de pictograme folosit în aplicație</string>
<string name="hide_expired_entries_title">Ascundeți intrările expirate</string> <string name="hide_expired_entries_title">Ascundeți intrările expirate</string>
<string name="hide_expired_entries_summary">Înscrierile expirate vor fi ascunse</string> <string name="hide_expired_entries_summary">Înscrierile expirate vor fi ascunse</string>
<string name="omit_backup_search_title">Nu căutați prin intrări de rezervă</string>
<string name="omit_backup_search_summary">Omite grupurile „Backup” și „Recycle bin” din rezultatele căutării</string>
<string name="auto_focus_search_title">Căutare rapidă</string> <string name="auto_focus_search_title">Căutare rapidă</string>
<string name="auto_focus_search_summary">Solicitați o căutare atunci când deschideți o bază de date</string> <string name="auto_focus_search_summary">Solicitați o căutare atunci când deschideți o bază de date</string>
<string name="remember_database_locations_title">Salvați locația bazelor de date</string> <string name="remember_database_locations_title">Salvați locația bazelor de date</string>

View File

@@ -112,8 +112,6 @@
<string name="never">Никогда</string> <string name="never">Никогда</string>
<string name="no_results">Совпадения не найдены</string> <string name="no_results">Совпадения не найдены</string>
<string name="no_url_handler">Установите браузер, чтобы открыть этот URL.</string> <string name="no_url_handler">Установите браузер, чтобы открыть этот URL.</string>
<string name="omit_backup_search_title">Не искать в резервных копиях</string>
<string name="omit_backup_search_summary">Не искать в группах \"Резервирование\" и \"Корзина\"</string>
<string name="progress_create">Создание новой базы…</string> <string name="progress_create">Создание новой базы…</string>
<string name="progress_title">Обработка…</string> <string name="progress_title">Обработка…</string>
<string name="protection">Защита</string> <string name="protection">Защита</string>

View File

@@ -101,8 +101,6 @@
<string name="never">Nikdy</string> <string name="never">Nikdy</string>
<string name="no_results">Žiadne výsledky hľadania</string> <string name="no_results">Žiadne výsledky hľadania</string>
<string name="no_url_handler">Žiaden manažér pre url.</string> <string name="no_url_handler">Žiaden manažér pre url.</string>
<string name="omit_backup_search_title">Neprehľadávať položky</string>
<string name="omit_backup_search_summary">Vynechať skupinu \'Backup\' a Recycle Bin z výsledkov hľadania</string>
<string name="progress_create">Vytváram novú databázu…</string> <string name="progress_create">Vytváram novú databázu…</string>
<string name="progress_title">Pracujem…</string> <string name="progress_title">Pracujem…</string>
<string name="content_description_remove_from_list">Odstrániť</string> <string name="content_description_remove_from_list">Odstrániť</string>

View File

@@ -110,8 +110,6 @@
<string name="never">Aldrig</string> <string name="never">Aldrig</string>
<string name="no_results">Inget sökresultat</string> <string name="no_results">Inget sökresultat</string>
<string name="no_url_handler">Installera en webbläsare för att öppna denna URL.</string> <string name="no_url_handler">Installera en webbläsare för att öppna denna URL.</string>
<string name="omit_backup_search_title">Sök inte efter backup-poster</string>
<string name="omit_backup_search_summary">Utelämnar poster i grupperna \"Backup\" och \"Papperskorg\"</string>
<string name="progress_create">Skapar ny databas…</string> <string name="progress_create">Skapar ny databas…</string>
<string name="progress_title">Arbetar…</string> <string name="progress_title">Arbetar…</string>
<string name="protection">Skydd</string> <string name="protection">Skydd</string>

View File

@@ -130,8 +130,6 @@
<string name="no_url_handler">Bu URL\'u açmak için bir web tarayıcısı yükleyin.</string> <string name="no_url_handler">Bu URL\'u açmak için bir web tarayıcısı yükleyin.</string>
<string name="select_database_file">Mevcut veri tabanını</string> <string name="select_database_file">Mevcut veri tabanını</string>
<string name="create_keepass_file">Yeni veri tabanı oluştur</string> <string name="create_keepass_file">Yeni veri tabanı oluştur</string>
<string name="omit_backup_search_title">Yedek girdilerde arama</string>
<string name="omit_backup_search_summary">Arama sonuçlarından \"Yedekleme\" ve \"Geri dönüşüm kutusu\" gruplarını atlar</string>
<string name="progress_create">Yeni veri tabanı oluşturuluyor…</string> <string name="progress_create">Yeni veri tabanı oluşturuluyor…</string>
<string name="progress_title">Çalışıyor…</string> <string name="progress_title">Çalışıyor…</string>
<string name="protection">Koruma</string> <string name="protection">Koruma</string>

View File

@@ -102,8 +102,6 @@
<string name="never">Ніколи</string> <string name="never">Ніколи</string>
<string name="no_results">Нічого не знайдено</string> <string name="no_results">Нічого не знайдено</string>
<string name="no_url_handler">Щоб відкрити цю URL-адресу, встановіть переглядач Інтернету.</string> <string name="no_url_handler">Щоб відкрити цю URL-адресу, встановіть переглядач Інтернету.</string>
<string name="omit_backup_search_title">Не шукати у записах резервних копій</string>
<string name="omit_backup_search_summary">Не шукати у групах «Резервна копія» та «Кошик»</string>
<string name="progress_create">Створення нової бази даних…</string> <string name="progress_create">Створення нової бази даних…</string>
<string name="progress_title">Працює…</string> <string name="progress_title">Працює…</string>
<string name="content_description_remove_from_list">Вилучити</string> <string name="content_description_remove_from_list">Вилучити</string>

View File

@@ -152,8 +152,6 @@
<string name="menu_showpass">显示密码</string> <string name="menu_showpass">显示密码</string>
<string name="menu_file_selection_read_only">只读</string> <string name="menu_file_selection_read_only">只读</string>
<string name="menu_open_file_read_and_write">可修改</string> <string name="menu_open_file_read_and_write">可修改</string>
<string name="omit_backup_search_title">搜索时忽略备份条目</string>
<string name="omit_backup_search_summary">从搜索结果中忽略“备份”和“回收站”群组</string>
<string name="protection">保护</string> <string name="protection">保护</string>
<string name="read_only">只读</string> <string name="read_only">只读</string>
<string name="read_only_warning">根据您的文件管理器KeePassDX 可能不允许在您的存储中写入数据。</string> <string name="read_only_warning">根据您的文件管理器KeePassDX 可能不允许在您的存储中写入数据。</string>

View File

@@ -448,8 +448,6 @@
<string name="no_url_handler">沒有這個連結的處理程式。</string> <string name="no_url_handler">沒有這個連結的處理程式。</string>
<string name="notification">通知</string> <string name="notification">通知</string>
<string name="number">卡號</string> <string name="number">卡號</string>
<string name="omit_backup_search_summary">從搜尋結果中省略\"備份\"和\"回收桶\"組</string>
<string name="omit_backup_search_title">不要搜尋備份的項目</string>
<string name="open_advanced_unlock_prompt_store_credential">點擊以開啟高級解鎖提示來存儲憑證</string> <string name="open_advanced_unlock_prompt_store_credential">點擊以開啟高級解鎖提示來存儲憑證</string>
<string name="open_advanced_unlock_prompt_unlock_database">點擊以使用高級解鎖</string> <string name="open_advanced_unlock_prompt_unlock_database">點擊以使用高級解鎖</string>
<string name="other">其他</string> <string name="other">其他</string>

View File

@@ -34,6 +34,6 @@
<dimen name="hidden_lock_button_size">0dp</dimen> <dimen name="hidden_lock_button_size">0dp</dimen>
<dimen name="content_percent">1</dimen> <dimen name="content_percent">1</dimen>
<dimen name="toolbar_parallax_height">160dp</dimen> <dimen name="toolbar_parallax_height">160dp</dimen>
<dimen name="advanced_search_height">160dp</dimen> <dimen name="advanced_search_height">220dp</dimen>
<integer name="animation_duration">260</integer> <integer name="animation_duration">260</integer>
</resources> </resources>

View File

@@ -69,8 +69,6 @@
<bool name="enable_auto_save_database_default" translatable="false">true</bool> <bool name="enable_auto_save_database_default" translatable="false">true</bool>
<string name="enable_keep_screen_on_key" translatable="false">enable_keep_screen_on_key</string> <string name="enable_keep_screen_on_key" translatable="false">enable_keep_screen_on_key</string>
<bool name="enable_keep_screen_on_default" translatable="false">false</bool> <bool name="enable_keep_screen_on_default" translatable="false">false</bool>
<string name="omit_backup_search_key" translatable="false">omit_backup_search_key</string>
<bool name="omit_backup_search_default" translatable="false">true</bool>
<string name="auto_focus_search_key" translatable="false">auto_focus_search_key</string> <string name="auto_focus_search_key" translatable="false">auto_focus_search_key</string>
<bool name="auto_focus_search_default" translatable="false">false</bool> <bool name="auto_focus_search_default" translatable="false">false</bool>
<string name="subdomain_search_key" translatable="false">subdomain_search_key</string> <string name="subdomain_search_key" translatable="false">subdomain_search_key</string>

View File

@@ -252,8 +252,6 @@
<string name="no_url_handler">Install a web browser to open this URL.</string> <string name="no_url_handler">Install a web browser to open this URL.</string>
<string name="select_database_file">Open existing database</string> <string name="select_database_file">Open existing database</string>
<string name="create_keepass_file">Create new database</string> <string name="create_keepass_file">Create new database</string>
<string name="omit_backup_search_title">Don\'t search through backup entries</string>
<string name="omit_backup_search_summary">Omits \"Backup\" and \"Recycle bin\" groups from search results</string>
<string name="auto_focus_search_title">Quick search</string> <string name="auto_focus_search_title">Quick search</string>
<string name="auto_focus_search_summary">Request a search when opening a database</string> <string name="auto_focus_search_summary">Request a search when opening a database</string>
<string name="subdomain_search_title">Subdomain search</string> <string name="subdomain_search_title">Subdomain search</string>

View File

@@ -54,11 +54,6 @@
<PreferenceCategory <PreferenceCategory
android:title="@string/search_label"> android:title="@string/search_label">
<SwitchPreference
android:key="@string/omit_backup_search_key"
android:title="@string/omit_backup_search_title"
android:summary="@string/omit_backup_search_summary"
android:defaultValue="@bool/omit_backup_search_default"/>
<SwitchPreference <SwitchPreference
android:key="@string/auto_focus_search_key" android:key="@string/auto_focus_search_key"
android:title="@string/auto_focus_search_title" android:title="@string/auto_focus_search_title"