Skip to content

Commit

Permalink
add tooltip with emoji name to emoji popup
Browse files Browse the repository at this point in the history
  • Loading branch information
zoff99 committed Feb 4, 2024
1 parent d6e3d0b commit b1d0187
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 27 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.zoffcc.applications.trifa

class EmojiStrAndName
{
var char: String = ""
var name: String = ""
}
33 changes: 27 additions & 6 deletions src/main/kotlin/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ import javax.swing.UIManager
import com.vanniktech.emoji.EmojiManager
import com.vanniktech.emoji.ios.IosEmojiProvider
import com.vanniktech.emoji.search.SearchEmojiManager
import com.zoffcc.applications.trifa.EmojiStrAndName

private const val TAG = "trifa.Main.kt"
var tox_running_state_wrapper = "start"
Expand Down Expand Up @@ -225,7 +226,7 @@ const val MSG_TEXT_FONT_SIZE_EMOJI_ONLY = 55.0f
const val MAX_ONE_ON_ONE_MESSAGES_TO_SHOW = 20000
const val MAX_GROUP_MESSAGES_TO_SHOW = 20000
const val SNACKBAR_TOAST_MS_DURATION: Long = 1000
var emojis_cat_all_gropued: ArrayList<ArrayList<ArrayList<String>>> = ArrayList()
var emojis_cat_all_gropued: ArrayList<ArrayList<ArrayList<EmojiStrAndName>>> = ArrayList()
var emojis_cat_all_cat_names: ArrayList<String> = ArrayList()
var emojis_cat_all_cat_emoji: ArrayList<String> = ArrayList()
val emojis_per_row = 6
Expand Down Expand Up @@ -1386,29 +1387,49 @@ fun main() = application(exitProcessOnExit = true) {
for(j in 0..(IosEmojiProvider().categories.size - 1))
{
Log.i(TAG, "adding emoji category: " + j + " : " + IosEmojiProvider().categories[j].categoryNames.values.elementAt(0))
val emojis_cat_gropued: ArrayList<ArrayList<String>> = ArrayList()
val emojis_cat_gropued: ArrayList<ArrayList<EmojiStrAndName>> = ArrayList()
emojis_cat_ = IosEmojiProvider().categories[j].emojis
grouped_entries = emojis_cat_.size / emojis_per_row
remain = emojis_cat_.size - (grouped_entries * emojis_per_row)
for (i in 0..(grouped_entries - 1))
{
val pos = i * emojis_per_row
val e: ArrayList<String> = ArrayList()
val e: ArrayList<EmojiStrAndName> = ArrayList()
for (j in 0..(emojis_per_row - 1))
{
// Log.i(TAG, "emoji name(s): " + emojis_cat_[pos + j].shortcodes)
// Log.i(TAG, "emoji: " + emojis_cat_[pos + j].unicode)
e.add(emojis_cat_[pos + j].unicode)
val em = EmojiStrAndName()
em.char = emojis_cat_[pos + j].unicode
em.name = ""
try
{
em.name = emojis_cat_[pos + j].shortcodes.get(0)
}
catch(_: java.lang.Exception)
{
}
e.add(em)
}
emojis_cat_gropued.add(e)
}
if (remain > 0)
{
val pos = grouped_entries * emojis_per_row
val e: ArrayList<String> = ArrayList()
val e: ArrayList<EmojiStrAndName> = ArrayList()
for (j in 0..(remain - 1))
{
e.add(emojis_cat_[pos + j].unicode)
val em = EmojiStrAndName()
em.char = emojis_cat_[pos + j].unicode
em.name = ""
try
{
em.name = emojis_cat_[pos + j].shortcodes.get(0)
}
catch(_: java.lang.Exception)
{
}
e.add(em)
}
emojis_cat_gropued.add(e)
}
Expand Down
27 changes: 17 additions & 10 deletions src/main/kotlin/com/zoffcc/applications/trifa2/GroupSendMessage.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.VerticalScrollbar
import androidx.compose.foundation.background
import androidx.compose.foundation.border
Expand Down Expand Up @@ -59,9 +60,11 @@ import androidx.compose.ui.window.PopupProperties
import com.zoffcc.applications.trifa.Log
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import org.briarproject.briar.desktop.ui.Tooltip

private const val TAG = "trifa.SendGroupMessage"

@OptIn(ExperimentalFoundationApi::class)
@Composable
fun GroupSendMessage(focusRequester: FocusRequester, selectedGroupId: String?, sendGroupMessage: (String) -> Unit) {
var inputText by remember { mutableStateOf("") }
Expand Down Expand Up @@ -201,10 +204,12 @@ fun GroupSendMessage(focusRequester: FocusRequester, selectedGroupId: String?, s
Row() {
for(k in 0..(emojis_cat_all_gropued.size - 1))
{
IconButton(modifier = Modifier.width(30.dp).height(30.dp),
onClick = { cur_emoji_cat = k }) {
Text(text = emojis_cat_all_cat_emoji.get(k),
color = Color.Black, fontSize = 20.sp, maxLines = 1)
Tooltip(text = emojis_cat_all_cat_names.get(k)) {
IconButton(modifier = Modifier.width(30.dp).height(30.dp),
onClick = { cur_emoji_cat = k }) {
Text(text = emojis_cat_all_cat_emoji.get(k),
color = Color.Black, fontSize = 20.sp, maxLines = 1)
}
}
}
}
Expand All @@ -224,12 +229,14 @@ fun GroupSendMessage(focusRequester: FocusRequester, selectedGroupId: String?, s
val placeholder = "?"
var curtext by remember { mutableStateOf(placeholder) }
val scope = rememberCoroutineScope()
IconButton(modifier = Modifier.width(40.dp).height(40.dp),
onClick = { inputText = inputText + it[k] }) {
Text(text = curtext, color = Color.Black, fontSize = 30.sp, maxLines = 1)
scope.launch {
delay(62)
curtext = emojistr
Tooltip(text = if (emojistr.name.isEmpty()) "" else emojistr.name) {
IconButton(modifier = Modifier.width(40.dp).height(40.dp),
onClick = { inputText = inputText + it[k].char }) {
Text(text = curtext, color = Color.Black, fontSize = 30.sp, maxLines = 1)
scope.launch {
delay(62)
curtext = emojistr.char
}
}
}
}
Expand Down
30 changes: 19 additions & 11 deletions src/main/kotlin/com/zoffcc/applications/trifa2/SendMessage.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import androidx.compose.foundation.ContextMenuArea
import androidx.compose.foundation.ContextMenuItem
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.VerticalScrollbar
import androidx.compose.foundation.background
import androidx.compose.foundation.border
Expand Down Expand Up @@ -79,12 +80,14 @@ import com.zoffcc.applications.trifa.TRIFAGlobals
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import org.briarproject.briar.desktop.ui.Tooltip
import java.awt.image.BufferedImage
import java.io.File
import javax.imageio.ImageIO

private const val TAG = "trifa.SendMessage"

@OptIn(ExperimentalFoundationApi::class)
@Composable
fun SendMessage(focusRequester: FocusRequester, selectedContactPubkey: String?, sendMessage: (String) -> Unit) {
var inputText by remember { mutableStateOf("") }
Expand Down Expand Up @@ -171,7 +174,8 @@ fun SendMessage(focusRequester: FocusRequester, selectedContactPubkey: String?,
Text(text = "Type message...", fontSize = 14.sp)
},
onValueChange = {
inputText = replace_emojis_in_text(it)
// inputText = replace_emojis_in_text(it)
inputText = it
},
trailingIcon = {
if (inputText.isNotEmpty()) {
Expand Down Expand Up @@ -259,10 +263,12 @@ fun SendMessage(focusRequester: FocusRequester, selectedContactPubkey: String?,
Row() {
for(k in 0..(emojis_cat_all_gropued.size - 1))
{
IconButton(modifier = Modifier.width(30.dp).height(30.dp),
onClick = { cur_emoji_cat = k }) {
Text(text = emojis_cat_all_cat_emoji.get(k),
color = Color.Black, fontSize = 20.sp, maxLines = 1)
Tooltip(text = emojis_cat_all_cat_names.get(k)) {
IconButton(modifier = Modifier.width(30.dp).height(30.dp),
onClick = { cur_emoji_cat = k }) {
Text(text = emojis_cat_all_cat_emoji.get(k),
color = Color.Black, fontSize = 20.sp, maxLines = 1)
}
}
}
}
Expand All @@ -282,12 +288,14 @@ fun SendMessage(focusRequester: FocusRequester, selectedContactPubkey: String?,
val placeholder = "?"
var curtext by remember { mutableStateOf(placeholder) }
val scope = rememberCoroutineScope()
IconButton(modifier = Modifier.width(40.dp).height(40.dp),
onClick = { inputText = inputText + it[k] }) {
Text(text = curtext, color = Color.Black, fontSize = 30.sp, maxLines = 1)
scope.launch {
delay(62)
curtext = emojistr
Tooltip(text = if (emojistr.name.isEmpty()) "" else emojistr.name) {
IconButton(modifier = Modifier.width(40.dp).height(40.dp),
onClick = { inputText = inputText + it[k].char }) {
Text(text = curtext, color = Color.Black, fontSize = 30.sp, maxLines = 1)
scope.launch {
delay(62)
curtext = emojistr.char
}
}
}
}
Expand Down

0 comments on commit b1d0187

Please sign in to comment.