mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-02-02 18:44:53 -05:00
added comment count to details
This commit is contained in:
parent
e234cb933d
commit
4d934993f3
@ -52,6 +52,7 @@ void GxsCommentDialog::init()
|
|||||||
connect(ui->refreshButton, SIGNAL(clicked()), this, SLOT(refresh()));
|
connect(ui->refreshButton, SIGNAL(clicked()), this, SLOT(refresh()));
|
||||||
connect(ui->idChooser, SIGNAL(currentIndexChanged( int )), this, SLOT(voterSelectionChanged( int )));
|
connect(ui->idChooser, SIGNAL(currentIndexChanged( int )), this, SLOT(voterSelectionChanged( int )));
|
||||||
connect(ui->idChooser, SIGNAL(idsLoaded()), this, SLOT(idChooserReady()));
|
connect(ui->idChooser, SIGNAL(idsLoaded()), this, SLOT(idChooserReady()));
|
||||||
|
connect(ui->treeWidget,SIGNAL(commentsLoaded(int)),this,SLOT(notifyCommentsLoaded(int)));
|
||||||
|
|
||||||
connect(ui->commentButton, SIGNAL(clicked()), ui->treeWidget, SLOT(makeComment()));
|
connect(ui->commentButton, SIGNAL(clicked()), ui->treeWidget, SLOT(makeComment()));
|
||||||
connect(ui->sortBox, SIGNAL(currentIndexChanged(int)), this, SLOT(sortComments(int)));
|
connect(ui->sortBox, SIGNAL(currentIndexChanged(int)), this, SLOT(sortComments(int)));
|
||||||
@ -95,6 +96,11 @@ void GxsCommentDialog::commentLoad(const RsGxsGroupId &grpId, const std::set<RsG
|
|||||||
ui->treeWidget->requestComments(mGrpId,msg_versions,most_recent_msgId);
|
ui->treeWidget->requestComments(mGrpId,msg_versions,most_recent_msgId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GxsCommentDialog::notifyCommentsLoaded(int n)
|
||||||
|
{
|
||||||
|
emit commentsLoaded(n);
|
||||||
|
}
|
||||||
|
|
||||||
void GxsCommentDialog::refresh()
|
void GxsCommentDialog::refresh()
|
||||||
{
|
{
|
||||||
std::cerr << "GxsCommentDialog::refresh()";
|
std::cerr << "GxsCommentDialog::refresh()";
|
||||||
|
@ -48,6 +48,10 @@ private slots:
|
|||||||
void idChooserReady();
|
void idChooserReady();
|
||||||
void voterSelectionChanged( int index );
|
void voterSelectionChanged( int index );
|
||||||
void sortComments(int);
|
void sortComments(int);
|
||||||
|
void notifyCommentsLoaded(int n);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void commentsLoaded(int);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void init();
|
void init();
|
||||||
|
@ -489,6 +489,30 @@ void GxsCommentTreeWidget::addItem(RsGxsMessageId itemId, RsGxsMessageId parentI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int treeCount(QTreeWidget *tree, QTreeWidgetItem *parent = 0)
|
||||||
|
{
|
||||||
|
int count = 0;
|
||||||
|
if (parent == 0) {
|
||||||
|
int topCount = tree->topLevelItemCount();
|
||||||
|
for (int i = 0; i < topCount; i++) {
|
||||||
|
QTreeWidgetItem *item = tree->topLevelItem(i);
|
||||||
|
if (item->isExpanded()) {
|
||||||
|
count += treeCount(tree, item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
count += topCount;
|
||||||
|
} else {
|
||||||
|
int childCount = parent->childCount();
|
||||||
|
for (int i = 0; i < childCount; i++) {
|
||||||
|
QTreeWidgetItem *item = parent->child(i);
|
||||||
|
if (item->isExpanded()) {
|
||||||
|
count += treeCount(tree, item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
count += childCount;
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
void GxsCommentTreeWidget::loadThread(const uint32_t &token)
|
void GxsCommentTreeWidget::loadThread(const uint32_t &token)
|
||||||
{
|
{
|
||||||
clearItems();
|
clearItems();
|
||||||
@ -496,6 +520,8 @@ void GxsCommentTreeWidget::loadThread(const uint32_t &token)
|
|||||||
service_loadThread(token);
|
service_loadThread(token);
|
||||||
|
|
||||||
completeItems();
|
completeItems();
|
||||||
|
|
||||||
|
emit commentsLoaded(treeCount(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
void GxsCommentTreeWidget::acknowledgeComment(const uint32_t &token)
|
void GxsCommentTreeWidget::acknowledgeComment(const uint32_t &token)
|
||||||
|
@ -80,6 +80,9 @@ public slots:
|
|||||||
void markSpammer();
|
void markSpammer();
|
||||||
void banUser();
|
void banUser();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void commentsLoaded(int);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void vote(const RsGxsGroupId &groupId, const RsGxsMessageId &threadId,
|
void vote(const RsGxsGroupId &groupId, const RsGxsMessageId &threadId,
|
||||||
|
@ -343,6 +343,7 @@ GxsChannelPostsWidgetWithModel::GxsChannelPostsWidgetWithModel(const RsGxsGroupI
|
|||||||
mChannelPostsDelegate->setAspectRatio(ChannelPostThumbnailView::ASPECT_RATIO_16_9);
|
mChannelPostsDelegate->setAspectRatio(ChannelPostThumbnailView::ASPECT_RATIO_16_9);
|
||||||
|
|
||||||
connect(ui->postsTree,SIGNAL(zoomRequested(bool)),this,SLOT(updateZoomFactor(bool)));
|
connect(ui->postsTree,SIGNAL(zoomRequested(bool)),this,SLOT(updateZoomFactor(bool)));
|
||||||
|
connect(ui->commentsDialog,SIGNAL(commentsLoaded(int)),this,SLOT(updateCommentsCount(int)));
|
||||||
|
|
||||||
ui->channelPostFiles_TV->setModel(mChannelPostFilesModel = new RsGxsChannelPostFilesModel(this));
|
ui->channelPostFiles_TV->setModel(mChannelPostFilesModel = new RsGxsChannelPostFilesModel(this));
|
||||||
ui->channelPostFiles_TV->setItemDelegate(new ChannelPostFilesDelegate());
|
ui->channelPostFiles_TV->setItemDelegate(new ChannelPostFilesDelegate());
|
||||||
@ -734,6 +735,13 @@ void GxsChannelPostsWidgetWithModel::showPostDetails()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GxsChannelPostsWidgetWithModel::updateCommentsCount(int n)
|
||||||
|
{
|
||||||
|
if(n > 0)
|
||||||
|
ui->details_TW->setTabText(2,tr("Comments (%1)").arg(n));
|
||||||
|
else
|
||||||
|
ui->details_TW->setTabText(2,tr("Comments"));
|
||||||
|
}
|
||||||
void GxsChannelPostsWidgetWithModel::updateGroupData()
|
void GxsChannelPostsWidgetWithModel::updateGroupData()
|
||||||
{
|
{
|
||||||
if(groupId().isNull())
|
if(groupId().isNull())
|
||||||
|
@ -161,6 +161,7 @@ private slots:
|
|||||||
public slots:
|
public slots:
|
||||||
void sortColumnFiles(int col,Qt::SortOrder so);
|
void sortColumnFiles(int col,Qt::SortOrder so);
|
||||||
void sortColumnPostFiles(int col,Qt::SortOrder so);
|
void sortColumnPostFiles(int col,Qt::SortOrder so);
|
||||||
|
void updateCommentsCount(int n);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void processSettings(bool load);
|
void processSettings(bool load);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user