mirror of https://git.sr.ht/~oppen/ariane
35 lines
1.0 KiB
Kotlin
35 lines
1.0 KiB
Kotlin
package oppen.ariane.ui.modals_menus
|
|
|
|
import android.view.MenuInflater
|
|
import android.view.View
|
|
import androidx.appcompat.widget.PopupMenu
|
|
import oppen.ariane.Ariane
|
|
import oppen.ariane.R
|
|
import java.net.URI
|
|
|
|
|
|
object LinkPopup {
|
|
|
|
fun show(view: View?, uri: URI, onMenuOption: (menuId: Int) -> Unit){
|
|
if(view != null) {
|
|
val popup = PopupMenu(view.context, view)
|
|
val inflater: MenuInflater = popup.menuInflater
|
|
|
|
val path = uri.toString().toLowerCase()
|
|
if(Ariane.Companion.FEATURE_INLINE_IMAGES &&
|
|
path.endsWith(".png") ||
|
|
path.endsWith(".jpg") ||
|
|
path.endsWith(".jpeg")){
|
|
inflater.inflate(R.menu.image_link_menu, popup.menu)
|
|
}else{
|
|
inflater.inflate(R.menu.link_menu, popup.menu)
|
|
}
|
|
|
|
popup.setOnMenuItemClickListener { menuItem ->
|
|
onMenuOption(menuItem.itemId)
|
|
true
|
|
}
|
|
popup.show()
|
|
}
|
|
}
|
|
} |