UI: Use Qt lib for screen info instead of x11 libs

All of the monitor discovery logic can be implemented with Qt. This
change removes all the x11 implementations in favor of Qt and removes a
fair amount of platform specific code.
This commit is contained in:
Warren Turkal
2016-10-03 23:50:13 -07:00
parent 580cfc1a95
commit f3eb8aacfe
9 changed files with 33 additions and 156 deletions

View File

@@ -23,6 +23,7 @@
#include <initializer_list>
#include <sstream>
#include <QCompleter>
#include <QGuiApplication>
#include <QLineEdit>
#include <QMessageBox>
#include <QCloseEvent>
@@ -30,6 +31,7 @@
#include <QDirIterator>
#include <QVariant>
#include <QTreeView>
#include <QScreen>
#include <QStandardItemModel>
#include <QSpacerItem>
@@ -950,8 +952,6 @@ void OBSBasicSettings::LoadRendererList()
#endif
}
Q_DECLARE_METATYPE(MonitorInfo);
static string ResString(uint32_t cx, uint32_t cy)
{
stringstream res;
@@ -1097,14 +1097,12 @@ void OBSBasicSettings::LoadResolutionLists()
uint32_t cy = config_get_uint(main->Config(), "Video", "BaseCY");
uint32_t out_cx = config_get_uint(main->Config(), "Video", "OutputCX");
uint32_t out_cy = config_get_uint(main->Config(), "Video", "OutputCY");
vector<MonitorInfo> monitors;
ui->baseResolution->clear();
GetMonitors(monitors);
for (MonitorInfo &monitor : monitors) {
string res = ResString(monitor.cx, monitor.cy);
for (QScreen* screen: QGuiApplication::screens()) {
QSize as = screen->availableSize();
string res = ResString(as.width(), as.height());
ui->baseResolution->addItem(res.c_str());
}