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