File indexing completed on 2024-03-24 17:07:40
0001 /* 0002 * SPDX-FileCopyrightText: 2018 Daniel Vrátil <dvratil@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "utils.h" 0008 0009 #include <QVector> 0010 0011 KScreen::Output::Type Utils::guessOutputType(const QString &type, const QString &name) 0012 { 0013 static const auto embedded = {QLatin1String("LVDS"), QLatin1String("IDP"), QLatin1String("EDP"), QLatin1String("LCD"), QLatin1String("DSI")}; 0014 0015 for (const QLatin1String &pre : embedded) { 0016 if (name.startsWith(pre, Qt::CaseInsensitive)) { 0017 return KScreen::Output::Panel; 0018 } 0019 } 0020 0021 if (type.contains(QLatin1String("VGA"))) { 0022 return KScreen::Output::VGA; 0023 } else if (type.contains(QLatin1String("DVI"))) { 0024 return KScreen::Output::DVI; 0025 } else if (type.contains(QLatin1String("DVI-I"))) { 0026 return KScreen::Output::DVII; 0027 } else if (type.contains(QLatin1String("DVI-A"))) { 0028 return KScreen::Output::DVIA; 0029 } else if (type.contains(QLatin1String("DVI-D"))) { 0030 return KScreen::Output::DVID; 0031 } else if (type.contains(QLatin1String("HDMI"))) { 0032 return KScreen::Output::HDMI; 0033 } else if (type.contains(QLatin1String("Panel"))) { 0034 return KScreen::Output::Panel; 0035 } else if (type.contains(QLatin1String("TV-Composite"))) { 0036 return KScreen::Output::TVComposite; 0037 } else if (type.contains(QLatin1String("TV-SVideo"))) { 0038 return KScreen::Output::TVSVideo; 0039 } else if (type.contains(QLatin1String("TV-Component"))) { 0040 return KScreen::Output::TVComponent; 0041 } else if (type.contains(QLatin1String("TV-SCART"))) { 0042 return KScreen::Output::TVSCART; 0043 } else if (type.contains(QLatin1String("TV-C4"))) { 0044 return KScreen::Output::TVC4; 0045 } else if (type.contains(QLatin1String("TV"))) { 0046 return KScreen::Output::TV; 0047 } else if (type.contains(QLatin1String("DisplayPort")) || type.startsWith(QLatin1String("DP"))) { 0048 return KScreen::Output::DisplayPort; 0049 } else if (type.contains(QLatin1String("unknown"))) { 0050 return KScreen::Output::Unknown; 0051 } else { 0052 return KScreen::Output::Unknown; 0053 } 0054 }