2 from PyQt4.QtCore import SIGNAL, Qt
3 from PyQt4.QtGui import QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QSizePolicy
5 from sface.sficonfig import config
6 from sface.screens.sfascreen import SfaScreen
8 class ConfigWidget(QWidget):
9 def __init__(self, parent):
10 QWidget.__init__(self, parent)
12 label1 = QLabel("User HRN:", self)
13 self.user = QLineEdit(config.getUser(), self)
14 self.user.setAttribute(Qt.WA_MacShowFocusRect, 0)
15 label2 = QLabel("Slice HRN:", self)
16 self.slice = QLineEdit(config.getSlice(), self)
17 self.slice.setAttribute(Qt.WA_MacShowFocusRect, 0)
18 apply = QPushButton("Apply", self)
19 apply.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
21 layout = QVBoxLayout()
22 layout.addWidget(label1)
23 layout.addWidget(self.user)
24 layout.addWidget(label2)
25 layout.addWidget(self.slice)
26 layout.addWidget(apply, 0, Qt.AlignRight)
28 self.setLayout(layout)
30 self.connect(apply, SIGNAL('clicked()'), self.apply)
33 config.setUser("%s" % self.user.text())
34 config.setSlice("%s" % self.slice.text())
36 self.parent().setStatus("<font color='green'>Configuration saved!</font>", timeout=3000)
39 class ConfigScreen(SfaScreen):
40 def __init__(self, parent):
41 SfaScreen.__init__(self, parent)
43 widget = ConfigWidget(self)
44 self.init(widget, "Configure", "Configure the PlanetLab Federation GUI")