Move self test to QMenuBar

This commit is contained in:
Spiros
2024-06-10 16:24:35 +03:00
parent 2cc1973760
commit 691727a992
3 changed files with 110 additions and 119 deletions

View File

@@ -41,9 +41,9 @@ MainWindow::MainWindow(QWidget *parent)
nextButton->setFocusPolicy(Qt::NoFocus); nextButton->setFocusPolicy(Qt::NoFocus);
prevButton->setFocusPolicy(Qt::NoFocus); prevButton->setFocusPolicy(Qt::NoFocus);
selfTestButton = ui->centralwidget->findChild<QToolButton*>("selfTestButton"); menuDisk = ui->menuDisk;
toolMenu = new QMenu(selfTestButton); toolMenu = new QMenu("Self Test", this);
selfTestButton->setMenu(toolMenu); menuDisk->addMenu(toolMenu);
toolMenu->setToolTipsVisible(true); toolMenu->setToolTipsVisible(true);
goodColor = QColor(Qt::green); goodColor = QColor(Qt::green);
@@ -491,7 +491,7 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
if (protocol != "NVMe") { if (protocol != "NVMe") {
addSmartAttributesTable(attributes); addSmartAttributesTable(attributes);
selfTestButton->show(); toolMenu->setEnabled(true);
toolMenu->clear(); toolMenu->clear();
int i = 0; int i = 0;
@@ -501,11 +501,14 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
actionLabel[0] = actionLabel[0].toUpper(); actionLabel[0] = actionLabel[0].toUpper();
QAction *action = new QAction(actionLabel, this); QAction *action = new QAction(actionLabel, this);
toolMenu->addAction(action); toolMenu->addAction(action);
connect(action, &QAction::triggered, this, [this]() {
QMessageBox::warning(this, "Warning", "This is a warning message.");
});
i++; i++;
} }
} else { } else {
addNvmeLogTable(nvmeLogOrdered); addNvmeLogTable(nvmeLogOrdered);
selfTestButton->hide(); toolMenu->setDisabled(true);
} }
} }

View File

@@ -67,7 +67,8 @@ private:
QJsonObject deviceJson; QJsonObject deviceJson;
QSpacerItem *buttonStretch; QSpacerItem *buttonStretch;
QSettings settings; QSettings settings;
QToolButton *selfTestButton;
QMenu *menuDisk;
QMenu *toolMenu; QMenu *toolMenu;
QJsonArray devices; QJsonArray devices;

View File

@@ -26,6 +26,86 @@
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<layout class="QHBoxLayout" name="disks">
<item>
<layout class="QHBoxLayout" name="horizontalLayout"/>
</item>
</layout>
</item>
<item row="3" column="0">
<widget class="QTableWidget" name="dataTable">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<property name="showGrid">
<bool>true</bool>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="navigation">
<item>
<widget class="QPushButton" name="previousButton">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="go-previous"/>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="diskName">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:14pt; font-weight:700;&quot;&gt;Hard Drive Name&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="nextButton">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="go-next"/>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0"> <item row="2" column="0">
<layout class="QHBoxLayout" name="info"> <layout class="QHBoxLayout" name="info">
<item> <item>
@@ -236,113 +316,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="0" column="0">
<layout class="QHBoxLayout" name="disks">
<item>
<layout class="QHBoxLayout" name="horizontalLayout"/>
</item>
</layout>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="navigation">
<item>
<widget class="QPushButton" name="previousButton">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="go-previous"/>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="diskName">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:14pt; font-weight:700;&quot;&gt;Hard Drive Name&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="nextButton">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="go-next"/>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="0">
<widget class="QTableWidget" name="dataTable">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<property name="showGrid">
<bool>true</bool>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QToolButton" name="selfTestButton">
<property name="text">
<string>Start Self-test</string>
</property>
<property name="popupMode">
<enum>QToolButton::ToolButtonPopupMode::InstantPopup</enum>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>
@@ -363,17 +336,15 @@
<addaction name="actionSave_JSON"/> <addaction name="actionSave_JSON"/>
<addaction name="actionExit"/> <addaction name="actionExit"/>
</widget> </widget>
<widget class="QMenu" name="menuHelp"> <widget class="QMenu" name="menuSettings">
<property name="title"> <property name="title">
<string>Function</string> <string>Settings</string>
</property> </property>
<addaction name="actionRescan_Refresh"/>
<addaction name="separator"/>
<addaction name="actionIgnore_C4_Reallocation_Event_Count"/> <addaction name="actionIgnore_C4_Reallocation_Event_Count"/>
<addaction name="actionHEX"/> <addaction name="actionHEX"/>
<addaction name="actionUse_Fahrenheit"/> <addaction name="actionUse_Fahrenheit"/>
</widget> </widget>
<widget class="QMenu" name="menuFunction"> <widget class="QMenu" name="menuHelp">
<property name="title"> <property name="title">
<string>&amp;Help</string> <string>&amp;Help</string>
</property> </property>
@@ -381,9 +352,17 @@
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionAbout"/> <addaction name="actionAbout"/>
</widget> </widget>
<widget class="QMenu" name="menuDisk">
<property name="title">
<string>Disk</string>
</property>
<addaction name="actionRescan_Refresh"/>
<addaction name="separator"/>
</widget>
<addaction name="menuFile"/> <addaction name="menuFile"/>
<addaction name="menuDisk"/>
<addaction name="menuSettings"/>
<addaction name="menuHelp"/> <addaction name="menuHelp"/>
<addaction name="menuFunction"/>
</widget> </widget>
<action name="actionSave_JSON"> <action name="actionSave_JSON">
<property name="icon"> <property name="icon">
@@ -417,6 +396,9 @@
<property name="text"> <property name="text">
<string>&amp;Rescan and Refresh</string> <string>&amp;Rescan and Refresh</string>
</property> </property>
<property name="shortcut">
<string>F5</string>
</property>
</action> </action>
<action name="actionGitHub"> <action name="actionGitHub">
<property name="icon"> <property name="icon">
@@ -461,6 +443,11 @@
<string>&amp;Use Fahrenheit</string> <string>&amp;Use Fahrenheit</string>
</property> </property>
</action> </action>
<action name="actionSelf_Test">
<property name="text">
<string>Self Test</string>
</property>
</action>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>