Replace deprecated screenCountChanged event

This commit is contained in:
Dale Glass 2022-06-05 13:10:30 +02:00
parent 0c09ac6030
commit aeb082d675
2 changed files with 10 additions and 10 deletions

View file

@ -108,9 +108,11 @@ HMDToolsDialog::HMDToolsDialog(QWidget* parent) :
updateUi();
});
// keep track of changes to the number of screens
connect(QApplication::desktop(), &QDesktopWidget::screenCountChanged, this, &HMDToolsDialog::screenCountChanged);
connect(qApp, &QGuiApplication::screenAdded, this, &HMDToolsDialog::screenCountChanged);
connect(qApp, &QGuiApplication::screenRemoved, this, &HMDToolsDialog::screenCountChanged);
updateUi();
}
@ -130,14 +132,13 @@ QString HMDToolsDialog::getDebugDetails() const {
results += "HMD Screen Name: N/A\n";
}
int desktopPrimaryScreenNumber = QApplication::desktop()->primaryScreen();
QScreen* desktopPrimaryScreen = QGuiApplication::screens()[desktopPrimaryScreenNumber];
QScreen* desktopPrimaryScreen = QGuiApplication::primaryScreen();
results += "Desktop's Primary Screen: " + desktopPrimaryScreen->name() + "\n";
results += "Application Primary Screen: " + QGuiApplication::primaryScreen()->name() + "\n";
QScreen* mainWindowScreen = qApp->getWindow()->windowHandle()->screen();
results += "Application Main Window Screen: " + mainWindowScreen->name() + "\n";
results += "Total Screens: " + QString::number(QApplication::desktop()->screenCount()) + "\n";
results += "Total Screens: " + QString::number(QGuiApplication::screens().count()) + "\n";
return results;
}
@ -196,7 +197,7 @@ void HMDToolsDialog::hideEvent(QHideEvent* event) {
centerCursorOnWidget(qApp->getWindow());
}
void HMDToolsDialog::screenCountChanged(int newCount) {
void HMDToolsDialog::screenCountChanged() {
int hmdScreenNumber = -1;
const auto& displayPlugins = PluginManager::getInstance()->getDisplayPlugins();
for(const auto& dp : displayPlugins) {
@ -256,7 +257,7 @@ void HMDWindowWatcher::windowGeometryChanged(int arg) {
void HMDWindowWatcher::windowScreenChanged(QScreen* screen) {
// if we have more than one screen, and a known hmdScreen then try to
// keep our dialog off of the hmdScreen
if (QApplication::desktop()->screenCount() > 1) {
if (QGuiApplication::screens().count() > 1) {
int hmdScreenNumber = _hmdTools->_hmdScreenNumber;
// we want to use a local variable here because we are not necesarily in HMD mode
if (hmdScreenNumber >= 0) {
@ -283,8 +284,7 @@ void HMDWindowWatcher::windowScreenChanged(QScreen* screen) {
betterScreen = lastApplicationScreen;
} else {
// last, if we can't use the previous screen the use the primary desktop screen
int desktopPrimaryScreenNumber = QApplication::desktop()->primaryScreen();
QScreen* desktopPrimaryScreen = QGuiApplication::screens()[desktopPrimaryScreenNumber];
QScreen* desktopPrimaryScreen = QGuiApplication::primaryScreen();
betterScreen = desktopPrimaryScreen;
}

View file

@ -35,7 +35,7 @@ signals:
public slots:
void reject() override;
void screenCountChanged(int newCount);
void screenCountChanged();
protected:
virtual void closeEvent(QCloseEvent*) override; // Emits a 'closed' signal when this dialog is closed.