#include <QSettings>
#include <QStringList>
+#include <QDebug>
+
#include "tzsys.h"
using namespace TimeZoneLib;
-static QString systemDefaultDiscover_win();
+static QString systemDefaultDiscover_win()
{
//assign myself to the registry
QSettings set("HKEY_LOCAL_MACHINE",QSettings::NativeFormat);
set.beginGroup("SYSTEM/CurrentControlSet/Control/TimeZoneInformation/");
if(set.contains("TimeZoneKeyName")){
QString r=set.value("TimeZoneKeyName").toString();
+// qDebug()<<"vista thinks"<<r;
if(r!="")return r;
}
//ok, its not Vista, so we search on
set.endGroup();
//did we actually get something?
if(tzl.size()==0)return "";
+// qDebug()<<"localized"<<tzl;
//now go through all time zones and compare
set.beginGroup("SOFTWARE/Microsoft/Windows NT/CurrentVersion/Time Zones/");
QStringList keys=set.childGroups();
for(int i=0;i<keys.size();i++){
- if(set.value(keys[i]+"/Std")==tzl)
+ if(set.value(keys[i]+"/Std")==tzl){
+// qDebug()<<"XP thinks"<<keys[i];
return keys[i];
+ }
}
//nothing found
return "";
West Pacific Standard Time|Pacific/Guam\n\
Western Brazilian Standard Time|America/Rio_Branco\n\
Yakutsk|Asia/Yakutsk\n\
-Yakutsk Standard Time|Asia/Yakutsk"
+Yakutsk Standard Time|Asia/Yakutsk";
QString TimeZoneLib::systemDefaultDiscover()
{
QString win=systemDefaultDiscover_win().trimmed();
+// qDebug()<<"system"<<win;
//if none found, assume UTC+offset
if(win=="")return "";
//go through mapping
QStringList sl=tzmap.split("\n");
+// qDebug()<<"having"<<sl.size()<<"options";
for(int i=0;i<sl.size();i++){
QStringList tz=sl[i].trimmed().split("|");
if(tz.size()!=2)continue;
- if(win==tz[0].trimmed())
+ if(win==tz[0].trimmed()){
+// qDebug()<<"found one"<<tz[1];
return tz[1].trimmed();
+ }
}
//none found again
return "";