promote the gleswidget to centralwidget via the .ui file
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#include <QOpenGLFunctions>
|
||||
#include <QOpenGLWidget>
|
||||
#include <QPainter>
|
||||
@@ -16,7 +18,7 @@ public:
|
||||
void initializeGL() override;
|
||||
void paintGL() override;
|
||||
GLESWidget(QWidget* parent = nullptr)
|
||||
: QOpenGLWidget(parent)
|
||||
: QOpenGLWidget(parent), QOpenGLFunctions()
|
||||
{
|
||||
setMinimumSize(16, 16);
|
||||
}
|
||||
|
@@ -42,22 +42,19 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
|
||||
ui->setupUi(this);
|
||||
video_setblit(qt_blit);
|
||||
ui->glesWidget->setMouseTracking(true);
|
||||
|
||||
this->hw_widget = new GLESWidget(this);
|
||||
this->hw_widget->setMouseTracking(true);
|
||||
this->hw_widget->setGeometry(QRect(this->menuWidget() ? QPoint(0,this->menuWidget()->size().height()) : QPoint(0,0), QSize(640, 480)));
|
||||
this->setCentralWidget(this->hw_widget);
|
||||
connect(this, &MainWindow::blitToWidget, (GLESWidget*)this->hw_widget, &GLESWidget::qt_real_blit);
|
||||
connect(this, &MainWindow::blitToWidget, ui->glesWidget, &GLESWidget::qt_real_blit);
|
||||
|
||||
connect(this, &MainWindow::showMessageForNonQtThread, this, &MainWindow::showMessage_, Qt::BlockingQueuedConnection);
|
||||
|
||||
connect(this, &MainWindow::pollMouse, hw_widget, &GLESWidget::qt_mouse_poll);
|
||||
connect(this, &MainWindow::pollMouse, ui->glesWidget, &GLESWidget::qt_mouse_poll);
|
||||
|
||||
connect(this, &MainWindow::setMouseCapture, this, [this](bool state) {
|
||||
mouse_capture = state ? 1 : 0;
|
||||
qt_mouse_capture(mouse_capture);
|
||||
if (mouse_capture) hw_widget->grabMouse();
|
||||
else hw_widget->releaseMouse();
|
||||
if (mouse_capture) ui->glesWidget->grabMouse();
|
||||
else ui->glesWidget->releaseMouse();
|
||||
});
|
||||
|
||||
connect(this, &MainWindow::setFullscreen, this, [this](bool state) {
|
||||
@@ -67,17 +64,17 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
});
|
||||
|
||||
connect(this, &MainWindow::resizeContents, this, [this](int w, int h) {
|
||||
this->hw_widget->resize(w, h);
|
||||
this->resize(w, h + menuBar()->height() + statusBar()->height());
|
||||
ui->glesWidget->resize(w, h);
|
||||
resize(w, h + menuBar()->height() + statusBar()->height());
|
||||
});
|
||||
|
||||
connect(ui->menubar, &QMenuBar::triggered, this, [] {
|
||||
config_save();
|
||||
});
|
||||
|
||||
connect(this, &MainWindow::updateStatusBarPanes, ui->machineStatus, &MachineStatus::refresh);
|
||||
connect(this, &MainWindow::updateStatusBarActivity, ui->machineStatus, &MachineStatus::setActivity);
|
||||
connect(this, &MainWindow::updateStatusBarEmpty, ui->machineStatus, &MachineStatus::setEmpty);
|
||||
// connect(this, &MainWindow::updateStatusBarPanes, ui->machineStatus, &MachineStatus::refresh);
|
||||
// connect(this, &MainWindow::updateStatusBarActivity, ui->machineStatus, &MachineStatus::setActivity);
|
||||
// connect(this, &MainWindow::updateStatusBarEmpty, ui->machineStatus, &MachineStatus::setEmpty);
|
||||
|
||||
ui->actionKeyboard_requires_capture->setChecked(kbd_req_capture);
|
||||
ui->actionRight_CTRL_is_left_ALT->setChecked(rctrl_is_lalt);
|
||||
|
@@ -9,8 +9,6 @@ namespace Ui {
|
||||
class MainWindow;
|
||||
}
|
||||
|
||||
class GLESWidget;
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -49,17 +47,7 @@ protected:
|
||||
void keyPressEvent(QKeyEvent* event) override;
|
||||
void keyReleaseEvent(QKeyEvent* event) override;
|
||||
private:
|
||||
struct DeltaPos {
|
||||
int x = 0;
|
||||
int y = 0;
|
||||
int z = 0;
|
||||
};
|
||||
Ui::MainWindow *ui;
|
||||
DeltaPos mouseDelta;
|
||||
QWindow* sdl_wrapped_window;
|
||||
QWidget* sdl_wrapped_widget;
|
||||
GLESWidget* hw_widget;
|
||||
QTimer* sdl_timer;
|
||||
};
|
||||
|
||||
#endif // QT_MAINWINDOW_HPP
|
||||
|
@@ -37,7 +37,7 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="MachineStatus" name="machineStatus" native="true"/>
|
||||
<widget class="GLESWidget" name="glesWidget"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
@@ -143,10 +143,9 @@
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>MachineStatus</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>qt_machinestatus.hpp</header>
|
||||
<container>1</container>
|
||||
<class>GLESWidget</class>
|
||||
<extends>QOpenGLWidget</extends>
|
||||
<header>qt_gleswidget.hpp</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
|
Reference in New Issue
Block a user