Added virtual method to info data providers to jump to date.

This commit is contained in:
23rd
2026-02-09 16:13:43 +03:00
parent 2f80db329b
commit d80cd8d7aa
11 changed files with 23 additions and 0 deletions
@@ -115,6 +115,9 @@ void Provider::setSearchQuery(QString query) {
_refreshed.fire({});
}
void Provider::jumpToDate(const QDate &date, Fn<void(FullMsgId)>) {
}
void Provider::refreshViewer() {
if (_started) {
return;
@@ -45,6 +45,7 @@ public:
rpl::producer<> refreshed() override;
void setSearchQuery(QString query) override;
void jumpToDate(const QDate &date, Fn<void(FullMsgId)> callback) override;
std::vector<Media::ListSection> fillSections(
not_null<Overview::Layout::Delegate*> delegate) override;
@@ -423,6 +423,10 @@ void Provider::setSearchQuery(QString query) {
Unexpected("Media::Provider::setSearchQuery.");
}
void Provider::jumpToDate(const QDate &date, Fn<void(FullMsgId)>) {
Unexpected("GlobalMedia::Provider::jumpToDate.");
}
GlobalMediaKey Provider::sliceKey(Data::MessagePosition aroundId) const {
return GlobalMediaKey{ aroundId };
}
@@ -91,6 +91,7 @@ public:
not_null<const HistoryItem*> b) override;
void setSearchQuery(QString query) override;
void jumpToDate(const QDate &date, Fn<void(FullMsgId)> callback) override;
Media::ListItemSelectionData computeSelectionData(
not_null<const HistoryItem*> item,
@@ -165,6 +165,7 @@ public:
not_null<DocumentData*> document) = 0;
virtual void setSearchQuery(QString query) = 0;
virtual void jumpToDate(const QDate &date, Fn<void(FullMsgId)> callback) = 0;
[[nodiscard]] virtual int64 scrollTopStatePosition(
not_null<HistoryItem*> item) = 0;
@@ -342,6 +342,9 @@ void Provider::setSearchQuery(QString query) {
Unexpected("Media::Provider::setSearchQuery.");
}
void Provider::jumpToDate(const QDate &date, Fn<void(FullMsgId)> callback) {
}
SparseIdsMergedSlice::Key Provider::sliceKey(
UniversalMsgId universalId) const {
using Key = SparseIdsMergedSlice::Key;
@@ -48,6 +48,8 @@ public:
void setSearchQuery(QString query) override;
void jumpToDate(const QDate &date, Fn<void(FullMsgId)> callback) override;
ListItemSelectionData computeSelectionData(
not_null<const HistoryItem*> item,
TextSelection selection) override;
@@ -162,6 +162,9 @@ void MusicProvider::checkPreload(
void MusicProvider::setSearchQuery(QString query) {
}
void MusicProvider::jumpToDate(const QDate &date, Fn<void(FullMsgId)>) {
}
void MusicProvider::refreshViewer() {
_viewerLifetime.destroy();
const auto aroundId = _aroundId;
@@ -50,6 +50,7 @@ public:
rpl::producer<> refreshed() override;
void setSearchQuery(QString query) override;
void jumpToDate(const QDate &date, Fn<void(FullMsgId)> callback) override;
std::vector<Media::ListSection> fillSections(
not_null<Overview::Layout::Delegate*> delegate) override;
@@ -177,6 +177,9 @@ void Provider::checkPreload(
void Provider::setSearchQuery(QString query) {
}
void Provider::jumpToDate(const QDate &date, Fn<void(FullMsgId)>) {
}
void Provider::refreshViewer() {
_viewerLifetime.destroy();
const auto aroundId = _aroundId;
@@ -53,6 +53,7 @@ public:
rpl::producer<> refreshed() override;
void setSearchQuery(QString query) override;
void jumpToDate(const QDate &date, Fn<void(FullMsgId)> callback) override;
std::vector<Media::ListSection> fillSections(
not_null<Overview::Layout::Delegate*> delegate) override;