summaryrefslogtreecommitdiffstats
path: root/src/serialport/qserialportinfo_wince.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2015-01-20 12:33:16 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2015-01-20 12:33:16 +0100
commit5d819074af293c0855090ceb23a26fe8401a4255 (patch)
tree7f273c7438387ff86287aa3c344fae8fed6f56c5 /src/serialport/qserialportinfo_wince.cpp
parentb1005907d26a3e2f5dffaec93d656a0c1210961f (diff)
parent40d3bc669e7f556ac8d6492ad324827dcf6da6c1 (diff)
Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev
Diffstat (limited to 'src/serialport/qserialportinfo_wince.cpp')
-rw-r--r--src/serialport/qserialportinfo_wince.cpp24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/serialport/qserialportinfo_wince.cpp b/src/serialport/qserialportinfo_wince.cpp
index 4cb8b921..42c3977f 100644
--- a/src/serialport/qserialportinfo_wince.cpp
+++ b/src/serialport/qserialportinfo_wince.cpp
@@ -105,13 +105,13 @@ QList<QSerialPortInfo> QSerialPortInfo::availablePorts()
&di);
if (hSearch != INVALID_HANDLE_VALUE) {
do {
- QSerialPortInfo serialPortInfo;
- serialPortInfo.d_ptr->device = QString::fromWCharArray(di.szLegacyName);
- serialPortInfo.d_ptr->portName = QSerialPortPrivate::portNameFromSystemLocation(serialPortInfo.d_ptr->device);
- serialPortInfo.d_ptr->description = findDescription(HKEY_LOCAL_MACHINE,
- QString::fromWCharArray(di.szDeviceKey));
+ QSerialPortInfoPrivate priv;
+ priv.device = QString::fromWCharArray(di.szLegacyName);
+ priv.portName = QSerialPortInfoPrivate::portNameFromSystemLocation(priv.device);
+ priv.description = findDescription(HKEY_LOCAL_MACHINE,
+ QString::fromWCharArray(di.szDeviceKey));
- serialPortInfoList.append(serialPortInfo);
+ serialPortInfoList.append(priv);
} while (::FindNextDevice(hSearch, &di));
::FindClose(hSearch);
@@ -153,4 +153,16 @@ bool QSerialPortInfo::isValid() const
return true;
}
+QString QSerialPortInfoPrivate::portNameToSystemLocation(const QString &source)
+{
+ return source.endsWith(QLatin1Char(':'))
+ ? source : (source + QLatin1Char(':'));
+}
+
+QString QSerialPortInfoPrivate::portNameFromSystemLocation(const QString &source)
+{
+ return source.endsWith(QLatin1Char(':'))
+ ? source.mid(0, source.size() - 1) : source;
+}
+
QT_END_NAMESPACE