Improve bugprone enabling/disabling of menu items in TraceAnalyzer
This commit is contained in:
@@ -65,13 +65,6 @@ TraceAnalyzer::TraceAnalyzer(QWidget *parent) :
|
||||
ui(new Ui::TraceAnalyzer)
|
||||
{
|
||||
setUpGui();
|
||||
// Disable actions except for "Open" until some file is open.
|
||||
ui->actionReload_all->setEnabled(false);
|
||||
ui->actionSaveChangesToDB->setEnabled(false);
|
||||
ui->actionExportAsVCD->setEnabled(false);
|
||||
ui->actionClose_all->setEnabled(false);
|
||||
ui->actionTest->setEnabled(false);
|
||||
ui->actionMetrics->setEnabled(false);
|
||||
}
|
||||
|
||||
TraceAnalyzer::TraceAnalyzer(QSet<QString> paths, StartupOption option,
|
||||
@@ -120,20 +113,24 @@ void TraceAnalyzer::openTracefile(const QString &path)
|
||||
ui->traceFileTabs->addTab(tab, QFileInfo(path).baseName());
|
||||
openedTraceFiles.insert(path);
|
||||
|
||||
// Enable actions
|
||||
ui->actionReload_all->setEnabled(true);
|
||||
ui->actionSaveChangesToDB->setEnabled(true);
|
||||
|
||||
if (PythonCaller::instance().vcdExportDependenciesAvailable())
|
||||
ui->actionExportAsVCD->setEnabled(true);
|
||||
|
||||
ui->actionClose_all->setEnabled(true);
|
||||
ui->actionTest->setEnabled(true);
|
||||
ui->actionMetrics->setEnabled(true);
|
||||
|
||||
statusLabel->clear();
|
||||
}
|
||||
|
||||
void TraceAnalyzer::on_menuFile_aboutToShow()
|
||||
{
|
||||
ui->actionOpen->setEnabled(true);
|
||||
|
||||
bool tabsOpen = ui->traceFileTabs->count() > 0;
|
||||
bool exportAsVcdAvailable = PythonCaller::instance().vcdExportDependenciesAvailable();
|
||||
|
||||
ui->actionReload_all->setEnabled(tabsOpen);
|
||||
ui->actionSaveChangesToDB->setEnabled(tabsOpen);
|
||||
ui->actionExportAsVCD->setEnabled(tabsOpen && exportAsVcdAvailable);
|
||||
ui->actionClose_all->setEnabled(tabsOpen);
|
||||
ui->actionTest->setEnabled(tabsOpen);
|
||||
ui->actionMetrics->setEnabled(tabsOpen);
|
||||
}
|
||||
|
||||
void TraceAnalyzer::on_traceFileTabs_tabCloseRequested(int index)
|
||||
{
|
||||
TraceFileTab *traceFileTab = static_cast<TraceFileTab *>
|
||||
@@ -154,14 +151,6 @@ void TraceAnalyzer::on_actionClose_all_triggered()
|
||||
on_traceFileTabs_tabCloseRequested(i);
|
||||
}
|
||||
|
||||
// All files closed. Disable actions except for "Open".
|
||||
ui->actionReload_all->setEnabled(false);
|
||||
ui->actionSaveChangesToDB->setEnabled(false);
|
||||
ui->actionExportAsVCD->setEnabled(false);
|
||||
ui->actionClose_all->setEnabled(false);
|
||||
ui->actionTest->setEnabled(false);
|
||||
ui->actionMetrics->setEnabled(false);
|
||||
|
||||
statusLabel->clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -76,14 +76,15 @@ private:
|
||||
QSet<QString> openedTraceFiles;
|
||||
|
||||
private Q_SLOTS:
|
||||
void on_menuFile_aboutToShow();
|
||||
void on_traceFileTabs_tabCloseRequested(int index);
|
||||
|
||||
void on_actionOpen_triggered();
|
||||
void on_actionReload_all_triggered();
|
||||
void on_actionSaveChangesToDB_triggered();
|
||||
void on_actionExportAsVCD_triggered();
|
||||
void on_traceFileTabs_tabCloseRequested(int index);
|
||||
void on_actionClose_all_triggered();
|
||||
void on_actionTest_triggered();
|
||||
|
||||
void on_actionMetrics_triggered();
|
||||
|
||||
public Q_SLOTS:
|
||||
|
||||
Reference in New Issue
Block a user