Improved phrase of original date in self.
This commit is contained in:
@@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
*/
|
||||
#include "ui/text/format_values.h"
|
||||
|
||||
#include "base/unixtime.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "countries/countries_instance.h"
|
||||
|
||||
@@ -18,6 +19,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
namespace Ui {
|
||||
namespace {
|
||||
|
||||
constexpr auto kSecondsInYear = 365 * 24 * 60 * 60; // 31536000
|
||||
|
||||
[[nodiscard]] QString FormatTextWithReadyAndTotal(
|
||||
tr::phrase<lngtag_ready, lngtag_total, lngtag_mb> phrase,
|
||||
qint64 ready,
|
||||
@@ -100,6 +103,49 @@ QString FormatDateTime(QDateTime date) {
|
||||
}
|
||||
}
|
||||
|
||||
QString FormatDateTimeSavedFrom(QDateTime dateTime, bool shortFormat) {
|
||||
const auto current = QDate::currentDate();
|
||||
const auto date = dateTime.date();
|
||||
const auto timeStr = QLocale().toString(
|
||||
dateTime.time(),
|
||||
QLocale::ShortFormat);
|
||||
|
||||
if (date == current) {
|
||||
return shortFormat
|
||||
? timeStr
|
||||
: tr::lng_mediaview_date_time(
|
||||
tr::now,
|
||||
lt_date,
|
||||
tr::lng_weekday7(tr::now),
|
||||
lt_time,
|
||||
timeStr);
|
||||
} else if (date == current.addDays(-1)) {
|
||||
return tr::lng_mediaview_date_time(
|
||||
tr::now,
|
||||
lt_date,
|
||||
tr::lng_weekday6(tr::now),
|
||||
lt_time,
|
||||
timeStr);
|
||||
}
|
||||
const auto diff = std::abs(
|
||||
base::unixtime::now() - base::unixtime::serialize(dateTime));
|
||||
const auto dateStr = (diff < kSecondsInYear)
|
||||
? tr::lng_month_day(
|
||||
tr::now,
|
||||
lt_month,
|
||||
Lang::MonthSmall(date.month())(tr::now),
|
||||
lt_day,
|
||||
QString::number(date.day()))
|
||||
: langDayOfMonthFull(date);
|
||||
|
||||
return tr::lng_mediaview_date_time(
|
||||
tr::now,
|
||||
lt_date,
|
||||
dateStr,
|
||||
lt_time,
|
||||
timeStr);
|
||||
}
|
||||
|
||||
QString FormatDurationText(qint64 duration) {
|
||||
qint64 hours = (duration / 3600), minutes = (duration % 3600) / 60, seconds = duration % 60;
|
||||
return (hours ? QString::number(hours) + ':' : QString()) + (minutes >= 10 ? QString() : QString('0')) + QString::number(minutes) + ':' + (seconds >= 10 ? QString() : QString('0')) + QString::number(seconds);
|
||||
|
||||
@@ -19,6 +19,7 @@ inline const QString kCreditsCurrency = u"XTR"_q;
|
||||
[[nodiscard]] QString FormatDownloadText(qint64 ready, qint64 total);
|
||||
[[nodiscard]] QString FormatProgressText(qint64 ready, qint64 total);
|
||||
[[nodiscard]] QString FormatDateTime(QDateTime date);
|
||||
[[nodiscard]] QString FormatDateTimeSavedFrom(QDateTime date, bool shortDate);
|
||||
[[nodiscard]] QString FormatDurationText(qint64 duration);
|
||||
[[nodiscard]] QString FormatDurationWords(qint64 duration);
|
||||
[[nodiscard]] QString FormatDurationWordsSlowmode(qint64 duration);
|
||||
|
||||
Reference in New Issue
Block a user