MCPcopy Create free account
hub / github.com/TDesktop-x64/tdesktop / OnlineText

Function OnlineText

Telegram/SourceFiles/data/data_peer_values.cpp:447–475  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

445}
446
447QString OnlineText(Data::LastseenStatus status, TimeId now) {
448 if (const auto common = OnlineTextCommon(status, now)) {
449 return *common;
450 }
451 const auto till = status.onlineTill();
452 Assert(till > 0);
453 const auto minutes = (now - till) / 60;
454 if (!minutes) {
455 return tr::lng_status_lastseen_now(tr::now);
456 } else if (minutes < 60) {
457 return tr::lng_status_lastseen_minutes(tr::now, lt_count, minutes);
458 }
459 const auto hours = (now - till) / 3600;
460 if (hours < 12) {
461 return tr::lng_status_lastseen_hours(tr::now, lt_count, hours);
462 }
463 const auto onlineFull = base::unixtime::parse(till);
464 const auto nowFull = base::unixtime::parse(now);
465 const auto locale = QLocale();
466 if (onlineFull.date() == nowFull.date()) {
467 const auto onlineTime = locale.toString(onlineFull.time(), QLocale::ShortFormat);
468 return tr::lng_status_lastseen_today(tr::now, lt_time, onlineTime);
469 } else if (onlineFull.date().addDays(1) == nowFull.date()) {
470 const auto onlineTime = locale.toString(onlineFull.time(), QLocale::ShortFormat);
471 return tr::lng_status_lastseen_yesterday(tr::now, lt_time, onlineTime);
472 }
473 const auto date = locale.toString(onlineFull.date(), QLocale::ShortFormat);
474 return tr::lng_status_lastseen_date(tr::now, lt_date, date);
475}
476
477QString OnlineText(not_null<UserData*> user, TimeId now) {
478 if (const auto special = OnlineTextSpecial(user)) {

Callers 7

refreshStatusMethod · 0.85
StatusValueFunction · 0.85
CoverMethod · 0.85
paintEventMethod · 0.85
StatusValueFunction · 0.85
StatusValueFunction · 0.85
updateOnlineDisplayMethod · 0.85

Calls 6

OnlineTextCommonFunction · 0.85
OnlineTextSpecialFunction · 0.85
onlineTillMethod · 0.80
timeMethod · 0.80
lastseenMethod · 0.80
dateMethod · 0.45

Tested by

no test coverage detected