basic system information (there is other information spread in the code check usages of writeSysInfo for details)
104{
105 QString systemInfo;
106
107
108
109
110 systemInfo.append("Krita\n");
112#ifdef Q_OS_WIN
113 {
115 QString packageFamilyName;
116 QString packageFullName;
117 systemInfo.append("\n Installation type: ");
119 systemInfo.append("Store / MSIX package\n Family Name: ")
120 .append(packageFamilyName)
121 .append("\n Full Name: ")
122 .append(packageFullName);
123 } else {
124 systemInfo.append("installer / portable package");
125 }
126 }
127#endif
128#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
129
130 systemInfo.append("\n Hidpi: ").append(QCoreApplication::testAttribute(Qt::AA_EnableHighDpiScaling) ? "true" : "false");
131#endif
132#ifdef Q_OS_MACOS
134 systemInfo.append(
"\n Sandbox: ").append((entitlements.
sandbox()) ?
"true" :
"false");
135#endif
136 systemInfo.append("\n\n");
137
138 systemInfo.append("Qt\n");
139 systemInfo.append("\n Version (compiled): ").append(QT_VERSION_STR);
140 systemInfo.append("\n Version (loaded): ").append(qVersion());
141 systemInfo.append("\n\n");
142
143
144 systemInfo.append("OS Information\n");
145 systemInfo.append("\n Build ABI: ").append(QSysInfo::buildAbi());
146 systemInfo.append("\n Build CPU: ").append(QSysInfo::buildCpuArchitecture());
147 systemInfo.append("\n CPU: ").append(QSysInfo::currentCpuArchitecture());
148 systemInfo.append("\n Kernel Type: ").append(QSysInfo::kernelType());
149 systemInfo.append("\n Kernel Version: ").append(QSysInfo::kernelVersion());
150 systemInfo.append("\n Pretty Productname: ").append(QSysInfo::prettyProductName());
151 systemInfo.append("\n Product Type: ").append(QSysInfo::productType());
152 systemInfo.append("\n Product Version: ").append(QSysInfo::productVersion());
153
154#ifdef Q_OS_ANDROID
155 QString manufacturer =
156 QAndroidJniObject::getStaticObjectField("android/os/Build", "MANUFACTURER", "Ljava/lang/String;").toString();
157 const QString model =
158 QAndroidJniObject::getStaticObjectField("android/os/Build", "MODEL", "Ljava/lang/String;").toString();
159 manufacturer[0] = manufacturer[0].toUpper();
160 systemInfo.append("\n Product Model: ").append(manufacturer + " " + model);
161#elif defined(Q_OS_LINUX)
162 systemInfo.append("\n Desktop: ").append(qgetenv("XDG_CURRENT_DESKTOP"));
163
164 systemInfo.append("\n Appimage build: ").append(qEnvironmentVariableIsSet("APPIMAGE") ? "Yes" : "No");
165#elif defined(Q_OS_WIN)
166 systemInfo.append("\n Result of IsWindows10OrGreater(): ").append(IsWindows10OrGreater() ? "Yes" : "No");
167#endif
168 systemInfo.append("\n\n");
169
170 return systemInfo;
171}
bool tryGetCurrentPackageFullName(QString *outName)
bool tryGetCurrentPackageFamilyName(QString *outName)
KRITAVERSION_EXPORT QString versionString(bool checkGit=false)