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