mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-02 05:02:33 -04:00
Add Comment Number On Button.
This commit is contained in:
parent
dea776a61a
commit
ea6bbac732
7 changed files with 97 additions and 4 deletions
|
@ -44,6 +44,7 @@ PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsGroup
|
||||||
|
|
||||||
requestGroup();
|
requestGroup();
|
||||||
requestMessage();
|
requestMessage();
|
||||||
|
requestComment();
|
||||||
}
|
}
|
||||||
|
|
||||||
PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedGroup &group, const RsPostedPost &post, bool isHome, bool autoUpdate) :
|
PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedGroup &group, const RsPostedPost &post, bool isHome, bool autoUpdate) :
|
||||||
|
@ -53,6 +54,7 @@ PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedGr
|
||||||
|
|
||||||
setGroup(group, false);
|
setGroup(group, false);
|
||||||
setPost(post);
|
setPost(post);
|
||||||
|
requestComment();
|
||||||
}
|
}
|
||||||
|
|
||||||
PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedPost &post, bool isHome, bool autoUpdate) :
|
PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedPost &post, bool isHome, bool autoUpdate) :
|
||||||
|
@ -62,6 +64,7 @@ PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedPo
|
||||||
|
|
||||||
requestGroup();
|
requestGroup();
|
||||||
setPost(post);
|
setPost(post);
|
||||||
|
requestComment();
|
||||||
}
|
}
|
||||||
|
|
||||||
PostedItem::~PostedItem()
|
PostedItem::~PostedItem()
|
||||||
|
@ -195,6 +198,26 @@ void PostedItem::loadMessage(const uint32_t &token)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PostedItem::loadComment(const uint32_t &token)
|
||||||
|
{
|
||||||
|
std::vector<RsGxsComment> cmts;
|
||||||
|
if (!rsPosted->getRelatedComments(token, cmts))
|
||||||
|
{
|
||||||
|
std::cerr << "GxsChannelPostItem::loadComment() ERROR getting data";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t comNb = cmts.size();
|
||||||
|
QString sComButText = tr("Comment");
|
||||||
|
if (comNb == 1) {
|
||||||
|
sComButText = sComButText.append("(1)");
|
||||||
|
} else if (comNb > 1) {
|
||||||
|
sComButText = tr("Comments").append("(%1)").arg(comNb);
|
||||||
|
}
|
||||||
|
ui->commentButton->setText(sComButText);
|
||||||
|
}
|
||||||
|
|
||||||
void PostedItem::fill()
|
void PostedItem::fill()
|
||||||
{
|
{
|
||||||
if (isLoading()) {
|
if (isLoading()) {
|
||||||
|
|
|
@ -72,8 +72,9 @@ protected:
|
||||||
virtual RetroShareLink::enumType getLinkType() { return RetroShareLink::TYPE_UNKNOWN; }
|
virtual RetroShareLink::enumType getLinkType() { return RetroShareLink::TYPE_UNKNOWN; }
|
||||||
|
|
||||||
/* GxsFeedItem */
|
/* GxsFeedItem */
|
||||||
virtual void loadMessage(const uint32_t &token);
|
|
||||||
virtual QString messageName();
|
virtual QString messageName();
|
||||||
|
virtual void loadMessage(const uint32_t &token);
|
||||||
|
virtual void loadComment(const uint32_t &token);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setup();
|
void setup();
|
||||||
|
|
|
@ -52,6 +52,7 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId,
|
||||||
|
|
||||||
requestGroup();
|
requestGroup();
|
||||||
requestMessage();
|
requestMessage();
|
||||||
|
requestComment();
|
||||||
}
|
}
|
||||||
|
|
||||||
GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsChannelGroup &group, const RsGxsChannelPost &post, bool isHome, bool autoUpdate) :
|
GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsChannelGroup &group, const RsGxsChannelPost &post, bool isHome, bool autoUpdate) :
|
||||||
|
@ -66,6 +67,7 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId,
|
||||||
|
|
||||||
setGroup(group, false);
|
setGroup(group, false);
|
||||||
setPost(post);
|
setPost(post);
|
||||||
|
requestComment();
|
||||||
}
|
}
|
||||||
|
|
||||||
GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsChannelPost &post, bool isHome, bool autoUpdate) :
|
GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsChannelPost &post, bool isHome, bool autoUpdate) :
|
||||||
|
@ -80,6 +82,7 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId,
|
||||||
|
|
||||||
requestGroup();
|
requestGroup();
|
||||||
setPost(post);
|
setPost(post);
|
||||||
|
requestComment();
|
||||||
}
|
}
|
||||||
|
|
||||||
GxsChannelPostItem::~GxsChannelPostItem()
|
GxsChannelPostItem::~GxsChannelPostItem()
|
||||||
|
@ -276,6 +279,31 @@ void GxsChannelPostItem::loadMessage(const uint32_t &token)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GxsChannelPostItem::loadComment(const uint32_t &token)
|
||||||
|
{
|
||||||
|
#ifdef DEBUG_ITEM
|
||||||
|
std::cerr << "GxsChannelPostItem::loadComment()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
std::vector<RsGxsComment> cmts;
|
||||||
|
if (!rsGxsChannels->getRelatedComments(token, cmts))
|
||||||
|
{
|
||||||
|
std::cerr << "GxsChannelPostItem::loadComment() ERROR getting data";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t comNb = cmts.size();
|
||||||
|
QString sComButText = tr("Comment");
|
||||||
|
if (comNb == 1) {
|
||||||
|
sComButText = sComButText.append("(1)");
|
||||||
|
} else if (comNb > 1) {
|
||||||
|
sComButText = tr("Comments").append("(%1)").arg(comNb);
|
||||||
|
}
|
||||||
|
ui->commentButton->setText(sComButText);
|
||||||
|
}
|
||||||
|
|
||||||
void GxsChannelPostItem::fill()
|
void GxsChannelPostItem::fill()
|
||||||
{
|
{
|
||||||
/* fill in */
|
/* fill in */
|
||||||
|
|
|
@ -68,8 +68,9 @@ protected:
|
||||||
virtual RetroShareLink::enumType getLinkType() { return RetroShareLink::TYPE_CHANNEL; }
|
virtual RetroShareLink::enumType getLinkType() { return RetroShareLink::TYPE_CHANNEL; }
|
||||||
|
|
||||||
/* GxsFeedItem */
|
/* GxsFeedItem */
|
||||||
virtual void loadMessage(const uint32_t &token);
|
|
||||||
virtual QString messageName();
|
virtual QString messageName();
|
||||||
|
virtual void loadMessage(const uint32_t &token);
|
||||||
|
virtual void loadComment(const uint32_t &token);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
/* default stuff */
|
/* default stuff */
|
||||||
|
|
|
@ -63,8 +63,9 @@ protected:
|
||||||
virtual bool isLoading();
|
virtual bool isLoading();
|
||||||
|
|
||||||
/* GxsFeedItem */
|
/* GxsFeedItem */
|
||||||
virtual void loadMessage(const uint32_t &token);
|
|
||||||
virtual QString messageName();
|
virtual QString messageName();
|
||||||
|
virtual void loadMessage(const uint32_t &token);
|
||||||
|
virtual void loadComment(const uint32_t &/*token*/){ return;}
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
/* default stuff */
|
/* default stuff */
|
||||||
|
|
|
@ -44,6 +44,7 @@ GxsFeedItem::GxsFeedItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsGro
|
||||||
mMessageId = messageId;
|
mMessageId = messageId;
|
||||||
|
|
||||||
mTokenTypeMessage = nextTokenType();
|
mTokenTypeMessage = nextTokenType();
|
||||||
|
mTokenTypeComment = nextTokenType();
|
||||||
}
|
}
|
||||||
|
|
||||||
GxsFeedItem::~GxsFeedItem()
|
GxsFeedItem::~GxsFeedItem()
|
||||||
|
@ -132,6 +133,37 @@ void GxsFeedItem::requestMessage()
|
||||||
mLoadQueue->requestMsgInfo(token, RS_TOKREQ_ANSTYPE_DATA, opts, msgIds, mTokenTypeMessage);
|
mLoadQueue->requestMsgInfo(token, RS_TOKREQ_ANSTYPE_DATA, opts, msgIds, mTokenTypeMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GxsFeedItem::requestComment()
|
||||||
|
{
|
||||||
|
#ifdef DEBUG_ITEM
|
||||||
|
std::cerr << "GxsFeedItem::requestComment()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!initLoadQueue()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mLoadQueue->activeRequestExist(mTokenTypeComment)) {
|
||||||
|
/* Request already running */
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
RsTokReqOptions opts;
|
||||||
|
opts.mReqType = GXS_REQUEST_TYPE_MSG_RELATED_DATA;
|
||||||
|
opts.mOptions = RS_TOKREQOPT_MSG_THREAD | RS_TOKREQOPT_MSG_LATEST;
|
||||||
|
|
||||||
|
RsGxsGrpMsgIdPair msgIdPair;
|
||||||
|
msgIdPair.first = groupId();
|
||||||
|
msgIdPair.second = messageId();
|
||||||
|
|
||||||
|
std::vector<RsGxsGrpMsgIdPair> msgIds;
|
||||||
|
msgIds.push_back(msgIdPair);
|
||||||
|
|
||||||
|
uint32_t token;
|
||||||
|
mLoadQueue->requestMsgRelatedInfo(token, RS_TOKREQ_ANSTYPE_DATA, opts, msgIds, mTokenTypeComment);
|
||||||
|
}
|
||||||
|
|
||||||
void GxsFeedItem::loadRequest(const TokenQueue *queue, const TokenRequest &req)
|
void GxsFeedItem::loadRequest(const TokenQueue *queue, const TokenRequest &req)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_ITEM
|
#ifdef DEBUG_ITEM
|
||||||
|
@ -144,6 +176,10 @@ void GxsFeedItem::loadRequest(const TokenQueue *queue, const TokenRequest &req)
|
||||||
loadMessage(req.mToken);
|
loadMessage(req.mToken);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (req.mUserType == mTokenTypeComment) {
|
||||||
|
loadComment(req.mToken);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GxsGroupFeedItem::loadRequest(queue, req);
|
GxsGroupFeedItem::loadRequest(queue, req);
|
||||||
|
|
|
@ -42,9 +42,11 @@ public:
|
||||||
protected:
|
protected:
|
||||||
/* load message data */
|
/* load message data */
|
||||||
void requestMessage();
|
void requestMessage();
|
||||||
|
void requestComment();
|
||||||
|
|
||||||
virtual void loadMessage(const uint32_t &token) = 0;
|
|
||||||
virtual QString messageName() = 0;
|
virtual QString messageName() = 0;
|
||||||
|
virtual void loadMessage(const uint32_t &token) = 0;
|
||||||
|
virtual void loadComment(const uint32_t &token) = 0;
|
||||||
|
|
||||||
/* GxsGroupFeedItem */
|
/* GxsGroupFeedItem */
|
||||||
virtual bool isLoading();
|
virtual bool isLoading();
|
||||||
|
@ -60,6 +62,7 @@ protected slots:
|
||||||
private:
|
private:
|
||||||
RsGxsMessageId mMessageId;
|
RsGxsMessageId mMessageId;
|
||||||
uint32_t mTokenTypeMessage;
|
uint32_t mTokenTypeMessage;
|
||||||
|
uint32_t mTokenTypeComment;
|
||||||
};
|
};
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(RsGxsMessageId)
|
Q_DECLARE_METATYPE(RsGxsMessageId)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue