diff --git a/Telegram/SourceFiles/api/api_authorizations.cpp b/Telegram/SourceFiles/api/api_authorizations.cpp index d8e997c36..2293c1e8a 100644 --- a/Telegram/SourceFiles/api/api_authorizations.cpp +++ b/Telegram/SourceFiles/api/api_authorizations.cpp @@ -46,12 +46,10 @@ Authorizations::Entry ParseEntry(const MTPDauthorization &data) { return version; }(); - result.name = QString("%1%2").arg( - appName, - appVer.isEmpty() ? QString() : (' ' + appVer)); + result.name = qs(data.vdevice_model()); const auto country = qs(data.vcountry()); - const auto platform = qs(data.vplatform()); + //const auto platform = qs(data.vplatform()); //const auto &countries = countriesByISO2(); //const auto j = countries.constFind(country); //if (j != countries.cend()) { @@ -61,14 +59,10 @@ Authorizations::Entry ParseEntry(const MTPDauthorization &data) { result.activeTime = data.vdate_active().v ? data.vdate_active().v : data.vdate_created().v; - result.info = QString("%1, %2%3").arg( - qs(data.vdevice_model()), - platform.isEmpty() ? QString() : platform + ' ', - qs(data.vsystem_version())); - result.ip = qs(data.vip()) - + (country.isEmpty() - ? QString() - : QString::fromUtf8(" \xe2\x80\x93 ") + country); + result.info = QString("%1%2").arg( + appName, + appVer.isEmpty() ? QString() : (' ' + appVer)); + result.ip = qs(data.vip()); if (!result.hash) { result.active = tr::lng_status_online(tr::now); } else { @@ -85,6 +79,10 @@ Authorizations::Entry ParseEntry(const MTPDauthorization &data) { result.active = lastDate.toString(cDateFormat()); } } + result.location = (country.isEmpty() ? result.ip : country) + + (result.hash + ? (QString::fromUtf8(" \xe2\x80\x93 ") + result.active) + : QString()); return result; } diff --git a/Telegram/SourceFiles/api/api_authorizations.h b/Telegram/SourceFiles/api/api_authorizations.h index 96e036199..f571402d0 100644 --- a/Telegram/SourceFiles/api/api_authorizations.h +++ b/Telegram/SourceFiles/api/api_authorizations.h @@ -22,7 +22,7 @@ public: bool incomplete = false; TimeId activeTime = 0; - QString name, active, info, ip; + QString name, active, info, ip, location; }; using List = std::vector; diff --git a/Telegram/SourceFiles/boxes/boxes.style b/Telegram/SourceFiles/boxes/boxes.style index 3e519d40f..6ee4529a0 100644 --- a/Telegram/SourceFiles/boxes/boxes.style +++ b/Telegram/SourceFiles/boxes/boxes.style @@ -291,7 +291,7 @@ sessionWhenFont: msgDateFont; sessionWhenFg: windowSubTextFg; sessionInfoFont: msgFont; sessionInfoFg: windowSubTextFg; -sessionTerminateTop: 28px; +sessionTerminateTop: 9px; sessionTerminateSkip: 22px; sessionNamePadding: margins(0px, 0px, 5px, 0px); sessionTerminate: IconButton { diff --git a/Telegram/SourceFiles/boxes/sessions_box.cpp b/Telegram/SourceFiles/boxes/sessions_box.cpp index 59d955b3d..0d4242a33 100644 --- a/Telegram/SourceFiles/boxes/sessions_box.cpp +++ b/Telegram/SourceFiles/boxes/sessions_box.cpp @@ -49,16 +49,15 @@ private: , incomplete(entry.incomplete) , activeTime(entry.activeTime) , name(st::sessionNameStyle, entry.name) - , active(st::sessionWhenStyle, entry.active) , info(st::sessionInfoStyle, entry.info) - , ip(st::sessionInfoStyle, entry.ip) { + , ip(st::sessionInfoStyle, entry.location) { }; uint64 hash = 0; bool incomplete = false; TimeId activeTime = 0; - Ui::Text::String name, active, info, ip; + Ui::Text::String name, info, ip; }; struct Full { Entry current; @@ -496,17 +495,11 @@ void SessionsContent::List::paintEvent(QPaintEvent *e) { for (auto i = from; i != till; ++i) { const auto &entry = _items[i]; - const auto activeW = entry.active.maxWidth(); - const auto nameW = available - - activeW - - st::sessionNamePadding.right(); + const auto nameW = _rowWidth.info; const auto nameH = entry.name.style()->font->height; const auto infoW = entry.hash ? _rowWidth.info : available; const auto infoH = entry.info.style()->font->height; - p.setPen(entry.hash ? st::sessionWhenFg : st::contactsStatusFgOnline); - entry.active.drawRight(p, xact, y, activeW, w); - p.setPen(st::sessionNameFg); entry.name.drawLeftElided(p, x, y, nameW, w);