mirror of https://github.com/procxx/kepka.git
Display "edited" mark on channel signed messages.
This commit is contained in:
parent
a513b1c7b3
commit
f7a354bfd1
|
@ -119,14 +119,14 @@ struct HistoryMessageViews : public RuntimeComponent<HistoryMessageViews> {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct HistoryMessageSigned : public RuntimeComponent<HistoryMessageSigned> {
|
struct HistoryMessageSigned : public RuntimeComponent<HistoryMessageSigned> {
|
||||||
void create(UserData *from, const QDateTime &date);
|
void create(UserData *from, const QString &date);
|
||||||
int maxWidth() const;
|
int maxWidth() const;
|
||||||
|
|
||||||
Text _signature;
|
Text _signature;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct HistoryMessageEdited : public RuntimeComponent<HistoryMessageEdited> {
|
struct HistoryMessageEdited : public RuntimeComponent<HistoryMessageEdited> {
|
||||||
void create(const QDateTime &editDate, const QDateTime &date);
|
void create(const QDateTime &editDate, const QString &date);
|
||||||
int maxWidth() const;
|
int maxWidth() const;
|
||||||
|
|
||||||
QDateTime _editDate;
|
QDateTime _editDate;
|
||||||
|
|
|
@ -1137,7 +1137,7 @@ void HistoryDocument::initDimensions() {
|
||||||
|
|
||||||
if (thumbed) {
|
if (thumbed) {
|
||||||
_minh = st::msgFileThumbPadding.top() + st::msgFileThumbSize + st::msgFileThumbPadding.bottom();
|
_minh = st::msgFileThumbPadding.top() + st::msgFileThumbSize + st::msgFileThumbPadding.bottom();
|
||||||
if (!captioned && _parent->Has<HistoryMessageSigned>()) {
|
if (!captioned && (_parent->Has<HistoryMessageSigned>() || _parent->Has<HistoryMessageEdited>())) {
|
||||||
_minh += st::msgDateFont->height - st::msgDateDelta.y();
|
_minh += st::msgDateFont->height - st::msgDateDelta.y();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -344,8 +344,8 @@ void HistoryMessageVia::resize(int32 availw) const {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HistoryMessageSigned::create(UserData *from, const QDateTime &date) {
|
void HistoryMessageSigned::create(UserData *from, const QString &date) {
|
||||||
auto time = qsl(", ") + date.toString(cTimeFormat());
|
auto time = qsl(", ") + date;
|
||||||
auto name = App::peerName(from);
|
auto name = App::peerName(from);
|
||||||
auto timew = st::msgDateFont->width(time);
|
auto timew = st::msgDateFont->width(time);
|
||||||
auto namew = st::msgDateFont->width(name);
|
auto namew = st::msgDateFont->width(name);
|
||||||
|
@ -359,11 +359,9 @@ int HistoryMessageSigned::maxWidth() const {
|
||||||
return _signature.maxWidth();
|
return _signature.maxWidth();
|
||||||
}
|
}
|
||||||
|
|
||||||
void HistoryMessageEdited::create(const QDateTime &editDate, const QDateTime &date) {
|
void HistoryMessageEdited::create(const QDateTime &editDate, const QString &date) {
|
||||||
_editDate = editDate;
|
_editDate = editDate;
|
||||||
|
_edited.setText(st::msgDateTextStyle, lang(lng_edited) + ' ' + date, _textNameOptions);
|
||||||
auto time = date.toString(cTimeFormat());
|
|
||||||
_edited.setText(st::msgDateTextStyle, lang(lng_edited) + ' ' + time, _textNameOptions);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int HistoryMessageEdited::maxWidth() const {
|
int HistoryMessageEdited::maxWidth() const {
|
||||||
|
@ -865,11 +863,13 @@ void HistoryMessage::createComponents(const CreateConfig &config) {
|
||||||
if (auto views = Get<HistoryMessageViews>()) {
|
if (auto views = Get<HistoryMessageViews>()) {
|
||||||
views->_views = config.viewsCount;
|
views->_views = config.viewsCount;
|
||||||
}
|
}
|
||||||
if (auto msgsigned = Get<HistoryMessageSigned>()) {
|
|
||||||
msgsigned->create(_from->asUser(), date);
|
|
||||||
}
|
|
||||||
if (auto edited = Get<HistoryMessageEdited>()) {
|
if (auto edited = Get<HistoryMessageEdited>()) {
|
||||||
edited->create(config.editDate, date);
|
edited->create(config.editDate, date.toString(cTimeFormat()));
|
||||||
|
if (auto msgsigned = Get<HistoryMessageSigned>()) {
|
||||||
|
msgsigned->create(_from->asUser(), edited->_edited.originalText());
|
||||||
|
}
|
||||||
|
} else if (auto msgsigned = Get<HistoryMessageSigned>()) {
|
||||||
|
msgsigned->create(_from->asUser(), date.toString(cTimeFormat()));
|
||||||
}
|
}
|
||||||
if (auto forwarded = Get<HistoryMessageForwarded>()) {
|
if (auto forwarded = Get<HistoryMessageForwarded>()) {
|
||||||
forwarded->_originalDate = config.originalDate;
|
forwarded->_originalDate = config.originalDate;
|
||||||
|
@ -1174,9 +1174,16 @@ void HistoryMessage::applyEdition(const MTPDmessage &message) {
|
||||||
if (!Has<HistoryMessageEdited>()) {
|
if (!Has<HistoryMessageEdited>()) {
|
||||||
AddComponents(HistoryMessageEdited::Bit());
|
AddComponents(HistoryMessageEdited::Bit());
|
||||||
}
|
}
|
||||||
Get<HistoryMessageEdited>()->create(::date(message.vedit_date), date);
|
auto edited = Get<HistoryMessageEdited>();
|
||||||
|
edited->create(::date(message.vedit_date), date.toString(cTimeFormat()));
|
||||||
|
if (auto msgsigned = Get<HistoryMessageSigned>()) {
|
||||||
|
msgsigned->create(_from->asUser(), edited->_edited.originalText());
|
||||||
|
}
|
||||||
} else if (Has<HistoryMessageEdited>()) {
|
} else if (Has<HistoryMessageEdited>()) {
|
||||||
RemoveComponents(HistoryMessageEdited::Bit());
|
RemoveComponents(HistoryMessageEdited::Bit());
|
||||||
|
if (auto msgsigned = Get<HistoryMessageSigned>()) {
|
||||||
|
msgsigned->create(_from->asUser(), date.toString(cTimeFormat()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
initTime();
|
initTime();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue