Ejemplo n.º 1
0
  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)