summary refs log tree commit diff
path: root/src/TypingDisplay.cpp
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2019-07-28 18:13:16 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2019-07-28 18:13:16 +0200
commit0398c846f6836b734bf3432696df1e04e86d8867 (patch)
tree65643fadb0b6d3ca16078c03605e219f9750a038 /src/TypingDisplay.cpp
parentFix message_type not being initialized correctly (diff)
downloadnheko-0398c846f6836b734bf3432696df1e04e86d8867.tar.xz
Add 'and' to typing display
Diffstat (limited to 'src/TypingDisplay.cpp')
-rw-r--r--src/TypingDisplay.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/TypingDisplay.cpp b/src/TypingDisplay.cpp

index 6059601d..43fabcd8 100644 --- a/src/TypingDisplay.cpp +++ b/src/TypingDisplay.cpp
@@ -33,6 +33,14 @@ TypingDisplay::setUsers(const QStringList &uid) text_.clear(); + QString temp = text_ += + tr("%1 and %2 are typing", + "Multiple users are typing. First argument is a comma separated list of potentially " + "multiple users. Second argument is the last user of that list. (If only one user is " + "typing, %1 is empty. You should still use it in your string though to silence Qt " + "warnings.)", + uid.size()); + if (uid.isEmpty()) { hide(); update(); @@ -40,12 +48,9 @@ TypingDisplay::setUsers(const QStringList &uid) return; } - text_ = uid.join(", "); - - if (uid.size() == 1) - text_ += tr(" is typing"); - else if (uid.size() > 1) - text_ += tr(" are typing"); + QStringList uidWithoutLast = uid; + uidWithoutLast.pop_back(); + text_ = temp.arg(uidWithoutLast.join(", ")).arg(uid.back()); show(); update();