//// Created by Dale Glass on 7/01/2023// Copyright 2023 Overte e.V.//// Distributed under the Apache License, Version 2.0.// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html//#include "ScreenName.h"QString ScreenName::getNameForScreen(QScreen *screen) { // The data provided by QScreen isn't as convenient as it could be. // So far testing shows: // // Windows: // model() returns an empty string // name() returns something like \\.\DISPLAY1 // // Linux: // model() returns a name, like "LG Ultra HD/525000" // name() returns the output's name, like "HDMI1" // So we try to assemble something unique and readable from all the possibilities. QString ret; bool addParens = false; ret.append(screen->manufacturer()); if (!ret.isEmpty()) { ret.append(" - "); } ret.append(screen->model()); addParens = !ret.isEmpty(); if(addParens) { ret.append(" ("); } ret.append(screen->name().replace(QString("\\\\.\\"), QString(""))); if(addParens) { ret.append(")"); } return ret;}
//
// Created by Dale Glass on 7/01/2023
// Copyright 2023 Overte e.V.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
#include "ScreenName.h"
QString ScreenName::getNameForScreen(QScreen *screen) {
// The data provided by QScreen isn't as convenient as it could be.
// So far testing shows:
//
// Windows:
// model() returns an empty string
// name() returns something like \\.\DISPLAY1
//
// Linux:
// model() returns a name, like "LG Ultra HD/525000"
// name() returns the output's name, like "HDMI1"
// So we try to assemble something unique and readable from all the possibilities.
QString ret;
bool addParens = false;
ret.append(screen->manufacturer());
if (!ret.isEmpty()) {
ret.append(" - ");
}
ret.append(screen->model());
addParens = !ret.isEmpty();
if(addParens) {
ret.append(" (");
}
ret.append(screen->name().replace(QString("\\\\.\\"), QString("")));
if(addParens) {
ret.append(")");
}
return ret;
}