X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fscreens%2Fconfigscreen.py;h=bed2ce7fdeb2e0968b0dcd4de7442d2504fe89f5;hp=6b8e86b8e94c9618db10ac20f7a1265c22e0d168;hb=bf6d88f9dd5b19d12b2c59c5db1cdfea48e54716;hpb=e5eb62ef022ab41be7f2eb0b3ac8723874d1601a diff --git a/sface/screens/configscreen.py b/sface/screens/configscreen.py index 6b8e86b..bed2ce7 100644 --- a/sface/screens/configscreen.py +++ b/sface/screens/configscreen.py @@ -1,8 +1,8 @@ -from PyQt4.QtCore import SIGNAL, Qt -from PyQt4.QtGui import QWidget, QLabel, QLineEdit, QPushButton, QCheckBox, QVBoxLayout, QSizePolicy +from PyQt4.QtCore import * +from PyQt4.QtGui import * -from sface.sficonfig import config +from sface.config import config from sface.screens.sfascreen import SfaScreen class ConfigWidget(QWidget): @@ -17,20 +17,24 @@ class ConfigWidget(QWidget): default=config.field_default(field) if isinstance(default,bool): edit=QCheckBox(msg) - edit.setCheckState(config.get(field)) + if config.is_true(config.get(field)): + edit.setCheckState(Qt.Checked) else: edit=QLineEdit(config.get(field), self) edit.setAttribute(Qt.WA_MacShowFocusRect, 0) setattr(self,field,edit) layout.addWidget (edit) + hlayout = QHBoxLayout() + hlayout.addStretch() for (action,label) in [('apply','Apply'), - ('save','Apply & Save')]: + ('save','Apply && Save')]: button=QPushButton(label, self) button.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) - layout.addWidget(button, 0, Qt.AlignRight) - layout.addStretch() + hlayout.addWidget(button, 0, Qt.AlignRight) + hlayout.addSpacing(10) self.connect(button, SIGNAL('clicked()'), getattr(self,action)) + layout.addLayout(hlayout) self.setLayout(layout) @@ -38,17 +42,20 @@ class ConfigWidget(QWidget): for field in config.fields(): widget=getattr(self,field) if isinstance(widget,QCheckBox): - config.set(field,widget.checkState()) + if widget.checkState() == Qt.Checked: + config.set(field, True) + else: + config.set(field, False) else: - config.set(field,str(widget.text())) - self.parent().setStatus("Settings loaded for current session",timeout=5000) + config.set(field, str(widget.text())) + + self.parent().setStatus("Settings loaded for current session", timeout=5000) config.display("after apply") def save(self): self.apply() config.save_config() - self.parent().setStatus("Configuration saved!", timeout=3000) - + self.parent().setStatus("Configuration saved in %s !"%config.filename(), timeout=5000) class ConfigScreen(SfaScreen): def __init__(self, parent):