mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-07-21 05:39:11 -04:00
attempt to delay channel post loading on demand when displayed
This commit is contained in:
parent
e9f9856048
commit
b6d5c55516
3 changed files with 48 additions and 16 deletions
|
@ -51,11 +51,13 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId,
|
|||
{
|
||||
setup();
|
||||
|
||||
requestGroup();
|
||||
requestMessage();
|
||||
requestComment();
|
||||
mLoaded = false ;
|
||||
}
|
||||
|
||||
// This code has been suspended because it adds more complexity than usefulness.
|
||||
// It was used to load a channel post where the post item is already known.
|
||||
|
||||
#ifdef SUSPENDED
|
||||
GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsChannelGroup &group, const RsGxsChannelPost &post, bool isHome, bool autoUpdate) :
|
||||
GxsFeedItem(feedHolder, feedId, post.mMeta.mGroupId, post.mMeta.mMsgId, isHome, rsGxsChannels, autoUpdate)
|
||||
{
|
||||
|
@ -82,9 +84,9 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId,
|
|||
setup();
|
||||
|
||||
setGroup(group, false);
|
||||
//requestGroup(); //Already have RsGxsChannelGroup
|
||||
setPost(post);
|
||||
requestComment();
|
||||
|
||||
setPost(post,false);
|
||||
mLoaded = false ;
|
||||
}
|
||||
|
||||
GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsChannelPost &post, bool isHome, bool autoUpdate) :
|
||||
|
@ -97,10 +99,30 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId,
|
|||
|
||||
setup();
|
||||
|
||||
mLoaded = true ;
|
||||
requestGroup();
|
||||
setPost(post);
|
||||
requestComment();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void GxsChannelPostItem::paintEvent(QPaintEvent *e)
|
||||
{
|
||||
/* This method employs a trick to trigger a deferred loading. The post and group is requested only
|
||||
* when actually displayed on the screen. */
|
||||
|
||||
if(!mLoaded)
|
||||
{
|
||||
mLoaded = true ;
|
||||
|
||||
requestGroup();
|
||||
requestMessage();
|
||||
requestComment();
|
||||
}
|
||||
|
||||
GxsFeedItem::paintEvent(e) ;
|
||||
}
|
||||
|
||||
GxsChannelPostItem::~GxsChannelPostItem()
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue