Commit 1896af7a5574151ec8915dbcd0286041c8ae7026
1 parent
9b4ea37f
Exists in
master
Método coletaNomeOs de OperatingSystem modificado para retornar o nome da distro corretamente.
Showing
1 changed file
with
17 additions
and
2 deletions
Show diff stats
src/operatingsystem.cpp
... | ... | @@ -44,18 +44,33 @@ int OperatingSystem::coletaIdOs(){ |
44 | 44 | |
45 | 45 | QString OperatingSystem::coletaNomeOs() |
46 | 46 | { |
47 | +#if defined(Q_OS_WIN) | |
47 | 48 | QString text; |
48 | 49 | QStringList environment = QProcessEnvironment::systemEnvironment().toStringList(); |
49 | 50 | foreach (text, environment) { |
50 | 51 | // qDebug() << text; |
51 | - if (text.contains("OS=" , Qt::CaseInsensitive) || | |
52 | - text.contains("SESSION=", Qt::CaseInsensitive) ){ | |
52 | + if (text.contains("OS=" , Qt::CaseInsensitive) ){ | |
53 | 53 | QStringList split = text.split("="); |
54 | 54 | // qDebug() << split[1]; |
55 | 55 | return split[1]; |
56 | 56 | } |
57 | 57 | } |
58 | +#elif defined(Q_OS_LINUX) | |
59 | + ConsoleObject console; | |
60 | + QStringList catOutput = console("cat /etc/*release").split("\n"); | |
61 | + | |
62 | + QString line; | |
63 | + foreach(line, catOutput) { | |
64 | + if(line.contains("PRETTY_NAME")) { | |
65 | + QStringList split = line.split("="); | |
66 | + | |
67 | + QString nomeDistro = split[1].mid(1, split[1].size()-2 ); | |
68 | + return nomeDistro; | |
69 | + } | |
70 | + } | |
71 | +#endif | |
58 | 72 | return ""; |
73 | + | |
59 | 74 | } |
60 | 75 | |
61 | 76 | QJsonObject OperatingSystem::toJsonObject() | ... | ... |