Added missed date detailed info in tooltips to admin log and sections.

This commit is contained in:
23rd 2021-01-22 05:05:24 +03:00 committed by John Preston
parent 3d1f21bd05
commit 2616659116
5 changed files with 40 additions and 37 deletions

View file

@ -512,7 +512,7 @@ QString InnerWidget::tooltipText() const {
if (const auto view = App::hoveredItem()) {
const auto format = QLocale::system().dateTimeFormat(
QLocale::LongFormat);
auto dateText = view->dateTime().toString(format);
auto dateText = HistoryView::DateTooltipText(view);
const auto sentIt = _itemDates.find(view->data());
if (sentIt != end(_itemDates)) {

View file

@ -3313,40 +3313,7 @@ QString HistoryInner::tooltipText() const {
if (_mouseCursorState == CursorState::Date
&& _mouseAction == MouseAction::None) {
if (const auto view = App::hoveredItem()) {
auto dateText = view->dateTime().toString(
QLocale::system().dateTimeFormat(QLocale::LongFormat));
if (const auto editedDate = view->displayedEditDate()) {
dateText += '\n' + tr::lng_edited_date(
tr::now,
lt_date,
base::unixtime::parse(editedDate).toString(
QLocale::system().dateTimeFormat(
QLocale::LongFormat)));
}
if (const auto forwarded = view->data()->Get<HistoryMessageForwarded>()) {
dateText += '\n' + tr::lng_forwarded_date(
tr::now,
lt_date,
base::unixtime::parse(forwarded->originalDate).toString(
QLocale::system().dateTimeFormat(
QLocale::LongFormat)));
if (const auto media = view->media()) {
if (media->hidesForwardedInfo()) {
dateText += "\n" + tr::lng_forwarded(
tr::now,
lt_user,
(forwarded->originalSender
? forwarded->originalSender->shortName()
: forwarded->hiddenSenderInfo->firstName));
}
}
}
if (const auto msgsigned = view->data()->Get<HistoryMessageSigned>()) {
if (msgsigned->isElided && !msgsigned->isAnonymousRank) {
dateText += '\n' + tr::lng_signed_author(tr::now, lt_user, msgsigned->author);
}
}
return dateText;
return HistoryView::DateTooltipText(view);
}
} else if (_mouseCursorState == CursorState::Forwarded
&& _mouseAction == MouseAction::None) {

View file

@ -16,6 +16,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/view/media/history_view_sticker.h"
#include "history/view/media/history_view_large_emoji.h"
#include "history/history.h"
#include "base/unixtime.h"
#include "core/application.h"
#include "core/core_settings.h"
#include "main/main_session.h"
@ -157,6 +158,40 @@ TextSelection ShiftItemSelection(
return ShiftItemSelection(selection, byText.length());
}
QString DateTooltipText(not_null<Element*> view) {
const auto format = QLocale::system().dateTimeFormat(QLocale::LongFormat);
auto dateText = view->dateTime().toString(format);
if (const auto editedDate = view->displayedEditDate()) {
dateText += '\n' + tr::lng_edited_date(
tr::now,
lt_date,
base::unixtime::parse(editedDate).toString(format));
}
if (const auto forwarded = view->data()->Get<HistoryMessageForwarded>()) {
dateText += '\n' + tr::lng_forwarded_date(
tr::now,
lt_date,
base::unixtime::parse(forwarded->originalDate).toString(format));
if (const auto media = view->media()) {
if (media->hidesForwardedInfo()) {
dateText += '\n' + tr::lng_forwarded(
tr::now,
lt_user,
(forwarded->originalSender
? forwarded->originalSender->shortName()
: forwarded->hiddenSenderInfo->firstName));
}
}
}
if (const auto msgsigned = view->data()->Get<HistoryMessageSigned>()) {
if (msgsigned->isElided && !msgsigned->isAnonymousRank) {
dateText += '\n'
+ tr::lng_signed_author(tr::now, lt_user, msgsigned->author);
}
}
return dateText;
}
void UnreadBar::init(const QString &string) {
text = string;
width = st::semiboldFont->width(text);

View file

@ -126,6 +126,8 @@ TextSelection ShiftItemSelection(
TextSelection selection,
const Ui::Text::String &byText);
QString DateTooltipText(not_null<Element*> view);
// Any HistoryView::Element can have this Component for
// displaying the unread messages bar above the message.
struct UnreadBar : public RuntimeComponent<UnreadBar, Element> {

View file

@ -1216,8 +1216,7 @@ QString ListWidget::tooltipText() const {
? _overElement->data().get()
: nullptr;
if (_mouseCursorState == CursorState::Date && item) {
return _overElement->dateTime().toString(
QLocale::system().dateTimeFormat(QLocale::LongFormat));
return HistoryView::DateTooltipText(_overElement);
} else if (_mouseCursorState == CursorState::Forwarded && item) {
if (const auto forwarded = item->Get<HistoryMessageForwarded>()) {
return forwarded->text.toString();