From 5b5518077d67987f95e650660f5f08a0a8f42861 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 26 May 2015 15:51:00 -0700 Subject: [PATCH] fix headers and stats for domain connection timing --- interface/src/ui/DomainConnectionDialog.cpp | 27 ++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/interface/src/ui/DomainConnectionDialog.cpp b/interface/src/ui/DomainConnectionDialog.cpp index 98c0401296..3695fdff4d 100644 --- a/interface/src/ui/DomainConnectionDialog.cpp +++ b/interface/src/ui/DomainConnectionDialog.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #include @@ -29,7 +30,6 @@ DomainConnectionDialog::DomainConnectionDialog(QWidget* parent) : const QStringList TABLE_HEADERS = QStringList() << "Name" << "Timestamp (ms)" << "Delta (ms)" << "Time elapsed (ms)"; - timeTable->setHorizontalHeaderLabels(TABLE_HEADERS); timeTable->setColumnCount(TABLE_HEADERS.size()); // ask the NodeList for the current values for connection times @@ -37,6 +37,8 @@ DomainConnectionDialog::DomainConnectionDialog(QWidget* parent) : timeTable->setRowCount(times.size()); + timeTable->setHorizontalHeaderLabels(TABLE_HEADERS); + // setup our data with the values from the NodeList quint64 firstStepTime = times[NodeList::ConnectionStep::LookupAddress] / USECS_PER_MSEC; quint64 lastStepTime = firstStepTime; @@ -67,8 +69,31 @@ DomainConnectionDialog::DomainConnectionDialog(QWidget* parent) : } } + timeTable->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + timeTable->resizeColumnsToContents(); + + const int TABLE_HEADER_GAP = 4; + + // figure out the size of the table so we can size the dialog + int tableWidth = timeTable->verticalHeader()->width() + TABLE_HEADER_GAP; + for (int i = 0; i < timeTable->columnCount(); i++) { + tableWidth += timeTable->columnWidth(i); + } + + int tableHeight = timeTable->horizontalHeader()->height() + TABLE_HEADER_GAP; + for (int i = 0; i < timeTable->rowCount(); i++) { + tableHeight += timeTable->rowHeight(i); + } + + timeTable->setMaximumSize(QSize(tableWidth, tableHeight)); + timeTable->setMinimumSize(timeTable->maximumSize()); + QHBoxLayout* hBoxLayout = new QHBoxLayout; hBoxLayout->addWidget(timeTable); + hBoxLayout->setSizeConstraint(QLayout::SetMinimumSize); + + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setLayout(hBoxLayout); + adjustSize(); }