def __init__(self,config,parent=None,): QtGui.QDialog.__init__(self,parent) self.ui=Ui_DialogoConfig() self.ui.setupUi(self) self.__wgeneral=QtGui.QDialog() self.__wgeneralui=Ui_wconfig1() self.__wgeneralui.setupUi(self.__wgeneral) #VARIABLES PRIVADAS self.__cambiado=False self.__config=config self.ui.listWidget.clear() self.ui.listWidget.insertItem(0,QtCore.QString("General")) #Inicializacion de widgets #self.__wgeneral=wconfig1(self.widgetStack1,"ficheros",) self.ui.stackedWidget.addWidget(self.__wgeneral) #Seleccionar por defecto el valor 0 y poblarlo self.__mostrar_caja(1) self.__conexiones()
class DConfig(QtGui.QDialog): """Permite configurar cualquier aspecto del programa. Esta vinculado al objeto ManejadorConfig""" def __init__(self,config,parent=None,): QtGui.QDialog.__init__(self,parent) self.ui=Ui_DialogoConfig() self.ui.setupUi(self) self.__wgeneral=QtGui.QDialog() self.__wgeneralui=Ui_wconfig1() self.__wgeneralui.setupUi(self.__wgeneral) #VARIABLES PRIVADAS self.__cambiado=False self.__config=config self.ui.listWidget.clear() self.ui.listWidget.insertItem(0,QtCore.QString("General")) #Inicializacion de widgets #self.__wgeneral=wconfig1(self.widgetStack1,"ficheros",) self.ui.stackedWidget.addWidget(self.__wgeneral) #Seleccionar por defecto el valor 0 y poblarlo self.__mostrar_caja(1) self.__conexiones() #FUNCIONES PUBLICAS def accept(self): """Funcion redefinida que establece que debe hacer el dialogo cuando el usuario pulsa aceptar. Ante un cambio en los campos del dialogo, pregunta al usuario si guarda la configuración """ if not self.__cambiado: DialogoConfig.accept(self) else: self.__cambiado = False # Volvemos a ponerlo en falso codigoretorno = QMessageBox.information(self,u'Atención: Guardar', u'Ha cambiado la configuración, desea guardarla?', 'Guardarla','Cancelar','Dejarlo estar',0,1) if codigoretorno == 0: #Crear una interfaz usuario configuracion #DECISION DE DISEÑO, pendiente self.__guardar_config() DialogoConfig.accept(self) elif codigoretorno == 2: DialogoConfig.reject(self) else: self.__cambiado = True #FUNCIONES PRIVADAS def __mostrar_caja(self, numero): # El numero es el indice de la listBox """Puebla la caja donde se encuentra la seccion""" if numero == 1: self.ui.stackedWidget.setCurrentWidget(self.__wgeneral) self.__wgeneralui.lineEdit1.setText(self.__config.configuracion["tmpdir"]) self.__wgeneralui.checkBox1.setChecked(self.__config.configuracion["vsplash"]) self.__wgeneralui.spinBox1.setValue(self.__config.configuracion["decimales"]) self.__wgeneralui.spinBox2.setValue(self.__config.configuracion["nundo"]) def __conexiones(self): """Bloque de conexiones""" from PyQt4.QtCore import SIGNAL self.connect(self.__wgeneralui.lineEdit1,SIGNAL("textChanged(const QString&)"),self.__cambio) self.connect(self.__wgeneralui.checkBox1,SIGNAL("clicked()"),self.__cambio) self.connect(self.__wgeneralui.spinBox1,SIGNAL("valueChanged(int)"),self.__cambio) self.connect(self.__wgeneralui.spinBox2,SIGNAL("valueChanged(int)"),self.__cambio) def __cambio(self): """Almacena si se ha producido algun cambio""" self.__cambiado = True def __guardar_config(self): """Guarda la configuración en el objeto que la maneja""" self.__config.configuracion["tmpdir"] = str(self.__wgeneral.lineEdit1.text()) self.__config.configuracion["vsplash"] = self.__wgeneral.checkBox1.isChecked() self.__config.configuracion["decimales"] = int(self.__wgeneral.spinBox1.value()) self.__config.configuracion["nundo"] = int(self.__wgeneral.spinBox2.value()) self.__config.save()