mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-15 05:27:28 +01:00
Copy to clipboard when long pressing tracking title (closes #3163)
This commit is contained in:
@@ -37,6 +37,7 @@ class TrackAdapter(controller: TrackController) : RecyclerView.Adapter<TrackHold
|
||||
interface OnClickListener {
|
||||
fun onLogoClick(position: Int)
|
||||
fun onSetClick(position: Int)
|
||||
fun onTitleLongClick(position: Int)
|
||||
fun onStatusClick(position: Int)
|
||||
fun onChaptersClick(position: Int)
|
||||
fun onScoreClick(position: Int)
|
||||
|
||||
@@ -11,6 +11,7 @@ import eu.kanade.tachiyomi.data.track.model.TrackSearch
|
||||
import eu.kanade.tachiyomi.databinding.TrackControllerBinding
|
||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
@@ -104,6 +105,12 @@ class TrackController :
|
||||
TrackSearchDialog(this, item.service).showDialog(router, TAG_SEARCH_CONTROLLER)
|
||||
}
|
||||
|
||||
override fun onTitleLongClick(position: Int) {
|
||||
adapter?.getItem(position)?.track?.title?.let {
|
||||
activity?.copyToClipboard(it, it)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStatusClick(position: Int) {
|
||||
val item = adapter?.getItem(position) ?: return
|
||||
if (item.track == null) return
|
||||
|
||||
@@ -35,6 +35,10 @@ class TrackHolder(view: View, adapter: TrackAdapter) : BaseViewHolder(view) {
|
||||
logo_container.setOnClickListener { listener.onLogoClick(bindingAdapterPosition) }
|
||||
track_set.setOnClickListener { listener.onSetClick(bindingAdapterPosition) }
|
||||
track_title.setOnClickListener { listener.onSetClick(bindingAdapterPosition) }
|
||||
track_title.setOnLongClickListener {
|
||||
listener.onTitleLongClick(bindingAdapterPosition)
|
||||
true
|
||||
}
|
||||
track_status.setOnClickListener { listener.onStatusClick(bindingAdapterPosition) }
|
||||
track_chapters.setOnClickListener { listener.onChaptersClick(bindingAdapterPosition) }
|
||||
track_score.setOnClickListener { listener.onScoreClick(bindingAdapterPosition) }
|
||||
|
||||
Reference in New Issue
Block a user