Merge branch 'newqt' of https://github.com/Cacodemon345/86Box into qt
This commit is contained in:
@@ -30,7 +30,9 @@ void FileField::on_pushButton_clicked() {
|
|||||||
fileName = QFileDialog::getOpenFileName(this, QString(), QString(), filter_, &selectedFilter_);
|
fileName = QFileDialog::getOpenFileName(this, QString(), QString(), filter_, &selectedFilter_);
|
||||||
}
|
}
|
||||||
|
|
||||||
fileName_ = fileName;
|
if (!fileName.isNull()) {
|
||||||
ui->label->setText(fileName);
|
fileName_ = fileName;
|
||||||
emit fileSelected(fileName);
|
ui->label->setText(fileName);
|
||||||
|
emit fileSelected(fileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,10 +104,12 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
{
|
{
|
||||||
/* get the percentage and mouse message, TODO: refactor ui_window_title() */
|
/* get the percentage and mouse message, TODO: refactor ui_window_title() */
|
||||||
auto parts = title.split(" - ");
|
auto parts = title.split(" - ");
|
||||||
if (parts.size() < 5)
|
if (parts.size() >= 2) {
|
||||||
toolbar_label->setText(parts[1]);
|
if (parts.size() < 5)
|
||||||
else
|
toolbar_label->setText(parts[1]);
|
||||||
toolbar_label->setText(QString("%1 - %2").arg(parts[1], parts.last()));
|
else
|
||||||
|
toolbar_label->setText(QString("%1 - %2").arg(parts[1], parts.last()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
ui->actionPause->setChecked(dopause);
|
ui->actionPause->setChecked(dopause);
|
||||||
@@ -346,11 +348,11 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
#ifdef MTR_ENABLED
|
#ifdef MTR_ENABLED
|
||||||
{
|
{
|
||||||
ui->menuTools->addSeparator();
|
ui->menuTools->addSeparator();
|
||||||
static auto actionBegin_trace = ui->menuTools->addAction(tr("Begin trace"));
|
ui->actionBegin_trace->setVisible(true);
|
||||||
static auto actionEnd_trace = ui->menuTools->addAction(tr("End trace"));
|
ui->actionEnd_trace->setVisible(true);
|
||||||
actionBegin_trace->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_T));
|
ui->actionBegin_trace->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_T));
|
||||||
actionEnd_trace->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_T));
|
ui->actionEnd_trace->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_T));
|
||||||
actionEnd_trace->setDisabled(true);
|
ui->actionEnd_trace->setDisabled(true);
|
||||||
static auto init_trace = [&]
|
static auto init_trace = [&]
|
||||||
{
|
{
|
||||||
mtr_init("trace.json");
|
mtr_init("trace.json");
|
||||||
@@ -362,43 +364,28 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
mtr_shutdown();
|
mtr_shutdown();
|
||||||
};
|
};
|
||||||
#ifdef Q_OS_MACOS
|
#ifdef Q_OS_MACOS
|
||||||
actionBegin_trace->setShortcutVisibleInContextMenu(true);
|
ui->actionBegin_trace->setShortcutVisibleInContextMenu(true);
|
||||||
actionEnd_trace->setShortcutVisibleInContextMenu(true);
|
ui->actionEnd_trace->setShortcutVisibleInContextMenu(true);
|
||||||
#endif
|
#endif
|
||||||
static bool trace = false;
|
static bool trace = false;
|
||||||
connect(actionBegin_trace, &QAction::triggered, this, [this]
|
connect(ui->actionBegin_trace, &QAction::triggered, this, [this]
|
||||||
{
|
{
|
||||||
if (trace) return;
|
if (trace) return;
|
||||||
actionBegin_trace->setDisabled(true);
|
ui->actionBegin_trace->setDisabled(true);
|
||||||
actionEnd_trace->setDisabled(false);
|
ui->actionEnd_trace->setDisabled(false);
|
||||||
init_trace();
|
init_trace();
|
||||||
trace = true;
|
trace = true;
|
||||||
});
|
});
|
||||||
connect(actionEnd_trace, &QAction::triggered, this, [this]
|
connect(ui->actionEnd_trace, &QAction::triggered, this, [this]
|
||||||
{
|
{
|
||||||
if (!trace) return;
|
if (!trace) return;
|
||||||
actionBegin_trace->setDisabled(false);
|
ui->actionBegin_trace->setDisabled(false);
|
||||||
actionEnd_trace->setDisabled(true);
|
ui->actionEnd_trace->setDisabled(true);
|
||||||
shutdown_trace();
|
shutdown_trace();
|
||||||
trace = false;
|
trace = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
#endif
|
#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) {
|
void MainWindow::closeEvent(QCloseEvent *event) {
|
||||||
|
@@ -47,7 +47,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>724</width>
|
<width>724</width>
|
||||||
<height>21</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QMenu" name="menuAction">
|
<widget class="QMenu" name="menuAction">
|
||||||
@@ -79,6 +79,9 @@
|
|||||||
<addaction name="actionSound_gain"/>
|
<addaction name="actionSound_gain"/>
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
<addaction name="actionPreferences"/>
|
<addaction name="actionPreferences"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionBegin_trace"/>
|
||||||
|
<addaction name="actionEnd_trace"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuView">
|
<widget class="QMenu" name="menuView">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
@@ -666,6 +669,34 @@
|
|||||||
<string>ACPI Shutdown</string>
|
<string>ACPI Shutdown</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="actionBegin_trace">
|
||||||
|
<property name="text">
|
||||||
|
<string>Begin trace</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+T</string>
|
||||||
|
</property>
|
||||||
|
<property name="visible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="shortcutVisibleInContextMenu">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionEnd_trace">
|
||||||
|
<property name="text">
|
||||||
|
<string>End trace</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+T</string>
|
||||||
|
</property>
|
||||||
|
<property name="visible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="shortcutVisibleInContextMenu">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
|
@@ -143,7 +143,10 @@ void MediaMenu::cassetteNewImage() {
|
|||||||
if (fileinfo.suffix().isEmpty()) {
|
if (fileinfo.suffix().isEmpty()) {
|
||||||
filename.append(".cas");
|
filename.append(".cas");
|
||||||
}
|
}
|
||||||
cassetteMount(filename, false);
|
if (!filename.isNull()) {
|
||||||
|
if (filename.isEmpty()) cassetteEject();
|
||||||
|
else cassetteMount(filename, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::cassetteSelectImage(bool wp) {
|
void MediaMenu::cassetteSelectImage(bool wp) {
|
||||||
@@ -155,7 +158,7 @@ void MediaMenu::cassetteSelectImage(bool wp) {
|
|||||||
tr("All files") %
|
tr("All files") %
|
||||||
util::DlgFilter({ "*" }, true));
|
util::DlgFilter({ "*" }, true));
|
||||||
|
|
||||||
cassetteMount(filename, wp);
|
if (!filename.isEmpty()) cassetteMount(filename, wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::cassetteMount(const QString& filename, bool wp) {
|
void MediaMenu::cassetteMount(const QString& filename, bool wp) {
|
||||||
@@ -276,7 +279,7 @@ void MediaMenu::floppySelectImage(int i, bool wp) {
|
|||||||
tr("All files") %
|
tr("All files") %
|
||||||
util::DlgFilter({ "*" }, true));
|
util::DlgFilter({ "*" }, true));
|
||||||
|
|
||||||
floppyMount(i, filename, wp);
|
if (!filename.isEmpty()) floppyMount(i, filename, wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::floppyMount(int i, const QString &filename, bool wp) {
|
void MediaMenu::floppyMount(int i, const QString &filename, bool wp) {
|
||||||
@@ -349,8 +352,6 @@ void MediaMenu::cdromMount(int i) {
|
|||||||
util::DlgFilter({ "*" }, true));
|
util::DlgFilter({ "*" }, true));
|
||||||
|
|
||||||
if (filename.isEmpty()) {
|
if (filename.isEmpty()) {
|
||||||
auto* imageMenu = dynamic_cast<QAction*>(cdromMenus[i]->children()[cdromImagePos]);
|
|
||||||
imageMenu->setChecked(false);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QByteArray fn = filename.toUtf8().data();
|
QByteArray fn = filename.toUtf8().data();
|
||||||
@@ -439,7 +440,7 @@ void MediaMenu::zipSelectImage(int i, bool wp) {
|
|||||||
tr("All files") %
|
tr("All files") %
|
||||||
util::DlgFilter({ "*" }, true));
|
util::DlgFilter({ "*" }, true));
|
||||||
|
|
||||||
zipMount(i, filename, wp);
|
if (!filename.isEmpty()) zipMount(i, filename, wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::zipMount(int i, const QString &filename, bool 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") %
|
tr("All files") %
|
||||||
util::DlgFilter({ "*", }, true));
|
util::DlgFilter({ "*", }, true));
|
||||||
|
|
||||||
moMount(i, filename, wp);
|
if (!filename.isEmpty()) moMount(i, filename, wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::moMount(int i, const QString &filename, bool wp) {
|
void MediaMenu::moMount(int i, const QString &filename, bool wp) {
|
||||||
|
Reference in New Issue
Block a user