7cb3ef7603e25b0aa38ad381d009b814d0276a4b
[sface.git] / sface / screens / configscreen.py
1
2 from PyQt4.QtCore import SIGNAL, Qt
3 from PyQt4.QtGui import QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QSizePolicy
4
5 from sface.sficonfig import config
6 from sface.screens.sfascreen import SfaScreen
7
8 class ConfigWidget(QWidget):
9     def __init__(self, parent=None):
10         QWidget.__init__(self, parent)
11
12         label1 = QLabel("User HRN:", self)
13         self.user = QLineEdit(config.getUser(), self)
14         label2 = QLabel("Slice HRN:", self)
15         self.slice = QLineEdit(config.getSlice(), self)
16         apply = QPushButton("Apply", self)
17         apply.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
18         
19         layout = QVBoxLayout()
20         layout.addWidget(label1)
21         layout.addWidget(self.user)
22         layout.addWidget(label2)
23         layout.addWidget(self.slice)
24         layout.addWidget(apply, 0, Qt.AlignRight)
25         layout.addStretch()
26         self.setLayout(layout)
27
28         self.connect(apply, SIGNAL('clicked()'), self.apply)
29
30     def apply(self):
31         config.setUser("%s" % self.user.text())
32         config.setSlice("%s" % self.slice.text())
33         config.save_config()
34         
35
36 class ConfigScreen(SfaScreen):
37     def __init__(self, parent=None):
38         SfaScreen.__init__(self, parent)
39         
40         widget = ConfigWidget(self)
41         self.init(widget, "Configure", "Configure the PlanetLab Federation GUI")