ui advanced settings show and hide is acceptable. qt size hint and

scaling ((((features)))) are dumb
This commit is contained in:
2019-08-20 17:12:57 -04:00
parent ac6a4a582e
commit 82928fe84b
3 changed files with 385 additions and 388 deletions

View File

@@ -998,29 +998,20 @@ void MainWindow::on_actionErase_Device_triggered()
void MainWindow::on_checkBoxAdvancedMode_stateChanged(int state) void MainWindow::on_checkBoxAdvancedMode_stateChanged(int state)
{ {
int heightShrinkSize = ui->groupBoxAdvanced->height() + ui->groupBoxAdvanced->parentWidget()->layout()->spacing();
QSize cWidgetFinalSize(ui->centralWidget->width(), ui->centralWidget->height() - heightShrinkSize);
QSize windowFinalSize(width(), height() - heightShrinkSize);
ui->groupBoxAdvanced->setVisible(state != 0); ui->groupBoxAdvanced->setVisible(state != 0);
ui->centralWidget->updateGeometry();
// handle adjustment of window height when advanced controls are hidden // handle adjustment of window height when advanced controls are hidden
if (state == 0) if (state == 0)
{ {
/* QTimer::singleShot(0, ui->centralWidget, [this,cWidgetFinalSize,windowFinalSize]() {
* Qt's adjustSize() method on widget objects will scale the widget to only fit its' children. ui->centralWidget->resize(cWidgetFinalSize);
* This is useful for "collapsing" the window when the advanced controls are hidden, but will resize(windowFinalSize);
* scale both the height and the width. We want to retain the current width but change the });
* height, so first we will back up the min and max width values then set the current width as
* the fixed width to prevent it from being scaled.
*/
int minWidthBackup = minimumWidth();
int maxWidthBackup = maximumWidth();
setFixedWidth(width());
// perform the size adjustments
ui->centralWidget->adjustSize();
adjustSize();
// restore the min/max width values so the width is no longer fixed
setMinimumWidth(minWidthBackup);
setMaximumWidth(maxWidthBackup);
} }
} }

View File

@@ -111,6 +111,7 @@ private:
bool wasBootloaderMode; bool wasBootloaderMode;
private slots: private slots:
void on_actionBlank_Check_triggered(); void on_actionBlank_Check_triggered();
void on_actionReset_Device_triggered(); void on_actionReset_Device_triggered();

View File

