1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
/*
* SPDX-FileCopyrightText: 2018 Daniel Vrátil <dvratil@kde.org>
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
#include "utils.h"
#include <QList>
KScreen::Output::Type Utils::guessOutputType(const QString &type, const QString &name)
{
static const auto embedded = {QLatin1String("LVDS"), QLatin1String("IDP"), QLatin1String("EDP"), QLatin1String("LCD"), QLatin1String("DSI")};
for (const QLatin1String &pre : embedded) {
if (name.startsWith(pre, Qt::CaseInsensitive)) {
return KScreen::Output::Panel;
}
}
if (type.contains(QLatin1String("VGA"))) {
return KScreen::Output::VGA;
} else if (type.contains(QLatin1String("DVI"))) {
return KScreen::Output::DVI;
} else if (type.contains(QLatin1String("DVI-I"))) {
return KScreen::Output::DVII;
} else if (type.contains(QLatin1String("DVI-A"))) {
return KScreen::Output::DVIA;
} else if (type.contains(QLatin1String("DVI-D"))) {
return KScreen::Output::DVID;
} else if (type.contains(QLatin1String("HDMI"))) {
return KScreen::Output::HDMI;
} else if (type.contains(QLatin1String("Panel"))) {
return KScreen::Output::Panel;
} else if (type.contains(QLatin1String("TV-Composite"))) {
return KScreen::Output::TVComposite;
} else if (type.contains(QLatin1String("TV-SVideo"))) {
return KScreen::Output::TVSVideo;
} else if (type.contains(QLatin1String("TV-Component"))) {
return KScreen::Output::TVComponent;
} else if (type.contains(QLatin1String("TV-SCART"))) {
return KScreen::Output::TVSCART;
} else if (type.contains(QLatin1String("TV-C4"))) {
return KScreen::Output::TVC4;
} else if (type.contains(QLatin1String("TV"))) {
return KScreen::Output::TV;
} else if (type.contains(QLatin1String("DisplayPort")) || type.startsWith(QLatin1String("DP"))) {
return KScreen::Output::DisplayPort;
} else if (type.contains(QLatin1String("unknown"))) {
return KScreen::Output::Unknown;
} else {
return KScreen::Output::Unknown;
}
}
|