From 018daf7f096f80975cf33da35a3f53092970a6bb Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sun, 14 May 2023 00:32:25 +0200 Subject: [PATCH] Move GetMonitorNames() to utility --- src/macro-core/macro-action-projector.cpp | 42 +---------------------- src/utils/utility.cpp | 40 +++++++++++++++++++++ src/utils/utility.hpp | 2 ++ 3 files changed, 43 insertions(+), 41 deletions(-) diff --git a/src/macro-core/macro-action-projector.cpp b/src/macro-core/macro-action-projector.cpp index f6136116..3a9f6316 100644 --- a/src/macro-core/macro-action-projector.cpp +++ b/src/macro-core/macro-action-projector.cpp @@ -117,46 +117,6 @@ static inline void populateWindowTypes(QComboBox *list) "AdvSceneSwitcher.action.projector.fullscreen")); } -static QStringList getMonitorNames() -{ - QStringList monitorNames; - QList screens = QGuiApplication::screens(); - for (int i = 0; i < screens.size(); i++) { - QScreen *screen = screens[i]; - QRect screenGeometry = screen->geometry(); - qreal ratio = screen->devicePixelRatio(); - QString name = ""; -#if defined(__APPLE__) || defined(_WIN32) - name = screen->name(); -#else - name = screen->model().simplified(); - if (name.length() > 1 && name.endsWith("-")) { - name.chop(1); - } -#endif - name = name.simplified(); - - if (name.length() == 0) { - name = QString("%1 %2") - .arg(obs_module_text( - "AdvSceneSwitcher.action.projector.display")) - .arg(QString::number(i + 1)); - } - QString str = - QString("%1: %2x%3 @ %4,%5") - .arg(name, - QString::number(screenGeometry.width() * - ratio), - QString::number(screenGeometry.height() * - ratio), - QString::number(screenGeometry.x()), - QString::number(screenGeometry.y())); - - monitorNames << str; - } - return monitorNames; -} - MacroActionProjectorEdit::MacroActionProjectorEdit( QWidget *parent, std::shared_ptr entryData) : QWidget(parent), @@ -173,7 +133,7 @@ MacroActionProjectorEdit::MacroActionProjectorEdit( auto sources = GetSourceNames(); sources.sort(); _sources->SetSourceNameList(sources); - _monitors->addItems(getMonitorNames()); + _monitors->addItems(GetMonitorNames()); QWidget::connect(_windowTypes, SIGNAL(currentIndexChanged(int)), this, SLOT(WindowTypeChanged(int))); diff --git a/src/utils/utility.cpp b/src/utils/utility.cpp index 07373149..59d7fb13 100644 --- a/src/utils/utility.cpp +++ b/src/utils/utility.cpp @@ -559,6 +559,46 @@ void AddSelectionEntry(QComboBox *sel, const char *description, bool selectable, } } +QStringList GetMonitorNames() +{ + QStringList monitorNames; + QList screens = QGuiApplication::screens(); + for (int i = 0; i < screens.size(); i++) { + QScreen *screen = screens[i]; + QRect screenGeometry = screen->geometry(); + qreal ratio = screen->devicePixelRatio(); + QString name = ""; +#if defined(__APPLE__) || defined(_WIN32) + name = screen->name(); +#else + name = screen->model().simplified(); + if (name.length() > 1 && name.endsWith("-")) { + name.chop(1); + } +#endif + name = name.simplified(); + + if (name.length() == 0) { + name = QString("%1 %2") + .arg(obs_module_text( + "AdvSceneSwitcher.action.projector.display")) + .arg(QString::number(i + 1)); + } + QString str = + QString("%1: %2x%3 @ %4,%5") + .arg(name, + QString::number(screenGeometry.width() * + ratio), + QString::number(screenGeometry.height() * + ratio), + QString::number(screenGeometry.x()), + QString::number(screenGeometry.y())); + + monitorNames << str; + } + return monitorNames; +} + QStringList GetSourceNames() { auto sourceEnum = [](void *param, obs_source_t *source) -> bool /* -- */ diff --git a/src/utils/utility.hpp b/src/utils/utility.hpp index 9e493913..2c19b131 100644 --- a/src/utils/utility.hpp +++ b/src/utils/utility.hpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -121,6 +122,7 @@ void ReplaceAll(std::string &str, const std::string &from, const std::string &to); QString GetDefaultSettingsSaveLocation(); std::string GetPathInProfileDir(const char *filePath); +QStringList GetMonitorNames(); /* Legacy helpers */