mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-22 19:08:58 +03:00
Fix MainWindow being out of focus when the fullscreen overlay is closed
That was probably a Linux specific issue or my mouse is buggy.
This commit is contained in:
parent
41f6dbe053
commit
e6fd80f87f
2 changed files with 16 additions and 3 deletions
|
@ -32,6 +32,12 @@ protected:
|
||||||
void mousePressEvent(QMouseEvent *event) override;
|
void mousePressEvent(QMouseEvent *event) override;
|
||||||
void paintEvent(QPaintEvent *event) override;
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void closing();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void closeDialog();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void scaleImage(int width, int height);
|
void scaleImage(int width, int height);
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
#include "ImageOverlayDialog.h"
|
#include "ImageOverlayDialog.h"
|
||||||
|
|
||||||
|
@ -36,6 +37,13 @@ ImageOverlayDialog::ImageOverlayDialog(QPixmap image, QWidget *parent)
|
||||||
setWindowState(Qt::WindowFullScreen);
|
setWindowState(Qt::WindowFullScreen);
|
||||||
|
|
||||||
raise();
|
raise();
|
||||||
|
|
||||||
|
connect(this, SIGNAL(closing()), this, SLOT(closeDialog()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageOverlayDialog::closeDialog()
|
||||||
|
{
|
||||||
|
QTimer::singleShot(100, this, &ImageOverlayDialog::reject);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Move this into Utils
|
// TODO: Move this into Utils
|
||||||
|
@ -110,9 +118,8 @@ void ImageOverlayDialog::mousePressEvent(QMouseEvent *event)
|
||||||
if (event->button() != Qt::LeftButton)
|
if (event->button() != Qt::LeftButton)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// FIXME: The main window needs double click to regain focus.
|
|
||||||
if (close_button_.contains(event->pos()))
|
if (close_button_.contains(event->pos()))
|
||||||
close();
|
emit closing();
|
||||||
else if (!content_.contains(event->pos()))
|
else if (!content_.contains(event->pos()))
|
||||||
close();
|
emit closing();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue