UI: Get actual projector monitor name on windows

This commit is contained in:
jp9000
2020-03-18 20:37:56 -07:00
parent 113af5344c
commit e93d44dd18
3 changed files with 91 additions and 9 deletions
+6 -9
View File
@@ -29,6 +29,7 @@
#include <QColorDialog>
#include <QSizePolicy>
#include <QScrollBar>
#include <QTextStream>
#include <util/dstr.h>
#include <util/util.hpp>
@@ -4173,15 +4174,11 @@ void OBSBasic::AddProjectorMenuMonitors(QMenu *parent, QObject *target,
QRect screenGeometry = screen->geometry();
QString name = "";
#ifdef _WIN32
DISPLAY_DEVICE ddev;
ddev.cb = sizeof(ddev);
BPtr<wchar_t> wideName;
os_utf8_to_wcs_ptr(screen->name().toStdString().c_str(), 0,
&wideName);
EnumDisplayDevices(wideName, 0, &ddev, 1);
BPtr<char> newName;
os_wcs_to_utf8_ptr(ddev.DeviceString, 0, &newName);
name = newName;
QTextStream fullname(&name);
fullname << GetMonitorName(screen->name());
fullname << " (";
fullname << (i + 1);
fullname << ")";
#elif defined(__APPLE__)
name = screen->name();
#elif QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)