]> git.sven.stormbind.net Git - sven/vym.git/blob - src/debuginfo.cpp
New upstream version 2.9.22
[sven/vym.git] / src / debuginfo.cpp
1 #include "debuginfo.h"
2
3 #include <QCoreApplication>
4 #include <QDir>
5 #include <QProcessEnvironment>
6 #include <QSslSocket>
7 #include <QString>
8 #include <QStyleFactory>
9 #include <QTranslator>
10
11 #include "settings.h"
12
13 extern bool usingDarkTheme;
14 extern QString vymVersion;
15
16 extern QString vymVersion;
17 extern QString vymPlatform;
18 extern QString vymCodeQuality;
19 extern QString vymCodeName;
20 extern QString vymBuildDate;
21
22 extern Settings settings;
23
24 extern QString localeName;
25
26 extern QDir vymBaseDir;
27 extern QDir tmpVymDir;          // All temp files go there, created in mainwindow
28 extern QDir vymTranslationsDir;
29 extern QTranslator vymTranslator;
30
31 extern QString zipToolPath;
32
33 QString debugInfo()
34 {
35     QString s;
36     s =  QString("vym version: %1 - %2 - %3 %4\n")
37             .arg(vymVersion)
38             .arg(vymBuildDate)
39             .arg(vymCodeQuality)
40             .arg(vymCodeName);
41     s += QString("     Platform: %1\n").arg(vymPlatform);
42     s += QString("    tmpVymDir: %1\n").arg(tmpVymDir.path());
43     s += QString("  zipToolPath: %1\n").arg(zipToolPath);
44     s += QString("   vymBaseDir: %1\n").arg(vymBaseDir.path());
45     s += QString("  currentPath: %1\n").arg(QDir::currentPath());
46     s += QString("   appDirPath: %1\n")
47             .arg(QCoreApplication::applicationDirPath());
48     s += QString("     Settings: %1\n\n").arg(settings.fileName());
49     s += QString("   Dark theme: %1\n").arg(usingDarkTheme);
50     s += QString("Avail. styles: %1\n\n").arg(QStyleFactory::keys().join(","));
51     s += " SSL status: ";
52     QSslSocket::supportsSsl() ? s += "supported\n" : s += "not supported\n";
53     s += "     SSL Qt: " + QSslSocket::sslLibraryBuildVersionString() + "\n";
54     s += "    SSL lib: " + QSslSocket::sslLibraryVersionString() + "\n";
55
56     // Info about translations
57     QStringList translations;
58     if(vymTranslationsDir.exists())
59         translations = vymTranslationsDir.entryList();
60     s += "\n";
61     s += QString("       Translator path: %1\n").arg(vymTranslator.filePath());
62     s += QString("       Translator lang: %1\n").arg(vymTranslator.language());
63     s += QString("            localeName: %1\n").arg(localeName);
64     s += QString("                system: %1\n").arg(QLocale::system().name());
65     s += QString("              language: %1\n").arg(QLocale::languageToString(QLocale::system().language()));
66     s += QString("               country: %1\n").arg(QLocale::countryToString(QLocale::system().country()));
67     s += QString("           uiLanguages: %1\n").arg(QLocale::system().uiLanguages().join(","));
68     s += QString("                  LANG: %1\n")
69         .arg(QProcessEnvironment::systemEnvironment().value("LANG", "not set."));
70     s += QString("       Translations in: %1\n").arg(vymTranslationsDir.path());
71     s += QString("Available translations: %1\n").arg(translations.count());
72     foreach (QString qm_file, translations)
73         s += QString("                        %1\n").arg(qm_file);
74
75     return s;
76 }