mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-04-19 14:55:54 -04:00
fixed sizes in idTreeWidget
This commit is contained in:
parent
a596acbcec
commit
2b13abe2a9
@ -389,9 +389,11 @@ IdDialog::IdDialog(QWidget *parent)
|
||||
menu->addAction(CreateCircleAction);
|
||||
ui->toolButton_New->setMenu(menu);
|
||||
|
||||
QFontMetricsF fm(ui->idTreeWidget->font()) ;
|
||||
|
||||
/* Set initial section sizes */
|
||||
QHeaderView * circlesheader = ui->treeWidget_membership->header () ;
|
||||
circlesheader->resizeSection (CIRCLEGROUP_CIRCLE_COL_GROUPNAME, QFontMetricsF(ui->idTreeWidget->font()).width("Circle name")*1.5) ;
|
||||
circlesheader->resizeSection (CIRCLEGROUP_CIRCLE_COL_GROUPNAME, fm.width("Circle name")*1.5) ;
|
||||
ui->treeWidget_membership->setColumnWidth(CIRCLEGROUP_CIRCLE_COL_GROUPNAME, 270);
|
||||
|
||||
/* Setup tree */
|
||||
@ -406,12 +408,13 @@ IdDialog::IdDialog(QWidget *parent)
|
||||
|
||||
/* Set header resize modes and initial section sizes */
|
||||
QHeaderView * idheader = ui->idTreeWidget->header();
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_NAME, QHeaderView::ResizeToContents);
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_ID, QHeaderView::ResizeToContents);
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_OWNER_ID, QHeaderView::ResizeToContents);
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_OWNER_NAME, QHeaderView::ResizeToContents);
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_REPUTATION, QHeaderView::ResizeToContents);
|
||||
idheader->setStretchLastSection(true);
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_NAME, QHeaderView::Stretch);
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_ID, QHeaderView::Stretch);
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_OWNER_ID, QHeaderView::Stretch);
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_OWNER_NAME, QHeaderView::Stretch);
|
||||
QHeaderView_setSectionResizeModeColumn(idheader, RsIdentityListModel::COLUMN_THREAD_REPUTATION, QHeaderView::Fixed);
|
||||
ui->idTreeWidget->setColumnWidth(RsIdentityListModel::COLUMN_THREAD_REPUTATION,fm.height());
|
||||
idheader->setStretchLastSection(false);
|
||||
|
||||
mStateHelper->setActive(IDDIALOG_IDDETAILS, false);
|
||||
mStateHelper->setActive(IDDIALOG_REPLIST, false);
|
||||
@ -1294,12 +1297,12 @@ void IdDialog::processSettings(bool load)
|
||||
{
|
||||
Settings->beginGroup("IdDialog");
|
||||
|
||||
// state of peer tree
|
||||
// ui->idTreeWidget->processSettings(load);
|
||||
|
||||
if (load) {
|
||||
// load settings
|
||||
|
||||
ui->idTreeWidget->header()->restoreState(Settings->value(objectName()).toByteArray());
|
||||
ui->idTreeWidget->header()->setHidden(Settings->value(objectName()+"HiddenHeader", false).toBool());
|
||||
|
||||
// filterColumn
|
||||
//ui->filterLineEdit->setCurrentFilter(Settings->value("filterColumn", RsIdentityListModel::COLUMN_THREAD_NAME).toInt());
|
||||
|
||||
@ -1322,6 +1325,9 @@ void IdDialog::processSettings(bool load)
|
||||
{
|
||||
// save settings
|
||||
|
||||
Settings->setValue(objectName(), ui->idTreeWidget->header()->saveState());
|
||||
Settings->setValue(objectName()+"HiddenHeader", ui->idTreeWidget->header()->isHidden());
|
||||
|
||||
// filterColumn
|
||||
//Settings->setValue("filterColumn", ui->filterLineEdit->currentFilter());
|
||||
|
||||
@ -1414,19 +1420,14 @@ void IdDialog::updateIdList()
|
||||
{
|
||||
|
||||
std::cerr << "Updating identity list in widget." << std::endl;
|
||||
applyWhileKeepingTree( [ids,this]() {
|
||||
|
||||
applyWhileKeepingTree( [ids,this]()
|
||||
{
|
||||
std::cerr << "setting new identity in model." << std::endl;
|
||||
mIdListModel->setIdentities(*ids) ;
|
||||
delete ids;
|
||||
|
||||
ui->label_count->setText("("+QString::number(mIdListModel->count())+")");
|
||||
|
||||
ui->idTreeWidget->resizeColumnToContents(RsIdentityListModel::COLUMN_THREAD_REPUTATION);
|
||||
ui->idTreeWidget->resizeColumnToContents(RsIdentityListModel::COLUMN_THREAD_ID);
|
||||
ui->idTreeWidget->resizeColumnToContents(RsIdentityListModel::COLUMN_THREAD_NAME);
|
||||
ui->idTreeWidget->resizeColumnToContents(RsIdentityListModel::COLUMN_THREAD_OWNER_ID);
|
||||
ui->idTreeWidget->resizeColumnToContents(RsIdentityListModel::COLUMN_THREAD_OWNER_NAME);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -35,6 +35,7 @@ class IdDialog;
|
||||
}
|
||||
|
||||
class UIStateHelper;
|
||||
class QStyledItemDelegate;
|
||||
class QTreeWidgetItem;
|
||||
class RsIdentityListModel;
|
||||
class IdListSortFilterProxyModel;
|
||||
@ -166,6 +167,10 @@ private:
|
||||
RsGxsGroupId mId;
|
||||
RsGxsGroupId mIdToNavigate;
|
||||
int filter;
|
||||
bool mColumnSizeAlreadySet; // remembers if we already did some size set. If not, automatically stretch to content.
|
||||
|
||||
QStyledItemDelegate *mElidedLabelDelegate;
|
||||
QStyledItemDelegate *mReputationDelegate;
|
||||
|
||||
RsIdentityListModel *mIdListModel;
|
||||
IdListSortFilterProxyModel *mProxyModel;
|
||||
|
@ -462,6 +462,7 @@ QVariant RsIdentityListModel::sizeHintRole(const EntryIndex& e,int col) const
|
||||
if(e.type == ENTRY_TYPE_CATEGORY)
|
||||
y_factor *= 1.5;
|
||||
|
||||
std::cerr << "sizeHintRole()" << std::endl;
|
||||
switch(col)
|
||||
{
|
||||
default:
|
||||
|
Loading…
x
Reference in New Issue
Block a user