@@ -2,29 +2,15 @@
<ui version="4.0"> <ui version="4.0">
<class>MainWindowClass</class> <class>MainWindowClass</class>
<widget class="QMainWindow" name="MainWindowClass"> <widget class="QMainWindow" name="MainWindowClass">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>300</width>
<height>504</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>300</width> <width>481</width>
<height>0</height> <height>0</height>
</size> </size>
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans</family> <family>Segoe UI</family>
</font> </font>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -35,30 +21,21 @@
<normaloff>:/MainWindow/img/Microchip_logo.Ico</normaloff>:/MainWindow/img/Microchip_logo.Ico</iconset> <normaloff>:/MainWindow/img/Microchip_logo.Ico</normaloff>:/MainWindow/img/Microchip_logo.Ico</iconset>
</property> </property>
<widget class="QWidget" name="centralWidget"> <widget class="QWidget" name="centralWidget">
<property name="sizePolicy"> <layout class="QVBoxLayout" name="_2">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred"> <item>
<horstretch>0</horstretch> <widget class="QWidget" name="groupBasic" native="true">
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QGroupBox" name="groupFirmwareFile"> <widget class="QGroupBox" name="groupFirmwareFile">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans Medium</family> <family>Segoe UI</family>
<pointsize>14</pointsize> <pointsize>14</pointsize>
</font> </font>
</property> </property>
@@ -83,11 +60,14 @@ QGroupBox::title {
<property name="spacing"> <property name="spacing">
<number>4</number> <number>4</number>
</property> </property>
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
<item> <item>
<widget class="QLineEdit" name="txtFirmwareFile"> <widget class="QLineEdit" name="txtFirmwareFile">
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans</family> <family>Segoe UI</family>
<pointsize>10</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
@@ -101,6 +81,12 @@ QGroupBox::title {
</item> </item>
<item> <item>
<widget class="QPushButton" name="btnFwBrowse"> <widget class="QPushButton" name="btnFwBrowse">
<property name="font">
<font>
<family>Segoe UI</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Browse</string> <string>Browse</string>
</property> </property>
@@ -119,7 +105,7 @@ QGroupBox::title {
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans Medium</family> <family>Segoe UI</family>
<pointsize>14</pointsize> <pointsize>14</pointsize>
</font> </font>
</property> </property>
@@ -160,7 +146,7 @@ QGroupBox::title {
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<family>MS Shell Dlg 2</family> <family>Segoe UI</family>
<pointsize>14</pointsize> <pointsize>14</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
@@ -175,7 +161,7 @@ QGroupBox::title {
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans</family> <family>Segoe UI</family>
<pointsize>9</pointsize> <pointsize>9</pointsize>
</font> </font>
</property> </property>
@@ -186,6 +172,11 @@ QGroupBox::title {
</item> </item>
<item> <item>
<widget class="QProgressBar" name="progressBar"> <widget class="QProgressBar" name="progressBar">
<property name="font">
<font>
<family>Segoe UI</family>
</font>
</property>
<property name="value"> <property name="value">
<number>0</number> <number>0</number>
</property> </property>
@@ -207,7 +198,7 @@ QGroupBox::title {
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans Medium</family> <family>Segoe UI</family>
<pointsize>14</pointsize> <pointsize>14</pointsize>
</font> </font>
</property> </property>
@@ -241,7 +232,7 @@ QGroupBox::title {
<widget class="QLabel" name="label_7"> <widget class="QLabel" name="label_7">
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans Medium</family> <family>Segoe UI</family>
<pointsize>12</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
@@ -254,7 +245,7 @@ QGroupBox::title {
<widget class="QLabel" name="lblDeviceConnected"> <widget class="QLabel" name="lblDeviceConnected">
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans Medium</family> <family>Segoe UI</family>
<pointsize>10</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
@@ -272,45 +263,19 @@ QGroupBox::title {
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0"> </layout>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>1</height>
</size>
</property>
</spacer>
</item> </item>
<item row="2" column="1"> <item>
<widget class="QLabel" name="lblDeviceStatusMsg"> <widget class="QLabel" name="lblDeviceStatusMsg">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans Light</family> <family>Segoe UI</family>
<pointsize>10</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
@@ -325,7 +290,21 @@ QGroupBox::title {
</property> </property>
</widget> </widget>
</item> </item>
</layout> <item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>1</height>
</size>
</property>
</spacer>
</item> </item>
</layout> </layout>
</widget> </widget>
@@ -340,6 +319,11 @@ QGroupBox::title {
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="font">
<font>
<family>Segoe UI</family>
</font>
</property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
@@ -349,6 +333,7 @@ QGroupBox::title {
<widget class="QCheckBox" name="checkBoxAdvancedMode"> <widget class="QCheckBox" name="checkBoxAdvancedMode">
<property name="font"> <property name="font">
<font> <font>
<family>Segoe UI</family>
<pointsize>10</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
@@ -365,6 +350,11 @@ QGroupBox::title {
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="font">
<font>
<family>Segoe UI</family>
</font>
</property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
@@ -372,6 +362,9 @@ QGroupBox::title {
</item> </item>
</layout> </layout>
</item> </item>
</layout>
</widget>
</item>
<item> <item>
<widget class="QGroupBox" name="groupBoxAdvanced"> <widget class="QGroupBox" name="groupBoxAdvanced">
<property name="sizePolicy"> <property name="sizePolicy">
@@ -380,6 +373,11 @@ QGroupBox::title {
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="font">
<font>
<family>Segoe UI</family>
</font>
</property>
<property name="accessibleDescription"> <property name="accessibleDescription">
<string>advmode</string> <string>advmode</string>
</property> </property>
@@ -404,10 +402,15 @@ QGroupBox::title {
<number>0</number> <number>0</number>
</property> </property>
<property name="bottomMargin"> <property name="bottomMargin">
<number>6</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QWidget" name="widget" native="true"> <widget class="QWidget" name="widget" native="true">
<property name="font">
<font>
<family>Segoe UI</family>
</font>
</property>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayout">
<property name="labelAlignment"> <property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -431,7 +434,7 @@ QGroupBox::title {
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="label_5">
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans Medium</family> <family>Segoe UI</family>
<pointsize>10</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
@@ -444,7 +447,7 @@ QGroupBox::title {
<widget class="QLabel" name="lblDeviceBootloaderVer"> <widget class="QLabel" name="lblDeviceBootloaderVer">
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans</family> <family>Segoe UI</family>
<pointsize>10</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
@@ -457,7 +460,7 @@ QGroupBox::title {
<widget class="QLabel" name="label_11"> <widget class="QLabel" name="label_11">
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans Medium</family> <family>Segoe UI</family>
<pointsize>10</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
@@ -470,7 +473,7 @@ QGroupBox::title {
<widget class="QLabel" name="lblDeviceAppFWVer"> <widget class="QLabel" name="lblDeviceAppFWVer">
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans</family> <family>Segoe UI</family>
<pointsize>10</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
@@ -483,6 +486,12 @@ QGroupBox::title {
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QWidget" name="widget" native="true">
<property name="font">
<font>
<family>Segoe UI</family>
</font>
</property>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QPushButton" name="btnResetDevice"> <widget class="QPushButton" name="btnResetDevice">
@@ -495,15 +504,10 @@ QGroupBox::title {
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans</family> <family>Segoe UI</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -522,15 +526,10 @@ QGroupBox::title {
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans</family> <family>Segoe UI</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -539,6 +538,7 @@ QGroupBox::title {
</widget> </widget>
</item> </item>
</layout> </layout>
</widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
@@ -550,7 +550,7 @@ QGroupBox::title {
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<family>IBM Plex Sans</family> <family>Segoe UI</family>
<pointsize>9</pointsize> <pointsize>9</pointsize>
</font> </font>
</property> </property>
@@ -567,6 +567,11 @@ QGroupBox::title {
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="font">
<font>
<family>Segoe UI</family>
</font>
</property>
<property name="sizeAdjustPolicy"> <property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::AdjustIgnored</enum> <enum>QAbstractScrollArea::AdjustIgnored</enum>
</property> </property>
@@ -585,8 +590,8 @@ QGroupBox::title {
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>300</width> <width>481</width>
<height>17</height> <height>26</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menuProgrammer"> <widget class="QMenu" name="menuProgrammer">