diff --git a/src/qt/qt_filefield.cpp b/src/qt/qt_filefield.cpp index fbeed6066..2d7268d97 100644 --- a/src/qt/qt_filefield.cpp +++ b/src/qt/qt_filefield.cpp @@ -30,7 +30,9 @@ void FileField::on_pushButton_clicked() { fileName = QFileDialog::getOpenFileName(this, QString(), QString(), filter_, &selectedFilter_); } - fileName_ = fileName; - ui->label->setText(fileName); - emit fileSelected(fileName); + if (!fileName.isNull()) { + fileName_ = fileName; + ui->label->setText(fileName); + emit fileSelected(fileName); + } } diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 6d017dc7a..844edec63 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -104,10 +104,12 @@ MainWindow::MainWindow(QWidget *parent) : { /* get the percentage and mouse message, TODO: refactor ui_window_title() */ auto parts = title.split(" - "); - if (parts.size() < 5) - toolbar_label->setText(parts[1]); - else - toolbar_label->setText(QString("%1 - %2").arg(parts[1], parts.last())); + if (parts.size() >= 2) { + if (parts.size() < 5) + toolbar_label->setText(parts[1]); + else + toolbar_label->setText(QString("%1 - %2").arg(parts[1], parts.last())); + } } #endif ui->actionPause->setChecked(dopause); @@ -346,11 +348,11 @@ MainWindow::MainWindow(QWidget *parent) : #ifdef MTR_ENABLED { ui->menuTools->addSeparator(); - static auto actionBegin_trace = ui->menuTools->addAction(tr("Begin trace")); - static auto actionEnd_trace = ui->menuTools->addAction(tr("End trace")); - actionBegin_trace->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_T)); - actionEnd_trace->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_T)); - actionEnd_trace->setDisabled(true); + ui->actionBegin_trace->setVisible(true); + ui->actionEnd_trace->setVisible(true); + ui->actionBegin_trace->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_T)); + ui->actionEnd_trace->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_T)); + ui->actionEnd_trace->setDisabled(true); static auto init_trace = [&] { mtr_init("trace.json"); @@ -362,43 +364,28 @@ MainWindow::MainWindow(QWidget *parent) : mtr_shutdown(); }; #ifdef Q_OS_MACOS - actionBegin_trace->setShortcutVisibleInContextMenu(true); - actionEnd_trace->setShortcutVisibleInContextMenu(true); + ui->actionBegin_trace->setShortcutVisibleInContextMenu(true); + ui->actionEnd_trace->setShortcutVisibleInContextMenu(true); #endif static bool trace = false; - connect(actionBegin_trace, &QAction::triggered, this, [this] + connect(ui->actionBegin_trace, &QAction::triggered, this, [this] { if (trace) return; - actionBegin_trace->setDisabled(true); - actionEnd_trace->setDisabled(false); + ui->actionBegin_trace->setDisabled(true); + ui->actionEnd_trace->setDisabled(false); init_trace(); trace = true; }); - connect(actionEnd_trace, &QAction::triggered, this, [this] + connect(ui->actionEnd_trace, &QAction::triggered, this, [this] { if (!trace) return; - actionBegin_trace->setDisabled(false); - actionEnd_trace->setDisabled(true); + ui->actionBegin_trace->setDisabled(false); + ui->actionEnd_trace->setDisabled(true); shutdown_trace(); trace = false; }); } #endif - -#ifdef ENABLE_VRAM_DUMP - { -#ifndef MTR_ENABLED - ui->menuTools->addSeparator(); -#endif - auto actionDump_video_RAM = ui->menuTools->addAction(tr("Dump &video RAM")); - actionDump_video_RAM->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_F1)); -#ifdef Q_OS_MACOS - actionDump_video_RAM->setShortcutVisibleInContextMenu(true); -#endif - connect(actionDump_video_RAM, &QAction::triggered, this, [this] - { svga_dump_vram(); }); - } -#endif } void MainWindow::closeEvent(QCloseEvent *event) { diff --git a/src/qt/qt_mainwindow.ui b/src/qt/qt_mainwindow.ui index d7ffb8589..787112399 100644 --- a/src/qt/qt_mainwindow.ui +++ b/src/qt/qt_mainwindow.ui @@ -47,7 +47,7 @@ 0 0 724 - 21 + 22 @@ -79,6 +79,9 @@ + + + @@ -666,6 +669,34 @@ ACPI Shutdown + + + Begin trace + + + Ctrl+T + + + false + + + false + + + + + End trace + + + Ctrl+T + + + false + + + false + + diff --git a/src/qt/qt_mediamenu.cpp b/src/qt/qt_mediamenu.cpp index ff1f1398c..2aabe04a8 100644 --- a/src/qt/qt_mediamenu.cpp +++ b/src/qt/qt_mediamenu.cpp @@ -143,7 +143,10 @@ void MediaMenu::cassetteNewImage() { if (fileinfo.suffix().isEmpty()) { filename.append(".cas"); } - cassetteMount(filename, false); + if (!filename.isNull()) { + if (filename.isEmpty()) cassetteEject(); + else cassetteMount(filename, false); + } } void MediaMenu::cassetteSelectImage(bool wp) { @@ -155,7 +158,7 @@ void MediaMenu::cassetteSelectImage(bool wp) { tr("All files") % util::DlgFilter({ "*" }, true)); - cassetteMount(filename, wp); + if (!filename.isEmpty()) cassetteMount(filename, wp); } void MediaMenu::cassetteMount(const QString& filename, bool wp) { @@ -276,7 +279,7 @@ void MediaMenu::floppySelectImage(int i, bool wp) { tr("All files") % util::DlgFilter({ "*" }, true)); - floppyMount(i, filename, wp); + if (!filename.isEmpty()) floppyMount(i, filename, wp); } void MediaMenu::floppyMount(int i, const QString &filename, bool wp) { @@ -349,8 +352,6 @@ void MediaMenu::cdromMount(int i) { util::DlgFilter({ "*" }, true)); if (filename.isEmpty()) { - auto* imageMenu = dynamic_cast(cdromMenus[i]->children()[cdromImagePos]); - imageMenu->setChecked(false); return; } QByteArray fn = filename.toUtf8().data(); @@ -439,7 +440,7 @@ void MediaMenu::zipSelectImage(int i, bool wp) { tr("All files") % util::DlgFilter({ "*" }, true)); - zipMount(i, filename, wp); + if (!filename.isEmpty()) zipMount(i, filename, wp); } void MediaMenu::zipMount(int i, const QString &filename, bool wp) { @@ -536,7 +537,7 @@ void MediaMenu::moSelectImage(int i, bool wp) { tr("All files") % util::DlgFilter({ "*", }, true)); - moMount(i, filename, wp); + if (!filename.isEmpty()) moMount(i, filename, wp); } void MediaMenu::moMount(int i, const QString &filename, bool wp) {