def createTZDictionary(self): tz = TimeZoneList() zones = [ x.timeZone for x in tz.getEntries() ] zones.sort() for zone in zones: split = zone.split("/") # Human readable continent names continent_pretty_name = split[0].replace("_", " ") continent_pretty_name = continent_pretty_name # Some country names can be like Argentina/Catamarca so this fixes the splitting problem # caused by zone.split("/") # # Remove continent info and take the rest as the country name split.pop(0) country_pretty_name = " / ".join(split) # Human readable country names country_pretty_name = country_pretty_name.replace("_", " ") # Get current zone if zone == ctx.installData.timezone: self.current_zone = { "continent":continent_pretty_name, "country":country_pretty_name} # Append to dictionary if self.tz_dict.has_key(continent_pretty_name): self.tz_dict[continent_pretty_name].append([country_pretty_name, zone]) else: self.tz_dict[continent_pretty_name] = [[country_pretty_name, zone]]
def __init__(self, *args): QtGui.QWidget.__init__(self,None) self.ui = Ui_DateTimeWidget() self.ui.setupUi(self) self.timer = QTimer(self) self.fromTimeUpdater = True self.isDateChanged = False self.currentZone = "" for country,data in yali.localedata.locales.items(): if country == ctx.consts.lang: if data.has_key("timezone"): ctx.installData.timezone = data["timezone"] # fill in the timezone list zom = TimeZoneList() zoneList = [ x.timeZone for x in zom.getEntries() ] zoneList.sort() for zone in zoneList: self.prettyZoneName = "%s - %s" % (zone.split("/")[0], zone.split("/")[1]) if zone == ctx.installData.timezone: self.currentZone = self.prettyZoneName self.ui.timeZoneList.addItem(self.prettyZoneName, zone) # Select the timeZone self.index = self.ui.timeZoneList.findText(self.currentZone) self.ui.timeZoneList.setCurrentIndex(self.index) # Widget connections self.connect(self.ui.timeEdit, SIGNAL("timeChanged(QTime)"),self.timerStop) self.connect(self.ui.calendarWidget, SIGNAL("selectionChanged()"),self.dateChanged) self.connect(self.timer, SIGNAL("timeout()"),self.updateClock) self.ui.calendarWidget.setDate(QDate.currentDate()) self.timer.start(1000)