@@ -17,6 +17,10 @@ extern "C" {
|
|||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QFocusEvent>
|
#include <QFocusEvent>
|
||||||
|
#include <QApplication>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QDesktopServices>
|
||||||
|
#include <QUrl>
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
@@ -49,6 +53,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
ui->ogl->setRenderType(HardwareRenderer::RenderType::OpenGL);
|
ui->ogl->setRenderType(HardwareRenderer::RenderType::OpenGL);
|
||||||
ui->gles->setRenderType(HardwareRenderer::RenderType::OpenGLES);
|
ui->gles->setRenderType(HardwareRenderer::RenderType::OpenGLES);
|
||||||
|
|
||||||
|
this->setWindowIcon(QIcon(":/settings/win/icons/86Box-yellow.ico"));
|
||||||
|
|
||||||
connect(this, &MainWindow::showMessageForNonQtThread, this, &MainWindow::showMessage_, Qt::BlockingQueuedConnection);
|
connect(this, &MainWindow::showMessageForNonQtThread, this, &MainWindow::showMessage_, Qt::BlockingQueuedConnection);
|
||||||
|
|
||||||
connect(this, &MainWindow::setTitleForNonQtThread, this, &MainWindow::setTitle_, Qt::BlockingQueuedConnection);
|
connect(this, &MainWindow::setTitleForNonQtThread, this, &MainWindow::setTitle_, Qt::BlockingQueuedConnection);
|
||||||
@@ -1082,6 +1088,39 @@ void MainWindow::on_actionAverage_triggered() {
|
|||||||
update_greyscale_type_checkboxes(ui, ui->actionAverage, 2);
|
update_greyscale_type_checkboxes(ui, ui->actionAverage, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionAbout_Qt_triggered()
|
||||||
|
{
|
||||||
|
QApplication::aboutQt();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionAbout_86Box_triggered()
|
||||||
|
{
|
||||||
|
QMessageBox msgBox;
|
||||||
|
msgBox.setTextFormat(Qt::RichText);
|
||||||
|
msgBox.setText("<b>About 86Box</b>");
|
||||||
|
msgBox.setInformativeText(R"(
|
||||||
|
An emulator of old computers
|
||||||
|
|
||||||
|
Authors: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, and others.
|
||||||
|
|
||||||
|
Released under the GNU General Public License version 2 or later. See LICENSE for more information.
|
||||||
|
)");
|
||||||
|
msgBox.setWindowTitle("About 86Box");
|
||||||
|
msgBox.addButton("OK", QMessageBox::ButtonRole::AcceptRole);
|
||||||
|
auto webSiteButton = msgBox.addButton("86box.net", QMessageBox::ButtonRole::HelpRole);
|
||||||
|
webSiteButton->connect(webSiteButton, &QPushButton::released, []()
|
||||||
|
{
|
||||||
|
QDesktopServices::openUrl(QUrl("https://86box.net/"));
|
||||||
|
});
|
||||||
|
msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-yellow.ico").pixmap(32, 32));
|
||||||
|
msgBox.exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionDocumentation_triggered()
|
||||||
|
{
|
||||||
|
QDesktopServices::openUrl(QUrl("https://86box.readthedocs.io"));
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionCGA_PCjr_Tandy_EGA_S_VGA_overscan_triggered() {
|
void MainWindow::on_actionCGA_PCjr_Tandy_EGA_S_VGA_overscan_triggered() {
|
||||||
update_overscan = 1;
|
update_overscan = 1;
|
||||||
video_toggle_option(ui->actionCGA_PCjr_Tandy_EGA_S_VGA_overscan, &enable_overscan);
|
video_toggle_option(ui->actionCGA_PCjr_Tandy_EGA_S_VGA_overscan, &enable_overscan);
|
||||||
@@ -1097,4 +1136,3 @@ void MainWindow::on_actionForce_4_3_display_ratio_triggered() {
|
|||||||
video_toggle_option(ui->actionForce_4_3_display_ratio, &force_43);
|
video_toggle_option(ui->actionForce_4_3_display_ratio, &force_43);
|
||||||
video_force_resize_set(1);
|
video_force_resize_set(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -76,6 +76,9 @@ private slots:
|
|||||||
void on_actionAverage_triggered();
|
void on_actionAverage_triggered();
|
||||||
void on_actionBT709_HDTV_triggered();
|
void on_actionBT709_HDTV_triggered();
|
||||||
void on_actionBT601_NTSC_PAL_triggered();
|
void on_actionBT601_NTSC_PAL_triggered();
|
||||||
|
void on_actionDocumentation_triggered();
|
||||||
|
void on_actionAbout_86Box_triggered();
|
||||||
|
void on_actionAbout_Qt_triggered();
|
||||||
void on_actionForce_4_3_display_ratio_triggered();
|
void on_actionForce_4_3_display_ratio_triggered();
|
||||||
void on_actionChange_contrast_for_monochrome_display_triggered();
|
void on_actionChange_contrast_for_monochrome_display_triggered();
|
||||||
void on_actionCGA_PCjr_Tandy_EGA_S_VGA_overscan_triggered();
|
void on_actionCGA_PCjr_Tandy_EGA_S_VGA_overscan_triggered();
|
||||||
|
@@ -166,10 +166,19 @@
|
|||||||
<string>Media</string>
|
<string>Media</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="QMenu" name="menuAbout">
|
||||||
|
<property name="title">
|
||||||
|
<string>Help</string>
|
||||||
|
</property>
|
||||||
|
<addaction name="actionDocumentation"/>
|
||||||
|
<addaction name="actionAbout_86Box"/>
|
||||||
|
<addaction name="actionAbout_Qt"/>
|
||||||
|
</widget>
|
||||||
<addaction name="menuAction"/>
|
<addaction name="menuAction"/>
|
||||||
<addaction name="menuView"/>
|
<addaction name="menuView"/>
|
||||||
<addaction name="menuMedia"/>
|
<addaction name="menuMedia"/>
|
||||||
<addaction name="menuTools"/>
|
<addaction name="menuTools"/>
|
||||||
|
<addaction name="menuAbout"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QStatusBar" name="statusbar"/>
|
<widget class="QStatusBar" name="statusbar"/>
|
||||||
<action name="actionKeyboard_requires_capture">
|
<action name="actionKeyboard_requires_capture">
|
||||||
@@ -466,6 +475,27 @@
|
|||||||
<string>Average</string>
|
<string>Average</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="actionAbout_Qt">
|
||||||
|
<property name="text">
|
||||||
|
<string>About Qt...</string>
|
||||||
|
</property>
|
||||||
|
<property name="menuRole">
|
||||||
|
<enum>QAction::AboutQtRole</enum>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionAbout_86Box">
|
||||||
|
<property name="text">
|
||||||
|
<string>About 86Box...</string>
|
||||||
|
</property>
|
||||||
|
<property name="menuRole">
|
||||||
|
<enum>QAction::AboutRole</enum>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionDocumentation">
|
||||||
|
<property name="text">
|
||||||
|
<string>Documentation...</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
|
@@ -43,5 +43,9 @@
|
|||||||
<file>win/icons/zip_disabled.ico</file>
|
<file>win/icons/zip_disabled.ico</file>
|
||||||
<file>win/icons/zip_empty.ico</file>
|
<file>win/icons/zip_empty.ico</file>
|
||||||
<file>win/icons/zip_empty_active.ico</file>
|
<file>win/icons/zip_empty_active.ico</file>
|
||||||
|
<file>win/icons/86Box-gray.ico</file>
|
||||||
|
<file>win/icons/86Box-green.ico</file>
|
||||||
|
<file>win/icons/86Box-red.ico</file>
|
||||||
|
<file>win/icons/86Box-yellow.ico</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
Reference in New Issue
Block a user