mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-02-20 15:17:41 +00:00
cTimeFormat/cDateFormat -> QLocale::ShortFormat
This allows to use platform-specific formatting functions
This commit is contained in:
parent
9633f93690
commit
66093f0cb5
@ -79,12 +79,16 @@ Authorizations::Entry ParseEntry(const MTPDauthorization &data) {
|
||||
const auto nowDate = now.date();
|
||||
const auto lastDate = lastTime.date();
|
||||
if (lastDate == nowDate) {
|
||||
result.active = QLocale().toString(lastTime, cTimeFormat());
|
||||
result.active = QLocale().toString(
|
||||
lastTime.time(),
|
||||
QLocale::ShortFormat);
|
||||
} else if (lastDate.year() == nowDate.year()
|
||||
&& lastDate.weekNumber() == nowDate.weekNumber()) {
|
||||
result.active = langDayOfWeek(lastDate);
|
||||
} else {
|
||||
result.active = QLocale().toString(lastDate, cDateFormat());
|
||||
result.active = QLocale().toString(
|
||||
lastDate,
|
||||
QLocale::ShortFormat);
|
||||
}
|
||||
}
|
||||
result.location = country;
|
||||
|
@ -1374,7 +1374,7 @@ QString PrepareRequestedRowStatus(TimeId date) {
|
||||
const auto now = QDateTime::currentDateTime();
|
||||
const auto parsed = base::unixtime::parse(date);
|
||||
const auto parsedDate = parsed.date();
|
||||
const auto time = QLocale().toString(parsed.time(), cTimeFormat());
|
||||
const auto time = QLocale().toString(parsed.time(), QLocale::ShortFormat);
|
||||
const auto generic = [&] {
|
||||
return tr::lng_group_requests_status_date_time(
|
||||
tr::now,
|
||||
|
@ -210,7 +210,7 @@ void BoxController::Row::refreshStatus() {
|
||||
return;
|
||||
}
|
||||
auto text = [this] {
|
||||
auto time = QLocale().toString(ItemDateTime(_items.front()).time(), cTimeFormat());
|
||||
auto time = QLocale().toString(ItemDateTime(_items.front()).time(), QLocale::ShortFormat);
|
||||
auto today = QDateTime::currentDateTime().date();
|
||||
if (_date == today) {
|
||||
return tr::lng_call_box_status_today(tr::now, lt_time, time);
|
||||
|
@ -35,7 +35,7 @@ rpl::producer<QString> StartsWhenText(rpl::producer<TimeId> date) {
|
||||
|
||||
const auto time = QLocale().toString(
|
||||
parsedDate.time(),
|
||||
Ui::Integration::Instance().timeFormat());
|
||||
QLocale::ShortFormat);
|
||||
auto exact = tr::lng_group_call_starts_short_date(
|
||||
lt_date,
|
||||
rpl::single(langDayOfMonthFull(dateDay.date())),
|
||||
|
@ -284,9 +284,6 @@ void Application::run() {
|
||||
|
||||
DEBUG_LOG(("Application Info: inited..."));
|
||||
|
||||
cChangeDateFormat(QLocale().dateFormat(QLocale::ShortFormat));
|
||||
cChangeTimeFormat(QLocale().timeFormat(QLocale::ShortFormat));
|
||||
|
||||
DEBUG_LOG(("Application Info: starting app..."));
|
||||
|
||||
// Create mime database, so it won't be slow later.
|
||||
|
@ -137,10 +137,6 @@ bool UiIntegration::screenIsLocked() {
|
||||
return Core::App().screenIsLocked();
|
||||
}
|
||||
|
||||
QString UiIntegration::timeFormat() {
|
||||
return cTimeFormat();
|
||||
}
|
||||
|
||||
std::shared_ptr<ClickHandler> UiIntegration::createLinkHandler(
|
||||
const EntityLinkData &data,
|
||||
const std::any &context) {
|
||||
|
@ -46,7 +46,6 @@ public:
|
||||
void activationFromTopPanel() override;
|
||||
|
||||
bool screenIsLocked() override;
|
||||
QString timeFormat() override;
|
||||
|
||||
std::shared_ptr<ClickHandler> createLinkHandler(
|
||||
const EntityLinkData &data,
|
||||
|
@ -1120,8 +1120,8 @@ std::optional<QString> RestrictionError(
|
||||
auto restrictedUntil = channel->restrictedUntil();
|
||||
if (restrictedUntil > 0 && !ChannelData::IsRestrictedForever(restrictedUntil)) {
|
||||
auto restrictedUntilDateTime = base::unixtime::parse(channel->restrictedUntil());
|
||||
auto date = QLocale().toString(restrictedUntilDateTime, cDateFormat());
|
||||
auto time = QLocale().toString(restrictedUntilDateTime, cTimeFormat());
|
||||
auto date = QLocale().toString(restrictedUntilDateTime.date(), QLocale::ShortFormat);
|
||||
auto time = QLocale().toString(restrictedUntilDateTime.time(), QLocale::ShortFormat);
|
||||
|
||||
switch (restriction) {
|
||||
case Flag::SendPolls:
|
||||
|
@ -442,13 +442,13 @@ QString OnlineText(TimeId online, TimeId now) {
|
||||
const auto nowFull = base::unixtime::parse(now);
|
||||
const auto locale = QLocale();
|
||||
if (onlineFull.date() == nowFull.date()) {
|
||||
const auto onlineTime = locale.toString(onlineFull.time(), cTimeFormat());
|
||||
const auto onlineTime = locale.toString(onlineFull.time(), QLocale::ShortFormat);
|
||||
return tr::lng_status_lastseen_today(tr::now, lt_time, onlineTime);
|
||||
} else if (onlineFull.date().addDays(1) == nowFull.date()) {
|
||||
const auto onlineTime = locale.toString(onlineFull.time(), cTimeFormat());
|
||||
const auto onlineTime = locale.toString(onlineFull.time(), QLocale::ShortFormat);
|
||||
return tr::lng_status_lastseen_yesterday(tr::now, lt_time, onlineTime);
|
||||
}
|
||||
const auto date = locale.toString(onlineFull.date(), cDateFormat());
|
||||
const auto date = locale.toString(onlineFull.date(), QLocale::ShortFormat);
|
||||
return tr::lng_status_lastseen_date(tr::now, lt_date, date);
|
||||
}
|
||||
|
||||
@ -469,14 +469,14 @@ QString OnlineTextFull(not_null<UserData*> user, TimeId now) {
|
||||
const auto nowFull = base::unixtime::parse(now);
|
||||
const auto locale = QLocale();
|
||||
if (onlineFull.date() == nowFull.date()) {
|
||||
const auto onlineTime = locale.toString(onlineFull.time(), cTimeFormat());
|
||||
const auto onlineTime = locale.toString(onlineFull.time(), QLocale::ShortFormat);
|
||||
return tr::lng_status_lastseen_today(tr::now, lt_time, onlineTime);
|
||||
} else if (onlineFull.date().addDays(1) == nowFull.date()) {
|
||||
const auto onlineTime = locale.toString(onlineFull.time(), cTimeFormat());
|
||||
const auto onlineTime = locale.toString(onlineFull.time(), QLocale::ShortFormat);
|
||||
return tr::lng_status_lastseen_yesterday(tr::now, lt_time, onlineTime);
|
||||
}
|
||||
const auto date = locale.toString(onlineFull.date(), cDateFormat());
|
||||
const auto time = locale.toString(onlineFull.time(), cTimeFormat());
|
||||
const auto date = locale.toString(onlineFull.date(), QLocale::ShortFormat);
|
||||
const auto time = locale.toString(onlineFull.time(), QLocale::ShortFormat);
|
||||
return tr::lng_status_lastseen_date_time(tr::now, lt_date, date, lt_time, time);
|
||||
}
|
||||
|
||||
|
@ -92,12 +92,12 @@ void PaintRowDate(
|
||||
const auto wasSameDay = (lastDate == nowDate);
|
||||
const auto wasRecently = qAbs(lastTime.secsTo(now)) < kRecentlyInSeconds;
|
||||
if (wasSameDay || wasRecently) {
|
||||
return QLocale().toString(lastTime, cTimeFormat());
|
||||
return QLocale().toString(lastTime.time(), QLocale::ShortFormat);
|
||||
} else if (lastDate.year() == nowDate.year()
|
||||
&& lastDate.weekNumber() == nowDate.weekNumber()) {
|
||||
return langDayOfWeek(lastDate);
|
||||
} else {
|
||||
return QLocale().toString(lastDate, cDateFormat());
|
||||
return QLocale().toString(lastDate, QLocale::ShortFormat);
|
||||
}
|
||||
}();
|
||||
PaintRowTopRight(p, dt, rectForName, context);
|
||||
|
@ -2733,9 +2733,6 @@ TextForMimeData HistoryInner::getSelectedText() const {
|
||||
TextForMimeData unwrapped;
|
||||
};
|
||||
|
||||
const auto timeFormat = QString(", [%1 %2]\n")
|
||||
.arg(cDateFormat())
|
||||
.arg(cTimeFormat());
|
||||
auto groups = base::flat_set<not_null<const Data::Group*>>();
|
||||
auto fullSize = 0;
|
||||
auto texts = base::flat_map<Data::MessagePosition, Part>();
|
||||
@ -2745,7 +2742,8 @@ TextForMimeData HistoryInner::getSelectedText() const {
|
||||
TextForMimeData &&unwrapped) {
|
||||
const auto i = texts.emplace(item->position(), Part{
|
||||
.name = item->author()->name(),
|
||||
.time = QLocale().toString(ItemDateTime(item), timeFormat),
|
||||
.time = QString(", [%1]\n").arg(
|
||||
QLocale().toString(ItemDateTime(item), QLocale::ShortFormat)),
|
||||
.unwrapped = std::move(unwrapped),
|
||||
}).first;
|
||||
fullSize += i->second.name.size()
|
||||
|
@ -4384,7 +4384,9 @@ PreparedServiceText HistoryItem::prepareCallScheduledText(
|
||||
Ui::Text::WithEntities);
|
||||
}
|
||||
};
|
||||
const auto time = QLocale().toString(scheduled.time(), cTimeFormat());
|
||||
const auto time = QLocale().toString(
|
||||
scheduled.time(),
|
||||
QLocale::ShortFormat);
|
||||
const auto prepareGeneric = [&] {
|
||||
prepareWithDate(tr::lng_group_call_starts_date(
|
||||
tr::now,
|
||||
|
@ -466,7 +466,9 @@ void BottomInfo::layoutDateText() {
|
||||
: QString();
|
||||
const auto author = _data.author;
|
||||
const auto prefix = !author.isEmpty() ? u", "_q : QString();
|
||||
const auto date = edited + QLocale().toString(_data.date, cTimeFormat());
|
||||
const auto date = edited + QLocale().toString(
|
||||
_data.date.time(),
|
||||
QLocale::ShortFormat);
|
||||
const auto afterAuthor = prefix + date;
|
||||
const auto afterAuthorWidth = st::msgDateFont->width(afterAuthor);
|
||||
const auto authorWidth = st::msgDateFont->width(author);
|
||||
|
@ -2277,9 +2277,6 @@ TextForMimeData ListWidget::getSelectedText() const {
|
||||
return _selectedText;
|
||||
}
|
||||
|
||||
const auto timeFormat = QString(", [%1 %2]\n")
|
||||
.arg(cDateFormat())
|
||||
.arg(cTimeFormat());
|
||||
auto groups = base::flat_set<not_null<const Data::Group*>>();
|
||||
auto fullSize = 0;
|
||||
auto texts = std::vector<std::pair<
|
||||
@ -2290,7 +2287,8 @@ TextForMimeData ListWidget::getSelectedText() const {
|
||||
const auto wrapItem = [&](
|
||||
not_null<HistoryItem*> item,
|
||||
TextForMimeData &&unwrapped) {
|
||||
auto time = QLocale().toString(ItemDateTime(item), timeFormat);
|
||||
auto time = QString(", [%1]\n").arg(
|
||||
QLocale().toString(ItemDateTime(item), QLocale::ShortFormat));
|
||||
auto part = TextForMimeData();
|
||||
auto size = item->author()->name().size()
|
||||
+ time.size()
|
||||
|
@ -46,7 +46,9 @@ Call::Call(
|
||||
, _video(call->video) {
|
||||
const auto item = parent->data();
|
||||
_text = Data::MediaCall::Text(item, _reason, _video);
|
||||
_status = QLocale().toString(parent->dateTime().time(), cTimeFormat());
|
||||
_status = QLocale().toString(
|
||||
parent->dateTime().time(),
|
||||
QLocale::ShortFormat);
|
||||
if (_duration) {
|
||||
_status = tr::lng_call_duration_info(
|
||||
tr::now,
|
||||
|
@ -220,9 +220,7 @@ QString langDateTime(const QDateTime &date) {
|
||||
lt_date,
|
||||
langDayOfMonth(date.date()),
|
||||
lt_time,
|
||||
QLocale().toString(
|
||||
date.time(),
|
||||
Ui::Integration::Instance().timeFormat()));
|
||||
QLocale().toString(date.time(), QLocale::ShortFormat));
|
||||
}
|
||||
|
||||
QString langDateTimeFull(const QDateTime &date) {
|
||||
@ -231,7 +229,5 @@ QString langDateTimeFull(const QDateTime &date) {
|
||||
lt_date,
|
||||
langDayOfMonthFull(date.date()),
|
||||
lt_time,
|
||||
QLocale().toString(
|
||||
date.time(),
|
||||
Ui::Integration::Instance().timeFormat()));
|
||||
QLocale().toString(date.time(), QLocale::ShortFormat));
|
||||
}
|
||||
|
@ -1021,7 +1021,7 @@ void Widget::handleSongChange() {
|
||||
const auto date = [item] {
|
||||
const auto parsed = ItemDateTime(item);
|
||||
const auto date = parsed.date();
|
||||
const auto time = QLocale().toString(parsed.time(), cTimeFormat());
|
||||
const auto time = QLocale().toString(parsed.time(), QLocale::ShortFormat);
|
||||
const auto today = QDateTime::currentDateTime().date();
|
||||
if (date == today) {
|
||||
return tr::lng_player_message_today(
|
||||
|
@ -841,7 +841,7 @@ void OverlayWidget::updateControls() {
|
||||
}
|
||||
return dNow;
|
||||
}();
|
||||
_dateText = Ui::FormatDateTime(d, cDateFormat(), cTimeFormat());
|
||||
_dateText = Ui::FormatDateTime(d);
|
||||
if (!_fromName.isEmpty()) {
|
||||
_fromNameLabel.setText(st::mediaviewTextStyle, _fromName, Ui::NameTextOptions());
|
||||
_nameNav = QRect(st::mediaviewTextLeft, height() - st::mediaviewTextTop, qMin(_fromNameLabel.maxWidth(), width() / 3), st::mediaviewFont->height);
|
||||
|
@ -47,9 +47,6 @@ QByteArray gLocalSalt;
|
||||
int gScreenScale = style::kScaleAuto;
|
||||
int gConfigScale = style::kScaleAuto;
|
||||
|
||||
QString gDateFormat = u"dd.MM.yy"_q;
|
||||
QString gTimeFormat = u"hh:mm"_q;
|
||||
|
||||
RecentStickerPreload gRecentStickersPreload;
|
||||
RecentStickerPack gRecentStickers;
|
||||
|
||||
|
@ -82,8 +82,6 @@ DeclareSetting(bool, Quit);
|
||||
DeclareSetting(QByteArray, LocalSalt);
|
||||
DeclareSetting(int, ScreenScale);
|
||||
DeclareSetting(int, ConfigScale);
|
||||
DeclareSetting(QString, DateFormat);
|
||||
DeclareSetting(QString, TimeFormat);
|
||||
|
||||
class DocumentData;
|
||||
|
||||
@ -111,14 +109,6 @@ DeclareSetting(QString, StartUrl);
|
||||
|
||||
DeclareSetting(int, OtherOnline);
|
||||
|
||||
inline void cChangeDateFormat(const QString &newFormat) {
|
||||
if (!newFormat.isEmpty()) cSetDateFormat(newFormat);
|
||||
}
|
||||
|
||||
inline void cChangeTimeFormat(const QString &newFormat) {
|
||||
if (!newFormat.isEmpty()) cSetTimeFormat(newFormat);
|
||||
}
|
||||
|
||||
inline bool passcodeCanTry() {
|
||||
if (cPasscodeBadTries() < 3) return true;
|
||||
auto dt = crl::now() - cPasscodeLastTry();
|
||||
|
@ -452,9 +452,7 @@ rpl::producer<QString> Helper::infoLabelValue(
|
||||
user
|
||||
) | rpl::map([](const Support::UserInfo &info) {
|
||||
const auto time = Ui::FormatDateTime(
|
||||
base::unixtime::parse(info.date),
|
||||
cDateFormat(),
|
||||
cTimeFormat());
|
||||
base::unixtime::parse(info.date));
|
||||
return info.author + ", " + time;
|
||||
});
|
||||
}
|
||||
|
@ -308,7 +308,7 @@ void GroupCallBar::paintTitleAndStatus(Painter &p) {
|
||||
const auto date = parsed.date();
|
||||
const auto time = QLocale().toString(
|
||||
parsed.time(),
|
||||
Ui::Integration::Instance().timeFormat());
|
||||
QLocale::ShortFormat);
|
||||
const auto today = QDate::currentDate();
|
||||
if (date == today) {
|
||||
return tr::lng_group_call_starts_today(tr::now, lt_time, time);
|
||||
|
@ -79,28 +79,25 @@ QString FormatProgressText(qint64 ready, qint64 total) {
|
||||
total);
|
||||
}
|
||||
|
||||
QString FormatDateTime(
|
||||
QDateTime date,
|
||||
QString dateFormat,
|
||||
QString timeFormat) {
|
||||
QString FormatDateTime(QDateTime date) {
|
||||
const auto now = QDateTime::currentDateTime();
|
||||
if (date.date() == now.date()) {
|
||||
return tr::lng_mediaview_today(
|
||||
tr::now,
|
||||
lt_time,
|
||||
QLocale().toString(date.time(), timeFormat));
|
||||
QLocale().toString(date.time(), QLocale::ShortFormat));
|
||||
} else if (date.date().addDays(1) == now.date()) {
|
||||
return tr::lng_mediaview_yesterday(
|
||||
tr::now,
|
||||
lt_time,
|
||||
QLocale().toString(date.time(), timeFormat));
|
||||
QLocale().toString(date.time(), QLocale::ShortFormat));
|
||||
} else {
|
||||
return tr::lng_mediaview_date_time(
|
||||
tr::now,
|
||||
lt_date,
|
||||
QLocale().toString(date.date(), dateFormat),
|
||||
QLocale().toString(date.date(), QLocale::ShortFormat),
|
||||
lt_time,
|
||||
QLocale().toString(date.time(), timeFormat));
|
||||
QLocale().toString(date.time(), QLocale::ShortFormat));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16,10 +16,7 @@ inline constexpr auto FileStatusSizeFailed = 0xFFFFFFF2LL;
|
||||
[[nodiscard]] QString FormatSizeText(qint64 size);
|
||||
[[nodiscard]] QString FormatDownloadText(qint64 ready, qint64 total);
|
||||
[[nodiscard]] QString FormatProgressText(qint64 ready, qint64 total);
|
||||
[[nodiscard]] QString FormatDateTime(
|
||||
QDateTime date,
|
||||
QString dateFormat,
|
||||
QString timeFormat);
|
||||
[[nodiscard]] QString FormatDateTime(QDateTime date);
|
||||
[[nodiscard]] QString FormatDurationText(qint64 duration);
|
||||
[[nodiscard]] QString FormatDurationWords(qint64 duration);
|
||||
[[nodiscard]] QString FormatDurationWordsSlowmode(qint64 duration);
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit c5f09bbf695e1dff80f378bb5907581f65547f9f
|
||||
Subproject commit 6c33f9218e2f2c4fcf91f0042400cd89c00dc3ed
|
Loading…
Reference in New Issue
Block a user