mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
62 lines
2.4 KiB
Kotlin
62 lines
2.4 KiB
Kotlin
package com.kunzisoft.keepass.view
|
|
|
|
import android.content.Context
|
|
import android.util.AttributeSet
|
|
import android.view.View
|
|
import android.widget.ImageView
|
|
import android.widget.TextView
|
|
import androidx.core.graphics.BlendModeColorFilterCompat
|
|
import androidx.core.graphics.BlendModeCompat
|
|
import androidx.core.view.isVisible
|
|
import com.google.android.material.navigation.NavigationView
|
|
import com.kunzisoft.keepass.R
|
|
|
|
class NavigationDatabaseView @JvmOverloads constructor(context: Context,
|
|
attrs: AttributeSet? = null,
|
|
defStyle: Int = 0)
|
|
: NavigationView(context, attrs, defStyle) {
|
|
|
|
private var databaseNavContainerView: View? = null
|
|
private var databaseNavIconView: ImageView? = null
|
|
private var databaseNavModifiedView: ImageView? = null
|
|
private var databaseNavColorView: ImageView? = null
|
|
private var databaseNavNameView: TextView? = null
|
|
private var databaseNavVersionView: TextView? = null
|
|
|
|
init {
|
|
inflateHeaderView(R.layout.nav_header_database)
|
|
databaseNavIconView = databaseNavContainerView?.findViewById(R.id.nav_database_icon)
|
|
databaseNavModifiedView = databaseNavContainerView?.findViewById(R.id.nav_database_modified)
|
|
databaseNavColorView = databaseNavContainerView?.findViewById(R.id.nav_database_color)
|
|
databaseNavNameView = databaseNavContainerView?.findViewById(R.id.nav_database_name)
|
|
databaseNavVersionView = databaseNavContainerView?.findViewById(R.id.nav_database_version)
|
|
}
|
|
|
|
override fun inflateHeaderView(res: Int): View {
|
|
val headerView = super.inflateHeaderView(res)
|
|
databaseNavContainerView = headerView
|
|
return headerView
|
|
}
|
|
|
|
fun setDatabaseName(name: String) {
|
|
databaseNavNameView?.text = name
|
|
}
|
|
|
|
fun setDatabaseVersion(version: String) {
|
|
databaseNavVersionView?.text = version
|
|
}
|
|
|
|
fun setDatabaseModifiedSinceLastLoading(modified: Boolean) {
|
|
databaseNavModifiedView?.isVisible = modified
|
|
}
|
|
|
|
fun setDatabaseColor(color: Int?) {
|
|
if (color != null) {
|
|
databaseNavColorView?.drawable?.colorFilter = BlendModeColorFilterCompat
|
|
.createBlendModeColorFilterCompat(color, BlendModeCompat.SRC_IN)
|
|
databaseNavColorView?.visibility = View.VISIBLE
|
|
} else {
|
|
databaseNavColorView?.visibility = View.GONE
|
|
}
|
|
}
|
|
} |