Edit messages to yourself for any amount of time.

Active inline keyboard button rendering rounding radius fixed.
This commit is contained in:
John Preston 2016-07-31 10:29:15 +01:00
parent d31701e906
commit c34181ef3e
2 changed files with 5 additions and 3 deletions

View file

@ -2109,7 +2109,7 @@ namespace {
::cornersMaskSmall[i] = new QImage(mask[i].convertToFormat(QImage::Format_ARGB32_Premultiplied)); ::cornersMaskSmall[i] = new QImage(mask[i].convertToFormat(QImage::Format_ARGB32_Premultiplied));
::cornersMaskSmall[i]->setDevicePixelRatio(cRetinaFactor()); ::cornersMaskSmall[i]->setDevicePixelRatio(cRetinaFactor());
} }
prepareCorners(WhiteCorners, st::buttonRadius, st::white); prepareCorners(WhiteCorners, st::dateRadius, st::white);
prepareCorners(StickerCorners, st::dateRadius, st::msgServiceBg); prepareCorners(StickerCorners, st::dateRadius, st::msgServiceBg);
prepareCorners(StickerSelectedCorners, st::dateRadius, st::msgServiceSelectBg); prepareCorners(StickerSelectedCorners, st::dateRadius, st::msgServiceSelectBg);
prepareCorners(SelectedOverlaySmallCorners, st::buttonRadius, st::msgSelectOverlay); prepareCorners(SelectedOverlaySmallCorners, st::buttonRadius, st::msgSelectOverlay);

View file

@ -2833,7 +2833,9 @@ void HistoryItem::setId(MsgId newId) {
} }
bool HistoryItem::canEdit(const QDateTime &cur) const { bool HistoryItem::canEdit(const QDateTime &cur) const {
if (id < 0 || date.secsTo(cur) >= Global::EditTimeLimit()) return false; auto messageToMyself = (peerToUser(_history->peer->id) == MTP::authedId());
auto messageTooOld = messageToMyself ? false : (date.secsTo(cur) >= Global::EditTimeLimit());
if (id < 0 || messageTooOld) return false;
if (auto msg = toHistoryMessage()) { if (auto msg = toHistoryMessage()) {
if (msg->Has<HistoryMessageVia>() || msg->Has<HistoryMessageForwarded>()) return false; if (msg->Has<HistoryMessageVia>() || msg->Has<HistoryMessageForwarded>()) return false;
@ -2854,7 +2856,7 @@ bool HistoryItem::canEdit(const QDateTime &cur) const {
auto channel = _history->peer->asChannel(); auto channel = _history->peer->asChannel();
return (channel->amCreator() || (channel->amEditor() && out())); return (channel->amCreator() || (channel->amEditor() && out()));
} }
return out() || (peerToUser(_history->peer->id) == MTP::authedId()); return out() || messageToMyself;
} }
return false; return false;
} }