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