From 3129d9f0dfaa0400f977071588983557467ca0dd Mon Sep 17 00:00:00 2001 From: John Preston Date: Sat, 10 Sep 2022 08:19:26 +0400 Subject: [PATCH] Add a distinct "N seconds" key for the slowmode phrase. --- Telegram/Resources/langs/lang.strings | 2 ++ Telegram/SourceFiles/history/history_message.cpp | 2 +- Telegram/SourceFiles/history/history_widget.cpp | 4 ++-- .../history/view/history_view_replies_section.cpp | 4 ++-- Telegram/SourceFiles/ui/text/format_values.cpp | 11 +++++++++++ Telegram/SourceFiles/ui/text/format_values.h | 1 + 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 72e1de759..9fd236588 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -2822,6 +2822,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_slowmode_enabled"= "Slow mode is enabled. You can send your next message in {left}."; "lng_slowmode_no_many" = "Slow mode is enabled. You can't send more than one message at a time."; "lng_slowmode_too_long" = "Sorry, this text is too long to send as one message.\n\nSlow mode is enabled. You can't send more than one message at a time."; +"lng_slowmode_seconds#one" = "{count} second"; +"lng_slowmode_seconds#other" = "{count} seconds"; "lng_rights_gigagroup_title" = "Broadcast group"; "lng_rights_gigagroup_convert" = "Convert to Broadcast Group"; diff --git a/Telegram/SourceFiles/history/history_message.cpp b/Telegram/SourceFiles/history/history_message.cpp index 8b20494ee..4c49d9b40 100644 --- a/Telegram/SourceFiles/history/history_message.cpp +++ b/Telegram/SourceFiles/history/history_message.cpp @@ -166,7 +166,7 @@ QString GetErrorTextForSending( return tr::lng_slowmode_enabled( tr::now, lt_left, - Ui::FormatDurationWords(left)); + Ui::FormatDurationWordsSlowmode(left)); } } diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index 5d72f31e6..e213b437a 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -4951,7 +4951,7 @@ bool HistoryWidget::showSendingFilesError( return tr::lng_slowmode_enabled( tr::now, lt_left, - Ui::FormatDurationWords(left)); + Ui::FormatDurationWordsSlowmode(left)); } using Error = Ui::PreparedList::Error; switch (list.error) { @@ -6236,7 +6236,7 @@ bool HistoryWidget::showSlowmodeError() { return tr::lng_slowmode_enabled( tr::now, lt_left, - Ui::FormatDurationWords(left)); + Ui::FormatDurationWordsSlowmode(left)); } else if (_peer->slowmodeApplied()) { if (const auto item = _history->latestSendingMessage()) { if (const auto view = item->mainView()) { diff --git a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp index 2ab6bd3bb..486e5076e 100644 --- a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp +++ b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp @@ -841,7 +841,7 @@ bool RepliesWidget::showSlowmodeError() { return tr::lng_slowmode_enabled( tr::now, lt_left, - Ui::FormatDurationWords(left)); + Ui::FormatDurationWordsSlowmode(left)); } else if (_history->peer->slowmodeApplied()) { if (const auto item = _history->latestSendingMessage()) { showAtPositionNow(item->position(), nullptr); @@ -938,7 +938,7 @@ bool RepliesWidget::showSendingFilesError( return tr::lng_slowmode_enabled( tr::now, lt_left, - Ui::FormatDurationWords(left)); + Ui::FormatDurationWordsSlowmode(left)); } using Error = Ui::PreparedList::Error; switch (list.error) { diff --git a/Telegram/SourceFiles/ui/text/format_values.cpp b/Telegram/SourceFiles/ui/text/format_values.cpp index ba6019d86..f4e348ea2 100644 --- a/Telegram/SourceFiles/ui/text/format_values.cpp +++ b/Telegram/SourceFiles/ui/text/format_values.cpp @@ -120,6 +120,17 @@ QString FormatDurationWords(qint64 duration) { return tr::lng_seconds(tr::now, lt_count, duration); } +QString FormatDurationWordsSlowmode(qint64 duration) { + if (duration > 59) { + auto minutes = (duration / 60); + auto minutesCount = tr::lng_duration_minsec_minutes(tr::now, lt_count, minutes); + auto seconds = (duration % 60); + auto secondsCount = tr::lng_duration_minsec_seconds(tr::now, lt_count, seconds); + return tr::lng_duration_minutes_seconds(tr::now, lt_minutes_count, minutesCount, lt_seconds_count, secondsCount); + } + return tr::lng_slowmode_seconds(tr::now, lt_count, duration); +} + QString FormatDurationAndSizeText(qint64 duration, qint64 size) { return tr::lng_duration_and_size(tr::now, lt_duration, FormatDurationText(duration), lt_size, FormatSizeText(size)); } diff --git a/Telegram/SourceFiles/ui/text/format_values.h b/Telegram/SourceFiles/ui/text/format_values.h index 8e02b3596..a92e0e441 100644 --- a/Telegram/SourceFiles/ui/text/format_values.h +++ b/Telegram/SourceFiles/ui/text/format_values.h @@ -22,6 +22,7 @@ inline constexpr auto FileStatusSizeFailed = 0xFFFFFFF2LL; QString timeFormat); [[nodiscard]] QString FormatDurationText(qint64 duration); [[nodiscard]] QString FormatDurationWords(qint64 duration); +[[nodiscard]] QString FormatDurationWordsSlowmode(qint64 duration); [[nodiscard]] QString FormatDurationAndSizeText(qint64 duration, qint64 size); [[nodiscard]] QString FormatGifAndSizeText(qint64 size); [[nodiscard]] QString FormatPlayedText(qint64 played, qint64 duration);