diff options
| author | 2007-03-12 15:11:23 +0000 | |
|---|---|---|
| committer | 2007-03-12 15:11:23 +0000 | |
| commit | 35520ab8bc6149ecabdec7c593b5b77931648b28 (patch) | |
| tree | 200858a26a37d2ad04a28e147357a214ce992ecd /src | |
| parent | Better os version detection on vista and later windozes (diff) | |
| download | KVIrc-35520ab8bc6149ecabdec7c593b5b77931648b28.tar.gz KVIrc-35520ab8bc6149ecabdec7c593b5b77931648b28.tar.bz2 KVIrc-35520ab8bc6149ecabdec7c593b5b77931648b28.zip | |
resources file info for win32
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@422 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvilib/ext/kvi_osinfo.cpp | 814 | ||||
| -rw-r--r-- | src/kvilib/kvilib_vc05.vcproj | 8 | ||||
| -rw-r--r-- | src/kvirc/kvirc_vc05.vcproj | 8 | ||||
| -rw-r--r-- | src/modules/dcc/dialogs.cpp | 3 | ||||
| -rw-r--r-- | src/modules/mediaplayer/winamp_vc05.vcproj | 12 |
5 files changed, 438 insertions, 407 deletions
diff --git a/src/kvilib/ext/kvi_osinfo.cpp b/src/kvilib/ext/kvi_osinfo.cpp index cc499800a..6753bb67b 100644 --- a/src/kvilib/ext/kvi_osinfo.cpp +++ b/src/kvilib/ext/kvi_osinfo.cpp @@ -1,56 +1,56 @@ -/////////////////////////////////////////////////////////////////////////////// -// -// File : kvi_osinfo.cpp -// Creation date : 19 Jan 2006 GMT by Alexey Uzhva -// -// This toolbar is part of the KVirc irc client distribution -// Copyright (C) 2006 Alexey Uzhva -// -// This program is FREE software. You can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your opinion) any later version. -// -// This program is distributed in the HOPE that it will be USEFUL, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, write to the Free Software Foundation, -// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// -/////////////////////////////////////////////////////////////////////////////// - -#define __KVILIB__ - -#include "kvi_osinfo.h" -#include "kvi_locale.h" -#include "kvi_qstring.h" - -#ifndef COMPILE_ON_WINDOWS - #include <sys/utsname.h> - #include <stdlib.h> - #include <unistd.h> -#endif - -#ifdef COMPILE_ON_WINDOWS -#include <windows.h> - -typedef enum QueryInfo -{ - Os_Release, - Os_Version, - Os_Type -}; -typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); -typedef BOOL (WINAPI *PGETPRODUCTINFO)(DWORD,DWORD,DWORD,DWORD,PDWORD); - -#define SM_SERVERR2 89 -#define BUFSIZE 1024 - -//Vista :/ - +///////////////////////////////////////////////////////////////////////////////
+//
+// File : kvi_osinfo.cpp
+// Creation date : 19 Jan 2006 GMT by Alexey Uzhva
+//
+// This toolbar is part of the KVirc irc client distribution
+// Copyright (C) 2006 Alexey Uzhva
+//
+// This program is FREE software. You can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your opinion) any later version.
+//
+// This program is distributed in the HOPE that it will be USEFUL,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, write to the Free Software Foundation,
+// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#define __KVILIB__
+
+#include "kvi_osinfo.h"
+#include "kvi_locale.h"
+#include "kvi_qstring.h"
+
+#ifndef COMPILE_ON_WINDOWS
+ #include <sys/utsname.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+#endif
+
+#ifdef COMPILE_ON_WINDOWS
+#include <windows.h>
+
+typedef enum QueryInfo
+{
+ Os_Release,
+ Os_Version,
+ Os_Type
+};
+typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
+typedef BOOL (WINAPI *PGETPRODUCTINFO)(DWORD,DWORD,DWORD,DWORD,PDWORD);
+
+#define SM_SERVERR2 89
+#define BUFSIZE 1024
+
+//Vista :/
+
#define PRODUCT_BUSINESS 0x00000006
#define PRODUCT_BUSINESS_N 0x00000010
#define PRODUCT_CLUSTER_SERVER 0x00000012
@@ -76,89 +76,89 @@ typedef BOOL (WINAPI *PGETPRODUCTINFO)(DWORD,DWORD,DWORD,DWORD,PDWORD); #define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016
#define PRODUCT_UNDEFINED 0x00000000
#define PRODUCT_ULTIMATE 0x00000001
-#define PRODUCT_WEB_SERVER 0x00000011 - -static QString queryWinInfo( QueryInfo info) -{ - QString szVersion; - OSVERSIONINFOEX osvi; - SYSTEM_INFO si; - PGNSI pGNSI; - BOOL bOsVersionInfoEx; - - ZeroMemory(&si, sizeof(SYSTEM_INFO)); - ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); - - // Try calling GetVersionEx using the OSVERSIONINFOEX structure. - // If that fails, try using the OSVERSIONINFO structure. - - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - - if( !(bOsVersionInfoEx = GetVersionEx ((OSVERSIONINFO *) &osvi)) ) - { - osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); - if (! GetVersionEx ( (OSVERSIONINFO *) &osvi) ) - return FALSE; - } - - // Call GetNativeSystemInfo if supported or GetSystemInfo otherwise. - - pGNSI = (PGNSI) GetProcAddress( - GetModuleHandle(TEXT("kernel32.dll")), - "GetNativeSystemInfo"); - if(NULL != pGNSI) - pGNSI(&si); - else GetSystemInfo(&si); - - switch (osvi.dwPlatformId) - { - // Test for the Windows NT product family. - - case VER_PLATFORM_WIN32_NT: - - // Test for the specific product. - - if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0 ) - { - if( osvi.wProductType == VER_NT_WORKSTATION ) - szVersion+= "Windows Vista "; - else szVersion+="Windows Server \"Longhorn\" "; - } - - if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2 ) - { - if( GetSystemMetrics(SM_SERVERR2) ) - szVersion+="Windows Server 2003 \"R2\" "; - else if( osvi.wProductType == VER_NT_WORKSTATION && - si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64) - { - szVersion+="Windows XP Professional x64 Edition "; - } - else szVersion+="Windows Server 2003, "; - } - - if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 ) - szVersion+="Windows XP "; - - if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0 ) - szVersion+="Windows 2000 "; - - if ( osvi.dwMajorVersion <= 4 ) - szVersion+="Windows NT "; - - PGETPRODUCTINFO pGetProductInfo; - pGetProductInfo = (PGETPRODUCTINFO) GetProcAddress( - GetModuleHandle(TEXT("kernel32.dll")), "GetProductInfo"); - // Test for specific product on Windows NT 4.0 SP6 and later. - if( bOsVersionInfoEx ) - { - DWORD dwPlatformInfo; - if(NULL != pGetProductInfo) - if(pGetProductInfo(osvi.dwMajorVersion,osvi.dwMinorVersion, - osvi.wServicePackMajor,osvi.wServicePackMinor,&dwPlatformInfo)) - { - switch(dwPlatformInfo) - { +#define PRODUCT_WEB_SERVER 0x00000011
+
+static QString queryWinInfo( QueryInfo info)
+{
+ QString szVersion;
+ OSVERSIONINFOEX osvi;
+ SYSTEM_INFO si;
+ PGNSI pGNSI;
+ BOOL bOsVersionInfoEx;
+
+ ZeroMemory(&si, sizeof(SYSTEM_INFO));
+ ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
+
+ // Try calling GetVersionEx using the OSVERSIONINFOEX structure.
+ // If that fails, try using the OSVERSIONINFO structure.
+
+ osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
+
+ if( !(bOsVersionInfoEx = GetVersionEx ((OSVERSIONINFO *) &osvi)) )
+ {
+ osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
+ if (! GetVersionEx ( (OSVERSIONINFO *) &osvi) )
+ return FALSE;
+ }
+
+ // Call GetNativeSystemInfo if supported or GetSystemInfo otherwise.
+
+ pGNSI = (PGNSI) GetProcAddress(
+ GetModuleHandle(TEXT("kernel32.dll")),
+ "GetNativeSystemInfo");
+ if(NULL != pGNSI)
+ pGNSI(&si);
+ else GetSystemInfo(&si);
+
+ switch (osvi.dwPlatformId)
+ {
+ // Test for the Windows NT product family.
+
+ case VER_PLATFORM_WIN32_NT:
+
+ // Test for the specific product.
+
+ if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0 )
+ {
+ if( osvi.wProductType == VER_NT_WORKSTATION )
+ szVersion+= "Windows Vista ";
+ else szVersion+="Windows Server \"Longhorn\" ";
+ }
+
+ if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2 )
+ {
+ if( GetSystemMetrics(SM_SERVERR2) )
+ szVersion+="Windows Server 2003 \"R2\" ";
+ else if( osvi.wProductType == VER_NT_WORKSTATION &&
+ si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64)
+ {
+ szVersion+="Windows XP Professional x64 Edition ";
+ }
+ else szVersion+="Windows Server 2003, ";
+ }
+
+ if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 )
+ szVersion+="Windows XP ";
+
+ if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0 )
+ szVersion+="Windows 2000 ";
+
+ if ( osvi.dwMajorVersion <= 4 )
+ szVersion+="Windows NT ";
+
+ PGETPRODUCTINFO pGetProductInfo;
+ pGetProductInfo = (PGETPRODUCTINFO) GetProcAddress(
+ GetModuleHandle(TEXT("kernel32.dll")), "GetProductInfo");
+ // Test for specific product on Windows NT 4.0 SP6 and later.
+ if( bOsVersionInfoEx )
+ {
+ DWORD dwPlatformInfo;
+ if(NULL != pGetProductInfo)
+ if(pGetProductInfo(osvi.dwMajorVersion,osvi.dwMinorVersion,
+ osvi.wServicePackMajor,osvi.wServicePackMinor,&dwPlatformInfo))
+ {
+ switch(dwPlatformInfo)
+ {
case PRODUCT_BUSINESS:
szVersion+="Business Edition";
break;
@@ -237,274 +237,274 @@ static QString queryWinInfo( QueryInfo info) case PRODUCT_WEB_SERVER:
szVersion+="Web Server Edition";
break;
- - } - szVersion+=" "; - if (si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64) - { - szVersion+="(x64) "; - } - } else { - // Test for the workstation type. - if ( osvi.wProductType == VER_NT_WORKSTATION && - si.wProcessorArchitecture!=PROCESSOR_ARCHITECTURE_AMD64) - { - if( osvi.dwMajorVersion == 4 ) - szVersion+= "Workstation 4.0 " ; - else if( osvi.wSuiteMask & VER_SUITE_PERSONAL ) - szVersion+= "Home Edition " ; - else szVersion+= "Professional " ; - } - - // Test for the server type. - else if ( osvi.wProductType == VER_NT_SERVER || - osvi.wProductType == VER_NT_DOMAIN_CONTROLLER ) - { - if(osvi.dwMajorVersion==5 && osvi.dwMinorVersion==2) - { - if ( si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_IA64 ) - { - if( osvi.wSuiteMask & VER_SUITE_DATACENTER ) - szVersion+= "Datacenter Edition for Itanium-based Systems" ; - else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE ) - szVersion+= "Enterprise Edition for Itanium-based Systems" ; - } - - else if ( si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64 ) - { - if( osvi.wSuiteMask & VER_SUITE_DATACENTER ) - szVersion+= "Datacenter x64 Edition " ; - else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE ) - szVersion+= "Enterprise x64 Edition " ; - else szVersion+= "Standard x64 Edition " ; - } - - else - { - if( osvi.wSuiteMask & VER_SUITE_DATACENTER ) - szVersion+= "Datacenter Edition " ; - else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE ) - szVersion+= "Enterprise Edition " ; - else if ( osvi.wSuiteMask == VER_SUITE_BLADE ) - szVersion+= "Web Edition " ; - else szVersion+= "Standard Edition " ; - } - } - else if(osvi.dwMajorVersion==5 && osvi.dwMinorVersion==0) - { - if( osvi.wSuiteMask & VER_SUITE_DATACENTER ) - szVersion+= "Datacenter Server " ; - else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE ) - szVersion+= "Advanced Server " ; - else szVersion+= "Server " ; - } - else // Windows NT 4.0 - { - if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE ) - szVersion+="Server 4.0, Enterprise Edition " ; - else szVersion+= "Server 4.0 " ; - } - } - } - } - // Test for specific product on Windows NT 4.0 SP5 and earlier - else - { - HKEY hKey; - TCHAR szProductType[BUFSIZE]; - DWORD dwBufLen=BUFSIZE*sizeof(TCHAR); - LONG lRet; - - lRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE, - TEXT("SYSTEM\\CurrentControlSet\\Control\\ProductOptions"), - 0, KEY_QUERY_VALUE, &hKey ); - if( lRet != ERROR_SUCCESS ) - return FALSE; - - lRet = RegQueryValueEx( hKey, TEXT("ProductType"), NULL, NULL, - (LPBYTE) szProductType, &dwBufLen); - RegCloseKey( hKey ); - - if( (lRet != ERROR_SUCCESS) || (dwBufLen > BUFSIZE*sizeof(TCHAR)) ) - return FALSE; - - if ( lstrcmpi( TEXT("WINNT"), szProductType) == 0 ) - szVersion+= "Workstation " ; - if ( lstrcmpi( TEXT("LANMANNT"), szProductType) == 0 ) - szVersion+= "Server " ; - if ( lstrcmpi( TEXT("SERVERNT"), szProductType) == 0 ) - szVersion+= "Advanced Server " ; - } - - - // Display service pack (if any) and build number. - - if( osvi.dwMajorVersion == 4 && - lstrcmpi( osvi.szCSDVersion, TEXT("Service Pack 6") ) == 0 ) - { - HKEY hKey; - LONG lRet; - - // Test for SP6 versus SP6a. - lRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE, - TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Hotfix\\Q246009"), - 0, KEY_QUERY_VALUE, &hKey ); - if( lRet == ERROR_SUCCESS ) - szVersion+= QString("Service Pack 6a (Build %1)").arg( osvi.dwBuildNumber & 0xFFFF ); - else // Windows NT 4.0 prior to SP6a - { - szVersion+= QString( "%1 (Build %2)").arg( osvi.szCSDVersion).arg( osvi.dwBuildNumber & 0xFFFF); - } - - RegCloseKey( hKey ); - } - else // not Windows NT 4.0 - { - szVersion+= QString( "%1 (Build %2)").arg( osvi.szCSDVersion).arg( osvi.dwBuildNumber & 0xFFFF); - } - - break; - - // Test for the Windows Me/98/95. - case VER_PLATFORM_WIN32_WINDOWS: - - if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0) - { - szVersion+="Windows 95 "; - if (osvi.szCSDVersion[1]=='C' || osvi.szCSDVersion[1]=='B') - szVersion+="OSR2 "; - } - - if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10) - { - szVersion+="Windows 98 "; - if ( osvi.szCSDVersion[1]=='A' || osvi.szCSDVersion[1]=='B') - szVersion+="SE "; - } - - if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90) - { - szVersion+="Windows Millennium Edition"; - } - break; - - case VER_PLATFORM_WIN32s: - - szVersion+="Win32s"; - break; - } - if(info==Os_Release) - { - unsigned long major = osvi.dwMajorVersion; - unsigned long minor = osvi.dwMinorVersion; - unsigned long release = osvi.dwBuildNumber; - QString szMajor, szMinor, szRelease, szVersion; - szMajor.setNum(major); - szMinor.setNum(minor); - szRelease.setNum(release); - szVersion = "Release : "+szMajor +"."+ szMinor +"."+ szRelease; - return szVersion; - } - if(info==Os_Type) - { - if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) return " NT "; - if(osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) return " Windows "; - if(osvi.dwPlatformId == VER_PLATFORM_WIN32s) return " Win32s "; - return __tr2qs("Unknown "); - } - if(info==Os_Version) - { - return szVersion; - } - - return "what's wrong? o.O"; -} -#endif - - -namespace KviOsInfo -{ - QString type() - { -#ifdef COMPILE_ON_WINDOWS - return queryWinInfo(Os_Type); -#else - #ifdef Q_OS_MACX - return "macosx"; - #else - return "unix"; - #endif -#endif - } - - QString name() - { -#ifdef COMPILE_ON_WINDOWS - return "windows"; -#else - struct utsname uts; - if(uname(&uts) == 0) - return QString::fromLocal8Bit(uts.sysname); - return KviQString::empty; -#endif - } - - QString version() - { -#ifdef COMPILE_ON_WINDOWS - return queryWinInfo(Os_Version); -#else - struct utsname uts; - if(uname(&uts) == 0) - return QString::fromLocal8Bit(uts.version); - return KviQString::empty; -#endif - } - - QString release() - { -#ifdef COMPILE_ON_WINDOWS - return queryWinInfo(Os_Release); -#else - struct utsname uts; - if(uname(&uts) == 0) - return QString::fromLocal8Bit(uts.release); - return KviQString::empty; -#endif - } - - QString machine() - { -#ifdef COMPILE_ON_WINDOWS - QString mach = getenv("PROCESSOR_IDENTIFIER"); - return mach.section(",",0,0); -#else - struct utsname uts; - if(uname(&uts) == 0) - return QString::fromLocal8Bit(uts.machine); - return KviQString::empty; -#endif - } - - QString nodename() - { -#ifdef COMPILE_ON_WINDOWS - return "windows"; -#else - struct utsname uts; - if(uname(&uts) == 0) - return QString::fromLocal8Bit(uts.nodename); - return KviQString::empty; -#endif - } - - QString hostname() - { - char hbuffer[1024]; - if(gethostname(hbuffer,1024) == 0) - return QString::fromLocal8Bit(hbuffer); - else - return KviQString::empty; - } -} - +
+ }
+ szVersion+=" ";
+ if (si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64)
+ {
+ szVersion+="(x64) ";
+ }
+ } else {
+ // Test for the workstation type.
+ if ( osvi.wProductType == VER_NT_WORKSTATION &&
+ si.wProcessorArchitecture!=PROCESSOR_ARCHITECTURE_AMD64)
+ {
+ if( osvi.dwMajorVersion == 4 )
+ szVersion+= "Workstation 4.0 " ;
+ else if( osvi.wSuiteMask & VER_SUITE_PERSONAL )
+ szVersion+= "Home Edition " ;
+ else szVersion+= "Professional " ;
+ }
+
+ // Test for the server type.
+ else if ( osvi.wProductType == VER_NT_SERVER ||
+ osvi.wProductType == VER_NT_DOMAIN_CONTROLLER )
+ {
+ if(osvi.dwMajorVersion==5 && osvi.dwMinorVersion==2)
+ {
+ if ( si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_IA64 )
+ {
+ if( osvi.wSuiteMask & VER_SUITE_DATACENTER )
+ szVersion+= "Datacenter Edition for Itanium-based Systems" ;
+ else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
+ szVersion+= "Enterprise Edition for Itanium-based Systems" ;
+ }
+
+ else if ( si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64 )
+ {
+ if( osvi.wSuiteMask & VER_SUITE_DATACENTER )
+ szVersion+= "Datacenter x64 Edition " ;
+ else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
+ szVersion+= "Enterprise x64 Edition " ;
+ else szVersion+= "Standard x64 Edition " ;
+ }
+
+ else
+ {
+ if( osvi.wSuiteMask & VER_SUITE_DATACENTER )
+ szVersion+= "Datacenter Edition " ;
+ else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
+ szVersion+= "Enterprise Edition " ;
+ else if ( osvi.wSuiteMask == VER_SUITE_BLADE )
+ szVersion+= "Web Edition " ;
+ else szVersion+= "Standard Edition " ;
+ }
+ }
+ else if(osvi.dwMajorVersion==5 && osvi.dwMinorVersion==0)
+ {
+ if( osvi.wSuiteMask & VER_SUITE_DATACENTER )
+ szVersion+= "Datacenter Server " ;
+ else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
+ szVersion+= "Advanced Server " ;
+ else szVersion+= "Server " ;
+ }
+ else // Windows NT 4.0
+ {
+ if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
+ szVersion+="Server 4.0, Enterprise Edition " ;
+ else szVersion+= "Server 4.0 " ;
+ }
+ }
+ }
+ }
+ // Test for specific product on Windows NT 4.0 SP5 and earlier
+ else
+ {
+ HKEY hKey;
+ TCHAR szProductType[BUFSIZE];
+ DWORD dwBufLen=BUFSIZE*sizeof(TCHAR);
+ LONG lRet;
+
+ lRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
+ TEXT("SYSTEM\\CurrentControlSet\\Control\\ProductOptions"),
+ 0, KEY_QUERY_VALUE, &hKey );
+ if( lRet != ERROR_SUCCESS )
+ return FALSE;
+
+ lRet = RegQueryValueEx( hKey, TEXT("ProductType"), NULL, NULL,
+ (LPBYTE) szProductType, &dwBufLen);
+ RegCloseKey( hKey );
+
+ if( (lRet != ERROR_SUCCESS) || (dwBufLen > BUFSIZE*sizeof(TCHAR)) )
+ return FALSE;
+
+ if ( lstrcmpi( TEXT("WINNT"), szProductType) == 0 )
+ szVersion+= "Workstation " ;
+ if ( lstrcmpi( TEXT("LANMANNT"), szProductType) == 0 )
+ szVersion+= "Server " ;
+ if ( lstrcmpi( TEXT("SERVERNT"), szProductType) == 0 )
+ szVersion+= "Advanced Server " ;
+ }
+
+
+ // Display service pack (if any) and build number.
+
+ if( osvi.dwMajorVersion == 4 &&
+ lstrcmpi( osvi.szCSDVersion, TEXT("Service Pack 6") ) == 0 )
+ {
+ HKEY hKey;
+ LONG lRet;
+
+ // Test for SP6 versus SP6a.
+ lRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
+ TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Hotfix\\Q246009"),
+ 0, KEY_QUERY_VALUE, &hKey );
+ if( lRet == ERROR_SUCCESS )
+ szVersion+= QString("Service Pack 6a (Build %1)").arg( osvi.dwBuildNumber & 0xFFFF );
+ else // Windows NT 4.0 prior to SP6a
+ {
+ szVersion+= QString( "%1 (Build %2)").arg( osvi.szCSDVersion).arg( osvi.dwBuildNumber & 0xFFFF);
+ }
+
+ RegCloseKey( hKey );
+ }
+ else // not Windows NT 4.0
+ {
+ szVersion+= QString( "%1 (Build %2)").arg( osvi.szCSDVersion).arg( osvi.dwBuildNumber & 0xFFFF);
+ }
+
+ break;
+
+ // Test for the Windows Me/98/95.
+ case VER_PLATFORM_WIN32_WINDOWS:
+
+ if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0)
+ {
+ szVersion+="Windows 95 ";
+ if (osvi.szCSDVersion[1]=='C' || osvi.szCSDVersion[1]=='B')
+ szVersion+="OSR2 ";
+ }
+
+ if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10)
+ {
+ szVersion+="Windows 98 ";
+ if ( osvi.szCSDVersion[1]=='A' || osvi.szCSDVersion[1]=='B')
+ szVersion+="SE ";
+ }
+
+ if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90)
+ {
+ szVersion+="Windows Millennium Edition";
+ }
+ break;
+
+ case VER_PLATFORM_WIN32s:
+
+ szVersion+="Win32s";
+ break;
+ }
+ if(info==Os_Release)
+ {
+ unsigned long major = osvi.dwMajorVersion;
+ unsigned long minor = osvi.dwMinorVersion;
+ unsigned long release = osvi.dwBuildNumber;
+ QString szMajor, szMinor, szRelease, szVersion;
+ szMajor.setNum(major);
+ szMinor.setNum(minor);
+ szRelease.setNum(release);
+ szVersion = "Release : "+szMajor +"."+ szMinor +"."+ szRelease;
+ return szVersion;
+ }
+ if(info==Os_Type)
+ {
+ if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) return " NT ";
+ if(osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) return " Windows ";
+ if(osvi.dwPlatformId == VER_PLATFORM_WIN32s) return " Win32s ";
+ return __tr2qs("Unknown ");
+ }
+ if(info==Os_Version)
+ {
+ return szVersion;
+ }
+
+ return "what's wrong? o.O";
+}
+#endif
+
+
+namespace KviOsInfo
+{
+ QString type()
+ {
+#ifdef COMPILE_ON_WINDOWS
+ return queryWinInfo(Os_Type);
+#else
+ #ifdef Q_OS_MACX
+ return "macosx";
+ #else
+ return "unix";
+ #endif
+#endif
+ }
+
+ QString name()
+ {
+#ifdef COMPILE_ON_WINDOWS
+ return "windows";
+#else
+ struct utsname uts;
+ if(uname(&uts) == 0)
+ return QString::fromLocal8Bit(uts.sysname);
+ return KviQString::empty;
+#endif
+ }
+
+ QString version()
+ {
+#ifdef COMPILE_ON_WINDOWS
+ return queryWinInfo(Os_Version);
+#else
+ struct utsname uts;
+ if(uname(&uts) == 0)
+ return QString::fromLocal8Bit(uts.version);
+ return KviQString::empty;
+#endif
+ }
+
+ QString release()
+ {
+#ifdef COMPILE_ON_WINDOWS
+ return queryWinInfo(Os_Release);
+#else
+ struct utsname uts;
+ if(uname(&uts) == 0)
+ return QString::fromLocal8Bit(uts.release);
+ return KviQString::empty;
+#endif
+ }
+
+ QString machine()
+ {
+#ifdef COMPILE_ON_WINDOWS
+ QString mach = getenv("PROCESSOR_IDENTIFIER");
+ return mach.section(",",0,0);
+#else
+ struct utsname uts;
+ if(uname(&uts) == 0)
+ return QString::fromLocal8Bit(uts.machine);
+ return KviQString::empty;
+#endif
+ }
+
+ QString nodename()
+ {
+#ifdef COMPILE_ON_WINDOWS
+ return "windows";
+#else
+ struct utsname uts;
+ if(uname(&uts) == 0)
+ return QString::fromLocal8Bit(uts.nodename);
+ return KviQString::empty;
+#endif
+ }
+
+ QString hostname()
+ {
+ char hbuffer[1024];
+ if(gethostname(hbuffer,1024) == 0)
+ return QString::fromLocal8Bit(hbuffer);
+ else
+ return KviQString::empty;
+ }
+}
+
diff --git a/src/kvilib/kvilib_vc05.vcproj b/src/kvilib/kvilib_vc05.vcproj index 6a67b5422..b636bb315 100644 --- a/src/kvilib/kvilib_vc05.vcproj +++ b/src/kvilib/kvilib_vc05.vcproj @@ -3058,11 +3058,19 @@ />
</FileConfiguration>
</File>
+ <File
+ RelativePath="..\..\data\resources\auto-generated\kvilib-resource.h"
+ >
+ </File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
+ <File
+ RelativePath="..\..\data\resources\auto-generated\kvilib.rc"
+ >
+ </File>
</Filter>
<Filter
Name="Generated MOC Files"
diff --git a/src/kvirc/kvirc_vc05.vcproj b/src/kvirc/kvirc_vc05.vcproj index c539d9b25..9dfc5a3ee 100644 --- a/src/kvirc/kvirc_vc05.vcproj +++ b/src/kvirc/kvirc_vc05.vcproj @@ -1761,6 +1761,10 @@ Filter="h;hpp;hxx;hm;inl;inc"
>
<File
+ RelativePath="..\..\data\resources\auto-generated\kvirc-auto-resource.h"
+ >
+ </File>
+ <File
RelativePath="..\..\data\resources\resource.h"
>
</File>
@@ -3968,6 +3972,10 @@ >
</File>
<File
+ RelativePath="..\..\data\resources\auto-generated\kvirc-auto.rc"
+ >
+ </File>
+ <File
RelativePath="..\..\data\resources\kvirc.rc"
>
</File>
diff --git a/src/modules/dcc/dialogs.cpp b/src/modules/dcc/dialogs.cpp index b29b21d67..639132c7d 100644 --- a/src/modules/dcc/dialogs.cpp +++ b/src/modules/dcc/dialogs.cpp @@ -69,6 +69,9 @@ KviDccAcceptBox::KviDccAcceptBox(KviDccBroker * br,KviDccDescriptor * dcc,const setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_DCCMSG))); setCaption(capt); + + l->setActiveWindow(); + l->setFocus(); } KviDccAcceptBox::~KviDccAcceptBox() diff --git a/src/modules/mediaplayer/winamp_vc05.vcproj b/src/modules/mediaplayer/winamp_vc05.vcproj index 3fb1f15f5..2ae97a0a7 100644 --- a/src/modules/mediaplayer/winamp_vc05.vcproj +++ b/src/modules/mediaplayer/winamp_vc05.vcproj @@ -207,12 +207,24 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
+ <File
+ RelativePath="..\..\..\data\resources\auto-generated\modules\resource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\data\resources\auto-generated\modules\winamp-resource.h"
+ >
+ </File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
+ <File
+ RelativePath="..\..\..\data\resources\auto-generated\modules\winamp.rc"
+ >
+ </File>
</Filter>
</Files>
<Globals>
|
