mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
Fix Channel filter when loading big post.
And fix "Not a GxsChannelPostItem, deleting!" error message Don't search empty text in very long string.
This commit is contained in:
parent
7ded128b3a
commit
5f0afb3d6e
@ -353,7 +353,18 @@ bool p3GxsChannels::getPostData(const uint32_t &token, std::vector<RsGxsChannelP
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::cerr << "Not a GxsChannelPostItem, deleting!" << std::endl;
|
RsGxsCommentItem* cmt = dynamic_cast<RsGxsCommentItem*>(*vit);
|
||||||
|
if(!cmt)
|
||||||
|
{
|
||||||
|
RsGxsMsgItem* msg = (*vit);
|
||||||
|
//const uint16_t RS_SERVICE_GXS_TYPE_CHANNELS = 0x0217;
|
||||||
|
//const uint8_t RS_PKT_SUBTYPE_GXSCHANNEL_POST_ITEM = 0x03;
|
||||||
|
//const uint8_t RS_PKT_SUBTYPE_GXSCOMMENT_COMMENT_ITEM = 0xf1;
|
||||||
|
std::cerr << "Not a GxsChannelPostItem neither a RsGxsCommentItem"
|
||||||
|
<< " PacketService=" << std::hex << (int)msg->PacketService() << std::dec
|
||||||
|
<< " PacketSubType=" << std::hex << (int)msg->PacketSubType() << std::dec
|
||||||
|
<< " , deleting!" << std::endl;
|
||||||
|
}
|
||||||
delete *vit;
|
delete *vit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -401,7 +412,18 @@ bool p3GxsChannels::getRelatedPosts(const uint32_t &token, std::vector<RsGxsChan
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::cerr << "Not a GxsChannelPostItem, deleting!" << std::endl;
|
RsGxsCommentItem* cmt = dynamic_cast<RsGxsCommentItem*>(*vit);
|
||||||
|
if(!cmt)
|
||||||
|
{
|
||||||
|
RsGxsMsgItem* msg = (*vit);
|
||||||
|
//const uint16_t RS_SERVICE_GXS_TYPE_CHANNELS = 0x0217;
|
||||||
|
//const uint8_t RS_PKT_SUBTYPE_GXSCHANNEL_POST_ITEM = 0x03;
|
||||||
|
//const uint8_t RS_PKT_SUBTYPE_GXSCOMMENT_COMMENT_ITEM = 0xf1;
|
||||||
|
std::cerr << "Not a GxsChannelPostItem neither a RsGxsCommentItem"
|
||||||
|
<< " PacketService=" << std::hex << (int)msg->PacketService() << std::dec
|
||||||
|
<< " PacketSubType=" << std::hex << (int)msg->PacketSubType() << std::dec
|
||||||
|
<< " , deleting!" << std::endl;
|
||||||
|
}
|
||||||
delete *vit;
|
delete *vit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1560,7 +1582,7 @@ void p3GxsChannels::handle_event(uint32_t event_type, const std::string &elabel)
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
/* error */
|
/* error */
|
||||||
std::cerr << "p3GxsChannels::handle_event() Unknown Event Type: " << event_type;
|
std::cerr << "p3GxsChannels::handle_event() Unknown Event Type: " << event_type << " elabel:" << elabel;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -327,29 +327,32 @@ void GxsChannelPostsWidget::filterChanged(int filter)
|
|||||||
|
|
||||||
bool bVisible = text.isEmpty();
|
bool bVisible = text.isEmpty();
|
||||||
|
|
||||||
switch(filter)
|
if (!bVisible)
|
||||||
{
|
{
|
||||||
case FILTER_TITLE:
|
switch(filter)
|
||||||
bVisible = item->getTitleLabel().contains(text,Qt::CaseInsensitive);
|
|
||||||
break;
|
|
||||||
case FILTER_MSG:
|
|
||||||
bVisible = item->getMsgLabel().contains(text,Qt::CaseInsensitive);
|
|
||||||
break;
|
|
||||||
case FILTER_FILE_NAME:
|
|
||||||
{
|
|
||||||
std::list<SubFileItem *> fileItems = item->getFileItems();
|
|
||||||
std::list<SubFileItem *>::iterator lit;
|
|
||||||
for(lit = fileItems.begin(); lit != fileItems.end(); ++lit)
|
|
||||||
{
|
{
|
||||||
SubFileItem *fi = *lit;
|
case FILTER_TITLE:
|
||||||
QString fileName = QString::fromUtf8(fi->FileName().c_str());
|
bVisible = item->getTitleLabel().contains(text,Qt::CaseInsensitive);
|
||||||
bVisible = (bVisible || fileName.contains(text,Qt::CaseInsensitive));
|
break;
|
||||||
|
case FILTER_MSG:
|
||||||
|
bVisible = item->getMsgLabel().contains(text,Qt::CaseInsensitive);
|
||||||
|
break;
|
||||||
|
case FILTER_FILE_NAME:
|
||||||
|
{
|
||||||
|
std::list<SubFileItem *> fileItems = item->getFileItems();
|
||||||
|
std::list<SubFileItem *>::iterator lit;
|
||||||
|
for(lit = fileItems.begin(); lit != fileItems.end(); ++lit)
|
||||||
|
{
|
||||||
|
SubFileItem *fi = *lit;
|
||||||
|
QString fileName = QString::fromUtf8(fi->FileName().c_str());
|
||||||
|
bVisible = (bVisible || fileName.contains(text,Qt::CaseInsensitive));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
bVisible = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
bVisible = true;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return bVisible;
|
return bVisible;
|
||||||
|
Loading…
Reference in New Issue
Block a user