X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=sface%2Fscreens%2Fconfigscreen.py;h=bed2ce7fdeb2e0968b0dcd4de7442d2504fe89f5;hb=ea028163f9ab1801b4b719a178184047531da5c1;hp=6b8e86b8e94c9618db10ac20f7a1265c22e0d168;hpb=e5eb62ef022ab41be7f2eb0b3ac8723874d1601a;p=sface.git
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):