mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-07-28 17:04:58 -04:00
fixed update of sizes in channel list view
This commit is contained in:
parent
81e08d0004
commit
03ac2eb53c
3 changed files with 15 additions and 16 deletions
|
@ -69,8 +69,9 @@ void RsGxsChannelPostsModel::setMode(TreeMode mode)
|
||||||
if(mode == TREE_MODE_LIST)
|
if(mode == TREE_MODE_LIST)
|
||||||
setNumColumns(2);
|
setNumColumns(2);
|
||||||
|
|
||||||
// needs some update here
|
emit dataChanged(createIndex(0,0,(void*)NULL), createIndex(rowCount()-1,mColumns-1,(void*)NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
void RsGxsChannelPostsModel::handleEvent_main_thread(std::shared_ptr<const RsEvent> event)
|
void RsGxsChannelPostsModel::handleEvent_main_thread(std::shared_ptr<const RsEvent> event)
|
||||||
{
|
{
|
||||||
const RsGxsChannelEvent *e = dynamic_cast<const RsGxsChannelEvent*>(event.get());
|
const RsGxsChannelEvent *e = dynamic_cast<const RsGxsChannelEvent*>(event.get());
|
||||||
|
@ -115,7 +116,7 @@ void RsGxsChannelPostsModel::handleEvent_main_thread(std::shared_ptr<const RsEve
|
||||||
{
|
{
|
||||||
mPosts[j] = posts[i];
|
mPosts[j] = posts[i];
|
||||||
|
|
||||||
emit dataChanged(createIndex(0,0,(void*)NULL), createIndex(mFilteredPosts.size(),mColumns-1,(void*)NULL));
|
emit dataChanged(createIndex(0,0,(void*)NULL), createIndex(rowCount()-1,mColumns-1,(void*)NULL));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},this);
|
},this);
|
||||||
|
@ -145,7 +146,7 @@ void RsGxsChannelPostsModel::postMods()
|
||||||
{
|
{
|
||||||
endResetModel();
|
endResetModel();
|
||||||
|
|
||||||
emit dataChanged(createIndex(0,0,(void*)NULL), createIndex(mFilteredPosts.size(),mColumns-1,(void*)NULL));
|
emit dataChanged(createIndex(0,0,(void*)NULL), createIndex(rowCount()-1,mColumns-1,(void*)NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
void RsGxsChannelPostsModel::getFilesList(std::list<ChannelPostFileInfo>& files)
|
void RsGxsChannelPostsModel::getFilesList(std::list<ChannelPostFileInfo>& files)
|
||||||
|
|
|
@ -89,7 +89,7 @@ int ChannelPostDelegate::cellSize(int col,const QFont& font,uint32_t parent_widt
|
||||||
if(mUseGrid || col==0)
|
if(mUseGrid || col==0)
|
||||||
return mZoom*COLUMN_SIZE_FONT_FACTOR_W*QFontMetricsF(font).height();
|
return mZoom*COLUMN_SIZE_FONT_FACTOR_W*QFontMetricsF(font).height();
|
||||||
else
|
else
|
||||||
return parent_width - mZoom*COLUMN_SIZE_FONT_FACTOR_W*QFontMetricsF(font).height();
|
return 0.8*parent_width - mZoom*COLUMN_SIZE_FONT_FACTOR_W*QFontMetricsF(font).height();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChannelPostDelegate::zoom(bool zoom_or_unzoom)
|
void ChannelPostDelegate::zoom(bool zoom_or_unzoom)
|
||||||
|
@ -432,23 +432,21 @@ void GxsChannelPostsWidgetWithModel::switchView()
|
||||||
{
|
{
|
||||||
mChannelPostsDelegate->setWidgetGrid(false);
|
mChannelPostsDelegate->setWidgetGrid(false);
|
||||||
mChannelPostsModel->setMode(RsGxsChannelPostsModel::TREE_MODE_LIST);
|
mChannelPostsModel->setMode(RsGxsChannelPostsModel::TREE_MODE_LIST);
|
||||||
|
|
||||||
ui->postsTree->setColumnWidth(0,ui->postsTree->width());
|
|
||||||
//ui->postsTree->setUniformRowHeights(true);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mChannelPostsDelegate->setWidgetGrid(true);
|
mChannelPostsDelegate->setWidgetGrid(true);
|
||||||
mChannelPostsModel->setMode(RsGxsChannelPostsModel::TREE_MODE_GRID);
|
mChannelPostsModel->setMode(RsGxsChannelPostsModel::TREE_MODE_GRID);
|
||||||
|
|
||||||
|
handlePostsTreeSizeChange(ui->postsTree->size(),true);
|
||||||
|
}
|
||||||
|
|
||||||
for(int i=0;i<mChannelPostsModel->columnCount();++i)
|
for(int i=0;i<mChannelPostsModel->columnCount();++i)
|
||||||
ui->postsTree->setColumnWidth(i,mChannelPostsDelegate->cellSize(i,font(),ui->postsTree->width()));
|
ui->postsTree->setColumnWidth(i,mChannelPostsDelegate->cellSize(i,font(),ui->postsTree->width()));
|
||||||
|
|
||||||
//ui->postsTree->setUniformRowHeights(false);
|
ui->postsTree->dataChanged(QModelIndex(),QModelIndex()); // forces update of the whole tree
|
||||||
|
}
|
||||||
|
|
||||||
handlePostsTreeSizeChange(ui->postsTree->size());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void GxsChannelPostsWidgetWithModel::copyMessageLink()
|
void GxsChannelPostsWidgetWithModel::copyMessageLink()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -490,10 +488,10 @@ void GxsChannelPostsWidgetWithModel::editPost()
|
||||||
msgDialog->show();
|
msgDialog->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GxsChannelPostsWidgetWithModel::handlePostsTreeSizeChange(QSize s)
|
void GxsChannelPostsWidgetWithModel::handlePostsTreeSizeChange(QSize s,bool force)
|
||||||
{
|
{
|
||||||
int n_columns = std::max(1,(int)floor(s.width() / (mChannelPostsDelegate->cellSize(0,font(),ui->postsTree->width()))));
|
int n_columns = std::max(1,(int)floor(s.width() / (mChannelPostsDelegate->cellSize(0,font(),ui->postsTree->width()))));
|
||||||
std::cerr << "nb columns: " << n_columns << std::endl;
|
std::cerr << "nb columns: " << n_columns << " current count=" << mChannelPostsModel->columnCount() << std::endl;
|
||||||
|
|
||||||
if(n_columns != mChannelPostsModel->columnCount())
|
if(n_columns != mChannelPostsModel->columnCount())
|
||||||
mChannelPostsModel->setNumColumns(n_columns);
|
mChannelPostsModel->setNumColumns(n_columns);
|
||||||
|
|
|
@ -144,7 +144,7 @@ private slots:
|
||||||
void filterChanged(QString);
|
void filterChanged(QString);
|
||||||
void setViewMode(int viewMode);
|
void setViewMode(int viewMode);
|
||||||
void settingsChanged();
|
void settingsChanged();
|
||||||
void handlePostsTreeSizeChange(QSize s);
|
void handlePostsTreeSizeChange(QSize s, bool force=false);
|
||||||
void postChannelPostLoad();
|
void postChannelPostLoad();
|
||||||
void editPost();
|
void editPost();
|
||||||
void postContextMenu(const QPoint&);
|
void postContextMenu(const QPoint&);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue