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

View File

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

View File

@@ -26,6 +26,86 @@
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<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">
<layout class="QHBoxLayout" name="info">
<item>
@@ -236,113 +316,6 @@
</item>
</layout>
</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>
</item>
</layout>
@@ -363,17 +336,15 @@
<addaction name="actionSave_JSON"/>
<addaction name="actionExit"/>
</widget>
<widget class="QMenu" name="menuHelp">
<widget class="QMenu" name="menuSettings">
<property name="title">
<string>Function</string>
<string>Settings</string>
</property>
<addaction name="actionRescan_Refresh"/>
<addaction name="separator"/>
<addaction name="actionIgnore_C4_Reallocation_Event_Count"/>
<addaction name="actionHEX"/>
<addaction name="actionUse_Fahrenheit"/>
</widget>
<widget class="QMenu" name="menuFunction">
<widget class="QMenu" name="menuHelp">
<property name="title">
<string>&amp;Help</string>
</property>
@@ -381,9 +352,17 @@
<addaction name="separator"/>
<addaction name="actionAbout"/>
</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="menuDisk"/>
<addaction name="menuSettings"/>
<addaction name="menuHelp"/>
<addaction name="menuFunction"/>
</widget>
<action name="actionSave_JSON">
<property name="icon">
@@ -417,6 +396,9 @@
<property name="text">
<string>&amp;Rescan and Refresh</string>
</property>
<property name="shortcut">
<string>F5</string>
</property>
</action>
<action name="actionGitHub">
<property name="icon">
@@ -461,6 +443,11 @@
<string>&amp;Use Fahrenheit</string>
</property>
</action>
<action name="actionSelf_Test">
<property name="text">
<string>Self Test</string>
</property>
</action>
</widget>
<resources/>
<connections/>