def check_user_email(parent=None): """ Check if the current user has an email address. If not, open an email request dialog. parent -- the widget to parent the dialog to """ project = Project() user = project.get_user() if user.get_email() == "": dialog = RequestEmailDialog(parent) dialog.show()
def check_user_email(parent=None): """ Check if the current user has an email address. If not, open an email request dialog. parent -- the widget to parent the dialog to """ project = Project() user = project.get_user() if user.get_email()=="": dialog = RequestEmailDialog(parent) dialog.show()
class RequestEmailDialog(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self.setWindowTitle("Email") # palette = parent.palette self.setPalette(parent.palette) self.project = Project() self.username = self.project.get_current_username() self.user = self.project.get_user(self.username) self.user_fullname = self.user.get_fullname() request_str = '<span style=" font-size:12pt; font-weight:600;">Please input your email address</span>' info_str = "username: "******"\nfull name: " + self.user_fullname self.request_label = QtGui.QLabel(request_str) self.info_label = QtGui.QLabel(info_str) input_str = "email:" self.input_label = QtGui.QLabel(input_str) self.input = QtGui.QLineEdit() self.input.textChanged.connect(self._check_valid) self.accept_button = QtGui.QPushButton("OK") self.accept_button.setEnabled(False) self.accept_button.clicked.connect(self._store_email) self.layout = QtGui.QVBoxLayout(self) self.layout.addWidget(self.request_label) self.layout.addWidget(self.info_label) self.input_layout = QtGui.QHBoxLayout() self.input_layout.addWidget(self.input_label) self.input_layout.addWidget(self.input) self.layout.addLayout(self.input_layout) self.layout.addWidget(self.accept_button) def _check_valid(self, text): if re.match(r"[^@]+@[^@]+\.[^@]+", text): # check for valid email address self.accept_button.setEnabled(True) else: self.accept_button.setEnabled(False) def _store_email(self): self.user.update_email(str(self.input.text())) self.done(0)
class RequestEmailDialog(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self.setWindowTitle("Email") # palette = parent.palette self.setPalette(parent.palette) self.project = Project() self.username = self.project.get_current_username() self.user = self.project.get_user(self.username) self.user_fullname = self.user.get_fullname() request_str = '<span style=" font-size:12pt; font-weight:600;">Please input your email address</span>' info_str = "username: "******"\nfull name: "+self.user_fullname self.request_label = QtGui.QLabel(request_str) self.info_label = QtGui.QLabel(info_str) input_str = "email:" self.input_label = QtGui.QLabel(input_str) self.input = QtGui.QLineEdit() self.input.textChanged.connect(self._check_valid) self.accept_button = QtGui.QPushButton("OK") self.accept_button.setEnabled(False) self.accept_button.clicked.connect(self._store_email) self.layout = QtGui.QVBoxLayout(self) self.layout.addWidget(self.request_label) self.layout.addWidget(self.info_label) self.input_layout = QtGui.QHBoxLayout() self.input_layout.addWidget(self.input_label) self.input_layout.addWidget(self.input) self.layout.addLayout(self.input_layout) self.layout.addWidget(self.accept_button) def _check_valid(self, text): if re.match(r"[^@]+@[^@]+\.[^@]+", text): # check for valid email address self.accept_button.setEnabled(True) else: self.accept_button.setEnabled(False) def _store_email(self): self.user.update_email(str(self.input.text())) self.done(0)