Browse Source

Verify copy through Qt keyboard action and log Android invite presentation

master
evgeny 5 days ago
parent
commit
35266d2a31
  1. 8
      tools/chatgui-android/app/src/main/java/com/utun/chat/ui/components/MessageBubble.kt
  2. 2
      tools/chatgui/tests/test_invite_links.cpp

8
tools/chatgui-android/app/src/main/java/com/utun/chat/ui/components/MessageBubble.kt

@ -53,6 +53,7 @@ import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.utun.chat.data.Message
@ -161,8 +162,13 @@ fun MessageBubble(message: Message, playbackState: ChatViewModel.PlaybackState =
when {
message.inviteGroupName != null -> {
val clipboard = LocalClipboardManager.current
LaunchedEffect(message.id, message.inviteGroupName) {
LogManager.addLog("DEBUG", "PM", "invitation rendered: seq=${message.id} " +
"group_name_bytes=${message.inviteGroupName.toByteArray().size} link_bytes=${message.text.length}")
}
Text(stringResource(R.string.group_invitation, message.inviteGroupName), fontSize = 17.sp, color = textColor)
Text(message.text, fontSize = 17.sp, color = Color(0xFF3390EC), maxLines = 1, overflow = TextOverflow.Ellipsis,
Text(message.text, fontSize = 17.sp, color = Color(0xFF3390EC), textDecoration = TextDecoration.Underline,
maxLines = 1, overflow = TextOverflow.Ellipsis,
modifier = Modifier.fillMaxWidth().combinedClickable(
onClick = { onInviteLink(message.text) },
onLongClickLabel = stringResource(R.string.copy_link),

2
tools/chatgui/tests/test_invite_links.cpp

@ -60,7 +60,7 @@ private slots:
QTest::mouseRelease(view.viewport(), Qt::LeftButton, Qt::NoModifier, lastPoint);
QTest::qWait(20);
QCOMPARE(clicked.count(), 1);
view.copySelection();
QTest::keyClick(&view, Qt::Key_C, Qt::ControlModifier);
QCOMPARE(QApplication::clipboard()->text(), link);
QCOMPARE(index.data(MsgTextRole).toString(), text);
}

Loading…
Cancel
Save