cTimeFormat/cDateFormat -> QLocale::ShortFormat

This allows to use platform-specific formatting functions
This commit is contained in:
Ilya Fedin 2022-12-15 13:47:56 +04:00 committed by John Preston
parent 9633f93690
commit 66093f0cb5
25 changed files with 46 additions and 73 deletions

View File

@ -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;

View File

@ -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,

View File

@ -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);

View File

@ -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())),

View File

@ -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.

View File

@ -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) {

View File

@ -46,7 +46,6 @@ public:
void activationFromTopPanel() override;
bool screenIsLocked() override;
QString timeFormat() override;
std::shared_ptr<ClickHandler> createLinkHandler(
const EntityLinkData &data,

View File

@ -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:

View File

@ -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);
}

View File

@ -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);

View File

@ -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()

View File

@ -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,

View File

@ -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);

View File

@ -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()

View File

@ -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,

View File

@ -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));
}

View File

@ -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(

View File

@ -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);

View File

@ -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;

View File

@ -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();

View File

@ -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;
});
}

View File

@ -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);

View File

@ -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));
}
}

View File

@ -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