from PyQt4.QtCore import SIGNAL, Qt from PyQt4.QtGui import QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QSizePolicy from sface.sficonfig import config from sface.screens.sfascreen import SfaScreen class ConfigWidget(QWidget): def __init__(self, parent): QWidget.__init__(self, parent) label1 = QLabel("User HRN:", self) self.user = QLineEdit(config.getUser(), self) self.user.setAttribute(Qt.WA_MacShowFocusRect, 0) label2 = QLabel("Slice HRN:", self) self.slice = QLineEdit(config.getSlice(), self) self.slice.setAttribute(Qt.WA_MacShowFocusRect, 0) apply = QPushButton("Apply", self) apply.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) layout = QVBoxLayout() layout.addWidget(label1) layout.addWidget(self.user) layout.addWidget(label2) layout.addWidget(self.slice) layout.addWidget(apply, 0, Qt.AlignRight) layout.addStretch() self.setLayout(layout) self.connect(apply, SIGNAL('clicked()'), self.apply) def apply(self): config.setUser("%s" % self.user.text()) config.setSlice("%s" % self.slice.text()) config.save_config() self.parent().setStatus("Configuration saved!") class ConfigScreen(SfaScreen): def __init__(self, parent): SfaScreen.__init__(self, parent) widget = ConfigWidget(self) self.init(widget, "Configure", "Configure the PlanetLab Federation GUI")