]> git.sven.stormbind.net Git - sven/vym.git/blobdiff - src/debuginfo.cpp
New upstream version 2.9.22
[sven/vym.git] / src / debuginfo.cpp
diff --git a/src/debuginfo.cpp b/src/debuginfo.cpp
new file mode 100644 (file)
index 0000000..a320557
--- /dev/null
@@ -0,0 +1,76 @@
+#include "debuginfo.h"
+
+#include <QCoreApplication>
+#include <QDir>
+#include <QProcessEnvironment>
+#include <QSslSocket>
+#include <QString>
+#include <QStyleFactory>
+#include <QTranslator>
+
+#include "settings.h"
+
+extern bool usingDarkTheme;
+extern QString vymVersion;
+
+extern QString vymVersion;
+extern QString vymPlatform;
+extern QString vymCodeQuality;
+extern QString vymCodeName;
+extern QString vymBuildDate;
+
+extern Settings settings;
+
+extern QString localeName;
+
+extern QDir vymBaseDir;
+extern QDir tmpVymDir;          // All temp files go there, created in mainwindow
+extern QDir vymTranslationsDir;
+extern QTranslator vymTranslator;
+
+extern QString zipToolPath;
+
+QString debugInfo()
+{
+    QString s;
+    s =  QString("vym version: %1 - %2 - %3 %4\n")
+            .arg(vymVersion)
+            .arg(vymBuildDate)
+            .arg(vymCodeQuality)
+            .arg(vymCodeName);
+    s += QString("     Platform: %1\n").arg(vymPlatform);
+    s += QString("    tmpVymDir: %1\n").arg(tmpVymDir.path());
+    s += QString("  zipToolPath: %1\n").arg(zipToolPath);
+    s += QString("   vymBaseDir: %1\n").arg(vymBaseDir.path());
+    s += QString("  currentPath: %1\n").arg(QDir::currentPath());
+    s += QString("   appDirPath: %1\n")
+            .arg(QCoreApplication::applicationDirPath());
+    s += QString("     Settings: %1\n\n").arg(settings.fileName());
+    s += QString("   Dark theme: %1\n").arg(usingDarkTheme);
+    s += QString("Avail. styles: %1\n\n").arg(QStyleFactory::keys().join(","));
+    s += " SSL status: ";
+    QSslSocket::supportsSsl() ? s += "supported\n" : s += "not supported\n";
+    s += "     SSL Qt: " + QSslSocket::sslLibraryBuildVersionString() + "\n";
+    s += "    SSL lib: " + QSslSocket::sslLibraryVersionString() + "\n";
+
+    // Info about translations
+    QStringList translations;
+    if(vymTranslationsDir.exists())
+        translations = vymTranslationsDir.entryList();
+    s += "\n";
+    s += QString("       Translator path: %1\n").arg(vymTranslator.filePath());
+    s += QString("       Translator lang: %1\n").arg(vymTranslator.language());
+    s += QString("            localeName: %1\n").arg(localeName);
+    s += QString("                system: %1\n").arg(QLocale::system().name());
+    s += QString("              language: %1\n").arg(QLocale::languageToString(QLocale::system().language()));
+    s += QString("               country: %1\n").arg(QLocale::countryToString(QLocale::system().country()));
+    s += QString("           uiLanguages: %1\n").arg(QLocale::system().uiLanguages().join(","));
+    s += QString("                  LANG: %1\n")
+        .arg(QProcessEnvironment::systemEnvironment().value("LANG", "not set."));
+    s += QString("       Translations in: %1\n").arg(vymTranslationsDir.path());
+    s += QString("Available translations: %1\n").arg(translations.count());
+    foreach (QString qm_file, translations)
+        s += QString("                        %1\n").arg(qm_file);
+
+    return s;
+}