Fix expire calculations for the stories.
This commit is contained in:
parent
5e5b252f2f
commit
087c27c5e0
|
@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "base/random.h"
|
#include "base/random.h"
|
||||||
#include "ui/boxes/confirm_box.h"
|
#include "ui/boxes/confirm_box.h"
|
||||||
#include "ui/widgets/checkbox.h"
|
#include "ui/widgets/checkbox.h"
|
||||||
|
#include "ui/wrap/padding_wrap.h"
|
||||||
#include "ui/painter.h"
|
#include "ui/painter.h"
|
||||||
#include "ui/ui_utility.h"
|
#include "ui/ui_utility.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
|
@ -86,12 +87,10 @@ object_ptr<Ui::BoxContent> PrepareContactsBox(
|
||||||
Data::StorySourcesList::All),
|
Data::StorySourcesList::All),
|
||||||
[=] { return state->stories->height() - box->scrollTop(); });
|
[=] { return state->stories->height() - box->scrollTop(); });
|
||||||
const auto raw = state->stories = stories.data();
|
const auto raw = state->stories = stories.data();
|
||||||
box->peerListSetAboveWidget(std::move(stories));
|
box->peerListSetAboveWidget(object_ptr<::Ui::PaddingWrap<>>(
|
||||||
|
box,
|
||||||
raw->entered(
|
std::move(stories),
|
||||||
) | rpl::start_with_next([=] {
|
style::margins(0, st::membersMarginTop, 0, 0)));
|
||||||
//clearSelection();
|
|
||||||
}, raw->lifetime());
|
|
||||||
|
|
||||||
raw->clicks(
|
raw->clicks(
|
||||||
) | rpl::start_with_next([=](uint64 id) {
|
) | rpl::start_with_next([=](uint64 id) {
|
||||||
|
|
|
@ -552,7 +552,7 @@ Story *Stories::parseAndApply(
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
const auto expires = data.vexpire_date().v;
|
const auto expires = data.vexpire_date().v;
|
||||||
const auto expired = (expires >= now);
|
const auto expired = (expires <= now);
|
||||||
if (expired && !data.is_pinned() && !peer->isSelf()) {
|
if (expired && !data.is_pinned() && !peer->isSelf()) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -618,7 +618,7 @@ StoryIdDates Stories::parseAndApply(
|
||||||
return StoryIdDates();
|
return StoryIdDates();
|
||||||
}, [&](const MTPDstoryItemSkipped &data) {
|
}, [&](const MTPDstoryItemSkipped &data) {
|
||||||
const auto expires = data.vexpire_date().v;
|
const auto expires = data.vexpire_date().v;
|
||||||
const auto expired = (expires >= now);
|
const auto expired = (expires <= now);
|
||||||
const auto fullId = FullStoryId{ peer->id, data.vid().v };
|
const auto fullId = FullStoryId{ peer->id, data.vid().v };
|
||||||
if (!expired) {
|
if (!expired) {
|
||||||
registerExpiring(expires, fullId);
|
registerExpiring(expires, fullId);
|
||||||
|
|
|
@ -337,8 +337,6 @@ void List::paintEvent(QPaintEvent *e) {
|
||||||
const auto drawFull = (ratio > 0.);
|
const auto drawFull = (ratio > 0.);
|
||||||
auto hq = PainterHighQualityEnabler(p);
|
auto hq = PainterHighQualityEnabler(p);
|
||||||
|
|
||||||
paintSummary(p, rendering, summaryTop, ratio);
|
|
||||||
|
|
||||||
const auto count = std::max(
|
const auto count = std::max(
|
||||||
layout.endIndexFull - layout.startIndexFull,
|
layout.endIndexFull - layout.startIndexFull,
|
||||||
layout.endIndexSmall - layout.startIndexSmall);
|
layout.endIndexSmall - layout.startIndexSmall);
|
||||||
|
@ -485,6 +483,8 @@ void List::paintEvent(QPaintEvent *e) {
|
||||||
}
|
}
|
||||||
p.setOpacity(1.);
|
p.setOpacity(1.);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
paintSummary(p, rendering, summaryTop, ratio);
|
||||||
}
|
}
|
||||||
|
|
||||||
void List::validateUserpic(not_null<Item*> item) {
|
void List::validateUserpic(not_null<Item*> item) {
|
||||||
|
|
Loading…
Reference in New Issue