Qt5 deprications (#2076)

* working on removing deprecated warnings for Qt6 migration

* tewsting 18.04 fix
This commit is contained in:
borgmanJeremy
2021-11-21 14:40:56 -06:00
committed by GitHub
parent 8ab1ac0eaa
commit b8c0b74ea2
4 changed files with 23 additions and 24 deletions

View File

@@ -226,8 +226,6 @@ void Controller::requestCapture(const CaptureRequest& request)
this->startFullscreenCapture(id);
});
break;
// TODO: Figure out the code path that gets here so the deprated
// warning can be fixed
case CaptureRequest::SCREEN_MODE: {
int&& number = request.data().toInt();
doLater(request.delay(), this, [this, id, number]() {
@@ -320,20 +318,25 @@ void Controller::startVisualCapture(const uint id,
void Controller::startScreenGrab(const uint id, const int screenNumber)
{
bool ok = true;
int n = screenNumber;
auto screen = qApp->screens()[screenNumber];
if (n < 0) {
if (screenNumber < 0) {
QPoint globalCursorPos = QCursor::pos();
n = qApp->desktop()->screenNumber(globalCursorPos);
#if QT_VERSION > QT_VERSION_CHECK(5, 10, 0)
screen = qApp->screenAt(globalCursorPos);
#else
screen =
qApp->screens()[qApp->desktop()->screenNumber(globalCursorPos)];
#endif
}
QPixmap p(ScreenGrabber().grabScreen(n, ok));
QPixmap p(ScreenGrabber().grabScreen(screen, ok));
if (ok) {
CaptureRequest& req = *requests().find(id);
QRect region = req.initialSelection();
if (region.isNull()) {
region = ScreenGrabber().screenGeometry(n);
region = ScreenGrabber().screenGeometry(screen);
} else {
QRect screenGeom = ScreenGrabber().screenGeometry(n);
QRect screenGeom = ScreenGrabber().screenGeometry(screen);
screenGeom.moveTopLeft({ 0, 0 });
region = region.intersected(screenGeom);
p = p.copy(region);

View File

@@ -144,12 +144,11 @@ QPixmap ScreenGrabber::grabEntireDesktop(bool& ok)
#endif
}
QRect ScreenGrabber::screenGeometry(int screenNumber)
QRect ScreenGrabber::screenGeometry(QScreen* screen)
{
QPixmap p;
QRect geometry;
bool isVirtual = QApplication::desktop()->isVirtualDesktop();
if (isVirtual || m_info.waylandDetected()) {
if (m_info.waylandDetected()) {
QPoint topLeft(0, 0);
#ifdef Q_OS_WIN
for (QScreen* const screen : QGuiApplication::screens()) {
@@ -160,7 +159,7 @@ QRect ScreenGrabber::screenGeometry(int screenNumber)
}
}
#endif
geometry = QApplication::desktop()->screenGeometry(screenNumber);
geometry = screen->geometry();
geometry.moveTo(geometry.topLeft() - topLeft);
} else {
QScreen* currentScreen = QGuiAppCurrentScreen().currentScreen();
@@ -169,12 +168,11 @@ QRect ScreenGrabber::screenGeometry(int screenNumber)
return geometry;
}
QPixmap ScreenGrabber::grabScreen(int screenNumber, bool& ok)
QPixmap ScreenGrabber::grabScreen(QScreen* screen, bool& ok)
{
QPixmap p;
bool isVirtual = QApplication::desktop()->isVirtualDesktop();
QRect geometry = screenGeometry(screenNumber);
if (isVirtual || m_info.waylandDetected()) {
QRect geometry = screenGeometry(screen);
if (m_info.waylandDetected()) {
p = grabEntireDesktop(ok);
if (ok) {
return p.copy(geometry);
@@ -182,11 +180,8 @@ QPixmap ScreenGrabber::grabScreen(int screenNumber, bool& ok)
} else {
ok = true;
QScreen* currentScreen = QGuiAppCurrentScreen().currentScreen();
return currentScreen->grabWindow(screenNumber,
geometry.x(),
geometry.y(),
geometry.width(),
geometry.height());
return currentScreen->grabWindow(
geometry.x(), geometry.y(), geometry.width(), geometry.height());
}
return p;
}

View File

@@ -5,6 +5,7 @@
#include "src/utils/desktopinfo.h"
#include <QObject>
#include <QScreen>
class ScreenGrabber : public QObject
{
@@ -12,8 +13,8 @@ class ScreenGrabber : public QObject
public:
explicit ScreenGrabber(QObject* parent = nullptr);
QPixmap grabEntireDesktop(bool& ok);
QRect screenGeometry(int screenNumber);
QPixmap grabScreen(int screenNumber, bool& ok);
QRect screenGeometry(QScreen* screen);
QPixmap grabScreen(QScreen* screenNumber, bool& ok);
void freeDesktopPortal(bool& ok, QPixmap& res);
QRect desktopGeometry();

View File

@@ -499,7 +499,7 @@ QVariant Region::process(const QVariant& val)
if (!ok || number < 0) {
return {};
}
return ScreenGrabber().screenGeometry(number);
return ScreenGrabber().screenGeometry(qApp->screens()[number]);
}
QRegExp regex("(-{,1}\\d+)" // number (any sign)