From 1af9409e5ade504829e8d3260921e5905cbf8f11 Mon Sep 17 00:00:00 2001 From: Alexandr Akulich Date: Fri, 7 Dec 2012 16:59:52 +0600 Subject: [PATCH] gui/mainwindow: Add functions that toggle actions enables and use it. Added enabling/disabling of few more actions. Cleanup .ui file (set actions to default state). --- gui/mainwindow.cpp | 72 +++++++++++++++++++++++++++++--------------- gui/mainwindow.h | 1 + gui/ui/mainwindow.ui | 20 +----------- 3 files changed, 49 insertions(+), 44 deletions(-) diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index caf9e37..d6ebd2f 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -48,6 +48,7 @@ MainWindow::MainWindow() m_nonDefaultsLookupEvent(0) { m_ui.setupUi(this); + updateActionsState(false); initObjects(); initConnections(); } @@ -228,11 +229,7 @@ void MainWindow::replayProfile() void MainWindow::replayStop() { m_retracer->quit(); - m_ui.actionStop->setEnabled(false); - m_ui.actionReplay->setEnabled(true); - m_ui.actionProfile->setEnabled(true); - m_ui.actionLookupState->setEnabled(true); - m_ui.actionShowThumbnails->setEnabled(true); + updateActionsState(true, true); } void MainWindow::newTraceFile(const QString &fileName) @@ -243,18 +240,11 @@ void MainWindow::newTraceFile(const QString &fileName) m_trace->setFileName(fileName); if (fileName.isEmpty()) { - m_ui.actionReplay->setEnabled(false); - m_ui.actionProfile->setEnabled(false); - m_ui.actionLookupState->setEnabled(false); - m_ui.actionShowThumbnails->setEnabled(false); + updateActionsState(false); setWindowTitle(tr("QApiTrace")); } else { + updateActionsState(true); QFileInfo info(fileName); - m_ui.actionReplay->setEnabled(true); - m_ui.actionProfile->setEnabled(true); - m_ui.actionLookupState->setEnabled(true); - m_ui.actionShowThumbnails->setEnabled(true); - m_ui.actionTrim->setEnabled(true); setWindowTitle( tr("QApiTrace - %1").arg(info.fileName())); } @@ -262,12 +252,7 @@ void MainWindow::newTraceFile(const QString &fileName) void MainWindow::replayFinished(const QString &message) { - m_ui.actionStop->setEnabled(false); - m_ui.actionReplay->setEnabled(true); - m_ui.actionProfile->setEnabled(true); - m_ui.actionLookupState->setEnabled(true); - m_ui.actionShowThumbnails->setEnabled(true); - + updateActionsState(true); m_progressBar->hide(); statusBar()->showMessage(message, 2000); m_stateEvent = 0; @@ -280,11 +265,7 @@ void MainWindow::replayFinished(const QString &message) void MainWindow::replayError(const QString &message) { - m_ui.actionStop->setEnabled(false); - m_ui.actionReplay->setEnabled(true); - m_ui.actionProfile->setEnabled(true); - m_ui.actionLookupState->setEnabled(true); - m_ui.actionShowThumbnails->setEnabled(true); + updateActionsState(true); m_stateEvent = 0; m_nonDefaultsLookupEvent = 0; @@ -936,6 +917,47 @@ void MainWindow::initConnections() this, SLOT(slotJumpTo(int))); } +void MainWindow::updateActionsState(bool traceLoaded, bool stopped) +{ + if (traceLoaded) { + /* Edit */ + m_ui.actionFind ->setEnabled(true); + m_ui.actionGo ->setEnabled(true); + m_ui.actionGoFrameStart ->setEnabled(true); + m_ui.actionGoFrameEnd ->setEnabled(true); + + /* Trace */ + if (stopped) { + m_ui.actionStop->setEnabled(false); + m_ui.actionReplay->setEnabled(true); + } + else { + m_ui.actionStop->setEnabled(true); + m_ui.actionReplay->setEnabled(false); + } + + m_ui.actionProfile ->setEnabled(true); + m_ui.actionLookupState ->setEnabled(true); + m_ui.actionShowThumbnails->setEnabled(true); + m_ui.actionTrim ->setEnabled(true); + } + else { + /* Edit */ + m_ui.actionFind ->setEnabled(false); + m_ui.actionGo ->setEnabled(false); + m_ui.actionGoFrameStart ->setEnabled(false); + m_ui.actionGoFrameEnd ->setEnabled(false); + + /* Trace */ + m_ui.actionReplay ->setEnabled(false); + m_ui.actionProfile ->setEnabled(false); + m_ui.actionStop ->setEnabled(false); + m_ui.actionLookupState ->setEnabled(false); + m_ui.actionShowThumbnails->setEnabled(false); + m_ui.actionTrim ->setEnabled(false); + } +} + void MainWindow::closeEvent(QCloseEvent * event) { m_profileDialog->close(); diff --git a/gui/mainwindow.h b/gui/mainwindow.h index 2248127..78267ef 100644 --- a/gui/mainwindow.h +++ b/gui/mainwindow.h @@ -98,6 +98,7 @@ private slots: private: void initObjects(); void initConnections(); + void updateActionsState(bool traceLoaded, bool stopped = true); void newTraceFile(const QString &fileName); void replayTrace(bool dumpState, bool dumpThumbnails); void trimEvent(); diff --git a/gui/ui/mainwindow.ui b/gui/ui/mainwindow.ui index 0135d1c..06f4503 100644 --- a/gui/ui/mainwindow.ui +++ b/gui/ui/mainwindow.ui @@ -124,7 +124,7 @@ 0 - + about:blank @@ -493,9 +493,6 @@ - - false - :/resources/media-playback-start.png:/resources/media-playback-start.png @@ -508,9 +505,6 @@ - - false - :/resources/media-playback-stop.png:/resources/media-playback-stop.png @@ -520,9 +514,6 @@ - - false - :/resources/media-record.png:/resources/media-record.png @@ -535,9 +526,6 @@ - - false - Show &Thumbnails @@ -546,9 +534,6 @@ - - false - Tr&im @@ -641,9 +626,6 @@ - - false - &Profile -- 2.43.0