* Turned the software renderer into a window as well

* Fix inability to move window on GNOME
* Fix status bar icons being frozen after icon set switch
This commit is contained in:
Cacodemon345
2021-12-29 23:49:09 +06:00
parent 6b07e10947
commit 1bdff37e38
11 changed files with 65 additions and 36 deletions

View File

@@ -97,6 +97,7 @@ MainWindow::MainWindow(QWidget *parent) :
qt_mouse_capture(mouse_capture);
if (mouse_capture) {
ui->stackedWidget->grabMouse();
this->grabKeyboard();
#ifdef WAYLAND
if (QGuiApplication::platformName().contains("wayland")) {
wl_mouse_capture(this->windowHandle());
@@ -104,6 +105,7 @@ MainWindow::MainWindow(QWidget *parent) :
#endif
} else {
ui->stackedWidget->releaseMouse();
this->releaseKeyboard();
#ifdef WAYLAND
if (QGuiApplication::platformName().contains("wayland")) {
wl_mouse_uncapture();
@@ -125,8 +127,12 @@ MainWindow::MainWindow(QWidget *parent) :
}
});
connect(ui->menubar, &QMenuBar::triggered, this, [] {
connect(ui->menubar, &QMenuBar::triggered, this, [this] {
config_save();
if (QApplication::activeWindow() == this)
{
ui->stackedWidget->current->setFocus();
}
});
connect(this, &MainWindow::updateStatusBarPanes, this, [this] {
@@ -278,13 +284,6 @@ MainWindow::MainWindow(QWidget *parent) :
ui->actionChange_contrast_for_monochrome_display->setChecked(true);
}
setFocusPolicy(Qt::StrongFocus);
ui->stackedWidget->setFocusPolicy(Qt::NoFocus);
ui->centralwidget->setFocusPolicy(Qt::NoFocus);
menuBar()->setFocusPolicy(Qt::NoFocus);
menuWidget()->setFocusPolicy(Qt::NoFocus);
statusBar()->setFocusPolicy(Qt::NoFocus);
video_setblit(qt_blit);
}