From 1896af7a5574151ec8915dbcd0286041c8ae7026 Mon Sep 17 00:00:00 2001 From: Thiago Rocha Date: Mon, 18 Aug 2014 13:03:42 -0300 Subject: [PATCH] Método coletaNomeOs de OperatingSystem modificado para retornar o nome da distro corretamente. --- src/operatingsystem.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/operatingsystem.cpp b/src/operatingsystem.cpp index aa058b1..7bbd952 100644 --- a/src/operatingsystem.cpp +++ b/src/operatingsystem.cpp @@ -44,18 +44,33 @@ int OperatingSystem::coletaIdOs(){ QString OperatingSystem::coletaNomeOs() { +#if defined(Q_OS_WIN) QString text; QStringList environment = QProcessEnvironment::systemEnvironment().toStringList(); foreach (text, environment) { // qDebug() << text; - if (text.contains("OS=" , Qt::CaseInsensitive) || - text.contains("SESSION=", Qt::CaseInsensitive) ){ + if (text.contains("OS=" , Qt::CaseInsensitive) ){ QStringList split = text.split("="); // qDebug() << split[1]; return split[1]; } } +#elif defined(Q_OS_LINUX) + ConsoleObject console; + QStringList catOutput = console("cat /etc/*release").split("\n"); + + QString line; + foreach(line, catOutput) { + if(line.contains("PRETTY_NAME")) { + QStringList split = line.split("="); + + QString nomeDistro = split[1].mid(1, split[1].size()-2 ); + return nomeDistro; + } + } +#endif return ""; + } QJsonObject OperatingSystem::toJsonObject() -- libgit2 0.21.2