fixed default chunk size in boards

This commit is contained in:
csoler 2021-02-09 20:18:47 +01:00
parent 09ee07dcda
commit 97f24fbaa3
3 changed files with 11 additions and 7 deletions

View File

@ -244,7 +244,7 @@ PostedListWidgetWithModel::PostedListWidgetWithModel(const RsGxsGroupId& postedI
/* Invoke the Qt Designer generated object setup routine */
ui->setupUi(this);
ui->postsTree->setModel(mPostedPostsModel = new RsPostedPostsModel());
ui->postsTree->setModel(mPostedPostsModel = new RsPostedPostsModel(POSTS_CHUNK_SIZE));
ui->postsTree->setItemDelegate(mPostedPostsDelegate = new PostedPostDelegate(this));
ui->postsTree->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); // prevents bug on w10, since row size depends on widget width
ui->postsTree->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);// more beautiful if we scroll at pixel level

View File

@ -42,10 +42,12 @@ const uint32_t RsPostedPostsModel::DEFAULT_DISPLAYED_NB_POSTS = 10;
std::ostream& operator<<(std::ostream& o, const QModelIndex& i);// defined elsewhere
RsPostedPostsModel::RsPostedPostsModel(QObject *parent)
RsPostedPostsModel::RsPostedPostsModel(int default_chunk_size, QObject *parent)
: QAbstractItemModel(parent), mTreeMode(TREE_MODE_PLAIN)
{
initEmptyHierarchy();
mDefaultDisplayedNbPosts = default_chunk_size;
initEmptyHierarchy();
mEventHandlerId = 0;
mSortingStrategy = SORT_NEW_SCORE;
@ -132,7 +134,7 @@ void RsPostedPostsModel::initEmptyHierarchy()
mPosts.clear();
mFilteredPosts.clear();
mDisplayedNbPosts = DEFAULT_DISPLAYED_NB_POSTS;
mDisplayedNbPosts = mDefaultDisplayedNbPosts;
mDisplayedStartIndex = 0;
postMods();
@ -192,7 +194,7 @@ void RsPostedPostsModel::setFilter(const QStringList& strings, uint32_t& count)
count = mFilteredPosts.size();
mDisplayedStartIndex = 0;
mDisplayedNbPosts = std::min(count,DEFAULT_DISPLAYED_NB_POSTS) ;
mDisplayedNbPosts = std::min(count,mDisplayedNbPosts) ;
std::cerr << "After filtering: " << count << " posts remain." << std::endl;
@ -540,7 +542,7 @@ void RsPostedPostsModel::setPosts(const RsPostedGroup& group, std::vector<RsPost
uint32_t tmpval;
setFilter(QStringList(),tmpval);
mDisplayedNbPosts = std::min((uint32_t)mFilteredPosts.size(),DEFAULT_DISPLAYED_NB_POSTS);
mDisplayedNbPosts = std::min((uint32_t)mFilteredPosts.size(),mDisplayedNbPosts);
mDisplayedStartIndex = 0;
if (rowCount()>0)

View File

@ -92,7 +92,7 @@ class RsPostedPostsModel : public QAbstractItemModel
Q_OBJECT
public:
explicit RsPostedPostsModel(QObject *parent = NULL);
explicit RsPostedPostsModel(int default_chunk_size,QObject *parent = NULL);
virtual ~RsPostedPostsModel() override;
static const uint32_t COLUMN_THREAD_NB_COLUMNS = 0x01;
@ -159,6 +159,7 @@ public:
void setFilter(const QStringList &strings, uint32_t &count) ;
void setSortingStrategy(SortingStrategy s);
void setPostsInterval(int start,int nb_posts);
void setPostsDefaultInterval(int size);
#ifdef TODO
void setAuthorOpinion(const QModelIndex& indx,RsOpinion op);
@ -246,6 +247,7 @@ private:
std::vector<int> mFilteredPosts;
uint32_t mDisplayedStartIndex;
uint32_t mDisplayedNbPosts;
uint32_t mDefaultDisplayedNbPosts;
SortingStrategy mSortingStrategy;
RsEventsHandlerId_t mEventHandlerId ;