Commit 1896af7a5574151ec8915dbcd0286041c8ae7026

Authored by Thiago Rocha
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()
... ...