summaryrefslogtreecommitdiffstats
path: root/src/UiGuiSystemInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/UiGuiSystemInfo.cpp')
-rw-r--r--[-rwxr-xr-x]src/UiGuiSystemInfo.cpp470
1 files changed, 280 insertions, 190 deletions
diff --git a/src/UiGuiSystemInfo.cpp b/src/UiGuiSystemInfo.cpp
index ac72ce1..5456519 100755..100644
--- a/src/UiGuiSystemInfo.cpp
+++ b/src/UiGuiSystemInfo.cpp
@@ -24,204 +24,294 @@
#include <tntqprocess.h>
#include <tntqfile.h>
-UiGuiSystemInfo::UiGuiSystemInfo() {
+UiGuiSystemInfo::UiGuiSystemInfo()
+{
}
-
/*!
\brief Returns the operating system UiGUI is currently running on as one string.
The String contains name and version of the os. E.g. Linux Ubuntu 9.04.
*/
-TQString UiGuiSystemInfo::getOperatingSystem() {
- TQString operatingSystemString = "";
-
-#if defined(Q_WS_WIN)
- switch ( TQSysInfo::WindowsVersion ) {
- case TQSysInfo::WV_32s :
- operatingSystemString = "Windows 3.1 with Win 32s";
- break;
- case TQSysInfo::WV_95 :
- operatingSystemString = "Windows 95";
- break;
- case TQSysInfo::WV_98 :
- operatingSystemString = "Windows 98";
- break;
- case TQSysInfo::WV_Me :
- operatingSystemString = "Windows Me";
- break;
- case TQSysInfo::WV_NT :
- operatingSystemString = "Windows NT (operating system version 4.0)";
- break;
- case TQSysInfo::WV_2000 :
- operatingSystemString = "Windows 2000 (operating system version 5.0)";
- break;
- case TQSysInfo::WV_XP :
- operatingSystemString = "Windows XP (operating system version 5.1)";
- break;
- case TQSysInfo::WV_2003 :
- operatingSystemString = "Windows Server 2003, Windows Server 2003 R2, Windows Home Server, Windows XP Professional x64 Edition (operating system version 5.2)";
- break;
- case TQSysInfo::WV_VISTA :
- operatingSystemString = "Windows Vista, Windows Server 2008 (operating system version 6.0)";
- break;
- case TQSysInfo::WV_WINDOWS7 :
- operatingSystemString = "Windows 7 (operating system version 6.1)";
- break;
- case TQSysInfo::WV_CE :
- operatingSystemString = "Windows CE";
- break;
- case TQSysInfo::WV_CENET :
- operatingSystemString = "Windows CE .NET";
- break;
- case TQSysInfo::WV_CE_5 :
- operatingSystemString = "Windows CE 5.x";
- break;
- case TQSysInfo::WV_CE_6 :
- operatingSystemString = "Windows CE 6.x";
- break;
- default :
- operatingSystemString = "Unknown Windows operating system.";
- break;
- }
-#elif defined(Q_WS_MAC)
- switch ( TQSysInfo::MacintoshVersion ) {
- case TQSysInfo::MV_9 :
- operatingSystemString = "Mac OS 9 (unsupported)";
- break;
- case TQSysInfo::MV_10_0 :
- operatingSystemString = "Mac OS X 10.0 Cheetah (unsupported)";
- break;
- case TQSysInfo::MV_10_1 :
- operatingSystemString = "Mac OS X 10.1 Puma (unsupported)";
- break;
- case TQSysInfo::MV_10_2 :
- operatingSystemString = "Mac OS X 10.2 Jaguar (unsupported)";
- break;
- case TQSysInfo::MV_10_3 :
- operatingSystemString = "Mac OS X 10.3 Panther";
- break;
- case TQSysInfo::MV_10_4 :
- operatingSystemString = "Mac OS X 10.4 Tiger";
- break;
- case TQSysInfo::MV_10_5 :
- operatingSystemString = "Mac OS X 10.5 Leopard";
- break;
- case TQSysInfo::MV_10_6 :
- operatingSystemString = "Mac OS X 10.6 Snow Leopard";
- break;
- case TQSysInfo::MV_Unknown :
- operatingSystemString = "An unknown and currently unsupported platform";
- break;
- default :
- operatingSystemString = "Unknown Mac operating system.";
- break;
- }
+TQString UiGuiSystemInfo::getOperatingSystem()
+{
+ TQString operatingSystemString = "";
+
+#if defined (Q_WS_WIN)
+ switch (TQSysInfo::WindowsVersion)
+ {
+ case TQSysInfo::WV_32s:
+ {
+ operatingSystemString = "Windows 3.1 with Win 32s";
+ break;
+ }
+
+ case TQSysInfo::WV_95:
+ {
+ operatingSystemString = "Windows 95";
+ break;
+ }
+
+ case TQSysInfo::WV_98:
+ {
+ operatingSystemString = "Windows 98";
+ break;
+ }
+
+ case TQSysInfo::WV_Me:
+ {
+ operatingSystemString = "Windows Me";
+ break;
+ }
+
+ case TQSysInfo::WV_NT:
+ {
+ operatingSystemString = "Windows NT (operating system version 4.0)";
+ break;
+ }
+
+ case TQSysInfo::WV_2000:
+ {
+ operatingSystemString = "Windows 2000 (operating system version 5.0)";
+ break;
+ }
+
+ case TQSysInfo::WV_XP:
+ {
+ operatingSystemString = "Windows XP (operating system version 5.1)";
+ break;
+ }
+
+ case TQSysInfo::WV_2003:
+ {
+ operatingSystemString =
+ "Windows Server 2003, Windows Server 2003 R2, Windows Home Server, Windows XP Professional x64 Edition (operating system version 5.2)";
+ break;
+ }
+
+ case TQSysInfo::WV_VISTA:
+ {
+ operatingSystemString = "Windows Vista, Windows Server 2008 (operating system version 6.0)";
+ break;
+ }
+
+ case TQSysInfo::WV_WINDOWS7:
+ {
+ operatingSystemString = "Windows 7 (operating system version 6.1)";
+ break;
+ }
+
+ case TQSysInfo::WV_CE:
+ {
+ operatingSystemString = "Windows CE";
+ break;
+ }
+
+ case TQSysInfo::WV_CENET:
+ {
+ operatingSystemString = "Windows CE .NET";
+ break;
+ }
+
+ case TQSysInfo::WV_CE_5:
+ {
+ operatingSystemString = "Windows CE 5.x";
+ break;
+ }
+
+ case TQSysInfo::WV_CE_6:
+ {
+ operatingSystemString = "Windows CE 6.x";
+ break;
+ }
+
+ default:
+ {
+ operatingSystemString = "Unknown Windows operating system.";
+ break;
+ }
+ }
+#elif defined (Q_WS_MAC)
+ switch (TQSysInfo::MacintoshVersion)
+ {
+ case TQSysInfo::MV_9:
+ {
+ operatingSystemString = "Mac OS 9 (unsupported)";
+ break;
+ }
+
+ case TQSysInfo::MV_10_0:
+ {
+ operatingSystemString = "Mac OS X 10.0 Cheetah (unsupported)";
+ break;
+ }
+
+ case TQSysInfo::MV_10_1:
+ {
+ operatingSystemString = "Mac OS X 10.1 Puma (unsupported)";
+ break;
+ }
+
+ case TQSysInfo::MV_10_2:
+ {
+ operatingSystemString = "Mac OS X 10.2 Jaguar (unsupported)";
+ break;
+ }
+
+ case TQSysInfo::MV_10_3:
+ {
+ operatingSystemString = "Mac OS X 10.3 Panther";
+ break;
+ }
+
+ case TQSysInfo::MV_10_4:
+ {
+ operatingSystemString = "Mac OS X 10.4 Tiger";
+ break;
+ }
+
+ case TQSysInfo::MV_10_5:
+ {
+ operatingSystemString = "Mac OS X 10.5 Leopard";
+ break;
+ }
+
+ case TQSysInfo::MV_10_6:
+ {
+ operatingSystemString = "Mac OS X 10.6 Snow Leopard";
+ break;
+ }
+
+ case TQSysInfo::MV_Unknown:
+ {
+ operatingSystemString = "An unknown and currently unsupported platform";
+ break;
+ }
+
+ default:
+ {
+ operatingSystemString = "Unknown Mac operating system.";
+ break;
+ }
+ }
#else
- //TODO: Detect Unix, Linux etc. distro as described on http://www.novell.com/coolsolutions/feature/11251.html
- operatingSystemString = "Linux";
- TQProcess process;
-
- process.start("uname -s");
- bool result = process.waitForFinished(1000);
- TQString os = process.readAllStandardOutput().trimmed();
-
- process.start("uname -r");
- result = process.waitForFinished(1000);
- TQString rev = process.readAllStandardOutput().trimmed();
-
- process.start("uname -m");
- result = process.waitForFinished(1000);
- TQString mach = process.readAllStandardOutput().trimmed();
-
- if ( os == "SunOS" ) {
- os = "Solaris";
-
- process.start("uname -p");
- result = process.waitForFinished(1000);
- TQString arch = process.readAllStandardOutput().trimmed();
-
- process.start("uname -v");
- result = process.waitForFinished(1000);
- TQString timestamp = process.readAllStandardOutput().trimmed();
-
- operatingSystemString = os + " " + rev + " (" + arch + " " + timestamp + ")";
- }
- else if ( os == "AIX" ) {
- process.start("oslevel -r");
- result = process.waitForFinished(1000);
- TQString oslevel = process.readAllStandardOutput().trimmed();
-
- operatingSystemString = os + "oslevel " + oslevel;
- }
- else if ( os == "Linux" ) {
- TQString dist;
- TQString pseudoname;
- TQString kernel = rev;
-
- if ( TQFile::exists("/etc/redhat-release") ) {
- dist = "RedHat";
-
- process.start("sh -c \"cat /etc/redhat-release | sed s/.*\\(// | sed s/\\)//\"");
- result = process.waitForFinished(1000);
- pseudoname = process.readAllStandardOutput().trimmed();
-
- process.start("sh -c \"cat /etc/redhat-release | sed s/.*release\\ // | sed s/\\ .*//\"");
- result = process.waitForFinished(1000);
- rev = process.readAllStandardOutput().trimmed();
- }
- else if ( TQFile::exists("/etc/SUSE-release") ) {
- process.start("sh -c \"cat /etc/SUSE-release | tr '\\n' ' '| sed s/VERSION.*//\"");
- result = process.waitForFinished(1000);
- dist = process.readAllStandardOutput().trimmed();
-
- process.start("sh -c \"cat /etc/SUSE-release | tr '\\n' ' ' | sed s/.*=\\ //\"");
- result = process.waitForFinished(1000);
- rev = process.readAllStandardOutput().trimmed();
- }
- else if ( TQFile::exists("/etc/mandrake-release") ) {
- dist = "Mandrake";
-
- process.start("sh -c \"cat /etc/mandrake-release | sed s/.*\\(// | sed s/\\)//\"");
- result = process.waitForFinished(1000);
- pseudoname = process.readAllStandardOutput().trimmed();
-
- process.start("sh -c \"cat /etc/mandrake-release | sed s/.*release\\ // | sed s/\\ .*//\"");
- result = process.waitForFinished(1000);
- rev = process.readAllStandardOutput().trimmed();
- }
- else if ( TQFile::exists("/etc/lsb-release") ) {
- dist = "Ubuntu";
-
- TQString processCall = "sh -c \"cat /etc/lsb-release | tr '\\n' ' ' | sed s/.*DISTRIB_RELEASE=// | sed s/\\ .*//\"";
- process.start( processCall );
- result = process.waitForFinished(1000);
- rev = process.readAllStandardOutput().trimmed();
- TQString errorStr = process.readAllStandardError();
-
- process.start("sh -c \"cat /etc/lsb-release | tr '\\n' ' ' | sed s/.*DISTRIB_CODENAME=// | sed s/\\ .*//\"");
- result = process.waitForFinished(1000);
- pseudoname = process.readAllStandardOutput().trimmed();
- }
- else if ( TQFile::exists("/etc/debian_version") ) {
- dist = "Debian";
-
- process.start("cat /etc/debian_version");
- result = process.waitForFinished(1000);
- dist += process.readAllStandardOutput().trimmed();
-
- rev = "";
- }
-
- if ( TQFile::exists("/etc/UnitedLinux-release") ) {
- process.start("sh -c \"cat /etc/UnitedLinux-release | tr '\\n' ' ' | sed s/VERSION.*//\"");
- result = process.waitForFinished(1000);
- dist += process.readAllStandardOutput().trimmed();
- }
-
- operatingSystemString = os + " " + dist + " " + rev + " (" + pseudoname + " " + kernel + " " + mach + ")";
- }
+ //TODO: Detect Unix, Linux etc. distro as described on
+ // http://www.novell.com/coolsolutions/feature/11251.html
+ operatingSystemString = "Linux";
+ TQProcess process;
+
+ process.start("uname -s");
+ bool result = process.waitForFinished(1000);
+ TQString os = process.readAllStandardOutput().trimmed();
+
+ process.start("uname -r");
+ result = process.waitForFinished(1000);
+ TQString rev = process.readAllStandardOutput().trimmed();
+
+ process.start("uname -m");
+ result = process.waitForFinished(1000);
+ TQString mach = process.readAllStandardOutput().trimmed();
+
+ if (os == "SunOS")
+ {
+ os = "Solaris";
+
+ process.start("uname -p");
+ result = process.waitForFinished(1000);
+ TQString arch = process.readAllStandardOutput().trimmed();
+
+ process.start("uname -v");
+ result = process.waitForFinished(1000);
+ TQString timestamp = process.readAllStandardOutput().trimmed();
+
+ operatingSystemString = os + " " + rev + " (" + arch + " " + timestamp + ")";
+ }
+ else if (os == "AIX")
+ {
+ process.start("oslevel -r");
+ result = process.waitForFinished(1000);
+ TQString oslevel = process.readAllStandardOutput().trimmed();
+
+ operatingSystemString = os + "oslevel " + oslevel;
+ }
+ else if (os == "Linux")
+ {
+ TQString dist;
+ TQString pseudoname;
+ TQString kernel = rev;
+
+ if (TQFile::exists("/etc/redhat-release"))
+ {
+ dist = "RedHat";
+
+ process.start("sh -c \"cat /etc/redhat-release | sed s/.*\\(// | sed s/\\)//\"");
+ result = process.waitForFinished(1000);
+ pseudoname = process.readAllStandardOutput().trimmed();
+
+ process.start("sh -c \"cat /etc/redhat-release | sed s/.*release\\ // | sed s/\\ .*//\"");
+ result = process.waitForFinished(1000);
+ rev = process.readAllStandardOutput().trimmed();
+ }
+ else if (TQFile::exists("/etc/SUSE-release"))
+ {
+ process.start("sh -c \"cat /etc/SUSE-release | tr '\\n' ' '| sed s/VERSION.*//\"");
+ result = process.waitForFinished(1000);
+ dist = process.readAllStandardOutput().trimmed();
+
+ process.start("sh -c \"cat /etc/SUSE-release | tr '\\n' ' ' | sed s/.*=\\ //\"");
+ result = process.waitForFinished(1000);
+ rev = process.readAllStandardOutput().trimmed();
+ }
+ else if (TQFile::exists("/etc/mandrake-release"))
+ {
+ dist = "Mandrake";
+
+ process.start("sh -c \"cat /etc/mandrake-release | sed s/.*\\(// | sed s/\\)//\"");
+ result = process.waitForFinished(1000);
+ pseudoname = process.readAllStandardOutput().trimmed();
+
+ process.start("sh -c \"cat /etc/mandrake-release | sed s/.*release\\ // | sed s/\\ .*//\"");
+ result = process.waitForFinished(1000);
+ rev = process.readAllStandardOutput().trimmed();
+ }
+ else if (TQFile::exists("/etc/lsb-release"))
+ {
+ dist = "Ubuntu";
+
+ TQString processCall =
+ "sh -c \"cat /etc/lsb-release | tr '\\n' ' ' | sed s/.*DISTRIB_RELEASE=// | sed s/\\ .*//\"";
+ process.start(processCall);
+ result = process.waitForFinished(1000);
+ rev = process.readAllStandardOutput().trimmed();
+ TQString errorStr = process.readAllStandardError();
+
+ process.start(
+ "sh -c \"cat /etc/lsb-release | tr '\\n' ' ' | sed s/.*DISTRIB_CODENAME=// | sed s/\\ .*//\"");
+ result = process.waitForFinished(1000);
+ pseudoname = process.readAllStandardOutput().trimmed();
+ }
+ else if (TQFile::exists("/etc/debian_version"))
+ {
+ dist = "Debian";
+
+ process.start("cat /etc/debian_version");
+ result = process.waitForFinished(1000);
+ dist += process.readAllStandardOutput().trimmed();
+
+ rev = "";
+ }
+
+ if (TQFile::exists("/etc/UnitedLinux-release"))
+ {
+ process.start("sh -c \"cat /etc/UnitedLinux-release | tr '\\n' ' ' | sed s/VERSION.*//\"");
+ result = process.waitForFinished(1000);
+ dist += process.readAllStandardOutput().trimmed();
+ }
+
+ operatingSystemString = os + " " + dist + " " + rev + " (" + pseudoname + " " + kernel + " " +
+ mach + ")";
+ }
#endif
- return operatingSystemString;
+ return operatingSystemString;
}