def newDateSelected(self, new_date): unique_new = new_date.year*12 + new_date.month self.date_center = new_date if self.unique_month != unique_new and self.unique_month != unique_new+1 and self.unique_month != unique_new-1: self.reload() else: self.update() goto_id = utils.getTypeControl(self, self.control_to_data, utils.CONTROL_TYPE_GOTO) self.getControl(goto_id).setLabel(str(self.date_center)) self.focus_on_selected()
def load(self): tmp_controls = [] # Build the timezone list control tmp_controls.extend(utils.builTimezoneView(self.l + self.logo_size + self.space*2, self.t + self.space, self.w - self.logo_size - self.space*2, self.h - 30 - 2*self.space,'')) # Build Ok/Cancel controls tmp_controls.extend(utils.buildOkCancelButtons(self.l+(self.w-300)/2, self.t + self.h - self.space - 30, 300, 30)) # Add all controls to screen utils.addControls(self, tmp_controls, self.control_to_data) ctrl = self.getControl(utils.getTypeControl(self, self.control_to_data, utils.CONTROL_TYPE_TIMEZONE_LIST)) items = [] for tz in pytz.all_timezones: itm = xbmcgui.ListItem(label=tz) items.append(itm) ctrl.addItems(items)
def onControl(self, control): ctrl_data = self.control_to_data[control.getId()] if ctrl_data != None and type(ctrl_data) is utils.Data: if ctrl_data.type == utils.CONTROL_TYPE_TIMEZONE_LIST: if self.last_selected != None: self.last_selected.select(False) control.getSelectedItem().select(True) self.last_selected = control.getSelectedItem() print self.last_selected if ctrl_data.type == utils.CONTROL_TYPE_ACTION: if ctrl_data.value == utils.CONTROL_VALUE_ACTION_OK: ctrl = self.getControl(utils.getTypeControl(self, self.control_to_data, utils.CONTROL_TYPE_TIMEZONE_LIST)) if self.last_selected != None: self.selected = self.last_selected.getLabel() utils.addon.setSetting('timezone', self.selected) else: self.selected = None self.close() if ctrl_data.value == utils.CONTROL_VALUE_ACTION_CANCEL: self.selected = None self.close()