qt: Use QDesktopWidget for screen retrival
This commit is contained in:
@@ -68,6 +68,7 @@ extern "C" {
|
|||||||
#include "qt_settings.hpp"
|
#include "qt_settings.hpp"
|
||||||
#include "qt_machinestatus.hpp"
|
#include "qt_machinestatus.hpp"
|
||||||
#include "qt_mediamenu.hpp"
|
#include "qt_mediamenu.hpp"
|
||||||
|
#include "qt_util.hpp"
|
||||||
|
|
||||||
#ifdef __unix__
|
#ifdef __unix__
|
||||||
#ifdef WAYLAND
|
#ifdef WAYLAND
|
||||||
@@ -184,9 +185,9 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
|
|
||||||
connect(this, &MainWindow::resizeContents, this, [this](int w, int h) {
|
connect(this, &MainWindow::resizeContents, this, [this](int w, int h) {
|
||||||
if (!QApplication::platformName().contains("eglfs") && vid_resize == 0) {
|
if (!QApplication::platformName().contains("eglfs") && vid_resize == 0) {
|
||||||
w = w / (!dpi_scale ? this->screen()->devicePixelRatio() : 1);
|
w = w / (!dpi_scale ? util::screenOfWidget(this)->devicePixelRatio() : 1);
|
||||||
|
|
||||||
int modifiedHeight = (h / (!dpi_scale ? this->screen()->devicePixelRatio() : 1))
|
int modifiedHeight = (h / (!dpi_scale ? util::screenOfWidget(this)->devicePixelRatio() : 1))
|
||||||
+ menuBar()->height()
|
+ menuBar()->height()
|
||||||
+ (statusBar()->height() * !hide_status_bar)
|
+ (statusBar()->height() * !hide_status_bar)
|
||||||
+ (ui->toolBar->height() * !hide_tool_bar);
|
+ (ui->toolBar->height() * !hide_tool_bar);
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
#include "qt_hardwarerenderer.hpp"
|
#include "qt_hardwarerenderer.hpp"
|
||||||
|
|
||||||
#include "qt_mainwindow.hpp"
|
#include "qt_mainwindow.hpp"
|
||||||
|
#include "qt_util.hpp"
|
||||||
|
|
||||||
#include "evdev_mouse.hpp"
|
#include "evdev_mouse.hpp"
|
||||||
|
|
||||||
@@ -173,7 +174,7 @@ void RendererStack::mouseMoveEvent(QMouseEvent *event)
|
|||||||
ignoreNextMouseEvent--;
|
ignoreNextMouseEvent--;
|
||||||
}
|
}
|
||||||
else if (event->globalPos().x() == 0 || event->globalPos().y() == 0) leaveEvent((QEvent*)event);
|
else if (event->globalPos().x() == 0 || event->globalPos().y() == 0) leaveEvent((QEvent*)event);
|
||||||
else if (event->globalPos().x() == (screen()->geometry().width() - 1) || event->globalPos().y() == (screen()->geometry().height() - 1)) leaveEvent((QEvent*)event);
|
else if (event->globalPos().x() == (util::screenOfWidget(this)->geometry().width() - 1) || event->globalPos().y() == (util::screenOfWidget(this)->geometry().height() - 1)) leaveEvent((QEvent*)event);
|
||||||
oldPos = event->pos();
|
oldPos = event->pos();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,23 @@
|
|||||||
*/
|
*/
|
||||||
#include <QStringBuilder>
|
#include <QStringBuilder>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QApplication>
|
||||||
|
#if QT_VERSION <= QT_VERSION_CHECK(5, 14, 0)
|
||||||
|
#include <QDesktopWidget>
|
||||||
|
#endif
|
||||||
#include "qt_util.hpp"
|
#include "qt_util.hpp"
|
||||||
|
|
||||||
namespace util
|
namespace util
|
||||||
{
|
{
|
||||||
|
QScreen* screenOfWidget(QWidget* widget)
|
||||||
|
{
|
||||||
|
#if QT_VERSION <= QT_VERSION_CHECK(5, 14, 0)
|
||||||
|
return QApplication::screens()[QApplication::desktop()->screenNumber(widget) == -1 ? 0 : QApplication::desktop()->screenNumber(widget)];
|
||||||
|
#else
|
||||||
|
return widget->screen();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
QString DlgFilter(std::initializer_list<QString> extensions, bool last)
|
QString DlgFilter(std::initializer_list<QString> extensions, bool last)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,13 +2,17 @@
|
|||||||
#define QT_UTIL_HPP
|
#define QT_UTIL_HPP
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
#include <initializer_list>
|
#include <initializer_list>
|
||||||
|
|
||||||
|
class QScreen;
|
||||||
namespace util
|
namespace util
|
||||||
{
|
{
|
||||||
/* Creates extension list for qt filedialog */
|
/* Creates extension list for qt filedialog */
|
||||||
QString DlgFilter(std::initializer_list<QString> extensions, bool last = false);
|
QString DlgFilter(std::initializer_list<QString> extensions, bool last = false);
|
||||||
|
/* Returns screen the widget is on */
|
||||||
|
QScreen* screenOfWidget(QWidget* widget);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Reference in New Issue
Block a user