Changeset View
Changeset View
Standalone View
Standalone View
Modules/base/os_base.h
Show All 23 Lines | |||||
24 | 24 | | |||
25 | #include <QString> | 25 | #include <QString> | ||
26 | #include <QStringList> | 26 | #include <QStringList> | ||
27 | 27 | | |||
28 | #include <QProcess> | 28 | #include <QProcess> | ||
29 | #include <QTextStream> | 29 | #include <QTextStream> | ||
30 | #include <QTreeWidget> | 30 | #include <QTreeWidget> | ||
31 | #include <QTreeWidgetItem> | 31 | #include <QTreeWidgetItem> | ||
32 | #include <QVersionNumber> | ||||
32 | 33 | | |||
33 | #include <KLocalizedString> | 34 | #include <KLocalizedString> | ||
34 | #include <config-X11.h> | 35 | #include <config-X11.h> | ||
35 | #include "config-infocenter.h" | 36 | #include "config-infocenter.h" | ||
36 | 37 | | |||
37 | #if HAVE_X11 | 38 | #if HAVE_X11 | ||
38 | #include <X11/Xlib.h> | 39 | #include <X11/Xlib.h> | ||
39 | #endif | 40 | #endif | ||
▲ Show 20 Lines • Show All 194 Lines • ▼ Show 20 Line(s) | 212 | #if HAVE_X11 | |||
234 | next->setIcon(0, QIcon::fromTheme(QStringLiteral("xorg"))); | 235 | next->setIcon(0, QIcon::fromTheme(QStringLiteral("xorg"))); | ||
235 | next->setExpanded(true); | 236 | next->setExpanded(true); | ||
236 | 237 | | |||
237 | QStringList displayNameList; | 238 | QStringList displayNameList; | ||
238 | displayNameList << i18n("Name of the Display") << QString::fromUtf8(DisplayString(dpy)); | 239 | displayNameList << i18n("Name of the Display") << QString::fromUtf8(DisplayString(dpy)); | ||
239 | last = new QTreeWidgetItem(next, displayNameList); | 240 | last = new QTreeWidgetItem(next, displayNameList); | ||
240 | 241 | | |||
241 | QStringList vendorList; | 242 | QStringList vendorList; | ||
242 | vendorList << i18n("Vendor String") << QLatin1String(ServerVendor(dpy)); | 243 | const QString vendor = QString::fromLatin1(ServerVendor(dpy)); | ||
244 | vendorList << i18n("Vendor String") << vendor; | ||||
243 | last = new QTreeWidgetItem(next, vendorList); | 245 | last = new QTreeWidgetItem(next, vendorList); | ||
244 | 246 | | |||
245 | QStringList vendorReleaseList; | 247 | QStringList vendorReleaseList; | ||
246 | vendorReleaseList << i18n("Vendor Release Number") << Value((int)VendorRelease(dpy)); | 248 | const int releaseNumber = VendorRelease(dpy); | ||
249 | QString releaseString = Value(releaseNumber); | ||||
250 | if (vendor.contains(QStringLiteral("x.org"), Qt::CaseInsensitive)) { | ||||
251 | // Pipe through QVersionNumber to ensure output is sane. | ||||
252 | // As a side effect we ignore the potential 4th level as QVN doesn't | ||||
253 | // have support for it anyway. | ||||
254 | releaseString = QVersionNumber(releaseNumber / 10000000, | ||||
255 | (releaseNumber / 100000) % 100, | ||||
256 | (releaseNumber / 1000) % 100).toString(); | ||||
257 | } | ||||
258 | vendorReleaseList << i18n("Vendor Release Number") << releaseString; | ||||
247 | last = new QTreeWidgetItem(next, vendorReleaseList); | 259 | last = new QTreeWidgetItem(next, vendorReleaseList); | ||
248 | 260 | | |||
249 | QStringList versionList; | 261 | QStringList versionList; | ||
250 | versionList << i18n("Version Number") << QStringLiteral("%1.%2").arg((int)ProtocolVersion(dpy)).arg((int)ProtocolRevision(dpy)); | 262 | versionList << i18n("Version Number") << QStringLiteral("%1.%2").arg((int)ProtocolVersion(dpy)).arg((int)ProtocolRevision(dpy)); | ||
251 | last = new QTreeWidgetItem(next, versionList); | 263 | last = new QTreeWidgetItem(next, versionList); | ||
252 | 264 | | |||
253 | QStringList screenList; | 265 | QStringList screenList; | ||
254 | screenList << i18n("Available Screens"); | 266 | screenList << i18n("Available Screens"); | ||
▲ Show 20 Lines • Show All 102 Lines • Show Last 20 Lines |