def setupDialog(self, event): dlg=SetupDialog(self) dlg.setData(( self.server_ip, self.server_socket, self.load_row_count, self.alias_dict, self.bg_color, self.oc_color, self.fg_color)) if dlg.ShowModal()!=wx.ID_OK: dlg.Destroy() return data=dlg.getData() dlg.Destroy() server_ip, server_socket, load_row_count, alias_dict, bg_color, oc_color, fg_color=data reload_list_ctrl=restart_client=oc_color_changed=False if server_ip!=self.server_ip or server_socket!=self.server_socket: restart_client=True # IP-Adresse oder Socket vom Server geändert if load_row_count!=self.load_row_count or self.aliasDictCompare(alias_dict, self.alias_dict)!=True: reload_list_ctrl=True # Inhaltsverändernde Parameter für self.list_ctrl wurden geändert if oc_color!=self.oc_color: oc_color_changed=True # die Hintergrundfarbe für offene Verbindungen wurde geändert oc_color_merk=self.oc_color self.server_ip, self.server_socket, self.load_row_count, self.alias_dict, self.bg_color, self.oc_color, self.fg_color=data cfgfl=CfgFile() cfgfl.setSetupData(data) self.list_ctrl.SetBackgroundColour(self.bg_color) self.list_ctrl.SetTextColour(self.fg_color) self.alias_dict_fixed=self.fixAreaCode(self.alias_dict) if restart_client==True: wx.MessageBox("Der CallMonClient muss neu gestartet werden!", "Info", wx.OK|wx.ICON_INFORMATION) sys.exit() if reload_list_ctrl==True: self.fillListCtrl() # geänderte Aliasse oder Satzanzahl im ListCtrl korrigieren else: # wenn nicht ohnehin neu geladen wird if oc_color_changed==True: # und die Hintergrundfarbe für offene Verbindungen geändert wurde for i in range(self.list_ctrl.GetItemCount()): # über alle Sätze im list_ctrl if self.list_ctrl.GetItemBackgroundColour(i).GetAsString(wx.C2S_HTML_SYNTAX)==oc_color_merk: # Satz steht auf der alten Hintergrundfarbe für offene Verbindungen item=self.list_ctrl.GetItem(i) item.SetBackgroundColour(self.oc_color) # Farbe neu setzen self.list_ctrl.SetItem(item)