diff --git a/client/Nickname.ui b/client/Nickname.ui
index 0122111..aefcc73 100644
--- a/client/Nickname.ui
+++ b/client/Nickname.ui
@@ -7,33 +7,14 @@
0
0
449
- 85
+ 98
Dialog
- -
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Maximum
-
-
-
- 20
- 10
-
-
-
-
- -
+
-
Qt::Horizontal
@@ -56,6 +37,36 @@
+ -
+
+
+ Type your nickname...
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Maximum
+
+
+
+ 20
+ 10
+
+
+
+
+ -
+
+
+ Please choose a nickname with 3 or more characters
+
+
+
diff --git a/client/gui.py b/client/gui.py
index 5ca03f8..5cf5c64 100644
--- a/client/gui.py
+++ b/client/gui.py
@@ -63,13 +63,14 @@ class MainWindow(QMainWindow, Ui_MainWindow):
super(MainWindow, self).__init__(*args, **kwargs)
self.setupUi(self)
self.show()
+ self.closed = False
# Get Nickname
while True:
- nicknameDialog = NicknameDialog(self)
- nicknameDialog.exec_()
- self.nickname = nicknameDialog.lineEdit.text().strip()
- if len(self.nickname) > 3:
+ self.nicknameDialog = NicknameDialog(self)
+ self.nicknameDialog.exec_()
+ self.nickname = self.nicknameDialog.lineEdit.text().strip()
+ if len(self.nickname) >= 3 or self.closed:
break
# Connect to server
@@ -92,6 +93,12 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.messages = []
+ def closeEvent(self, event):
+ if self.nicknameDialog:
+ self.closed = True
+ self.nicknameDialog.close()
+ event.accept() # let the window close
+
def eventFilter(self, obj, event):
if event.type() == QEvent.KeyPress and obj is self.messageBox:
if event.key() == Qt.Key_Return and self.messageBox.hasFocus():
diff --git a/client/nickname.py b/client/nickname.py
index ad0ebd1..27e5af5 100644
--- a/client/nickname.py
+++ b/client/nickname.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-# Form implementation generated from reading ui file '.\Nickname.ui'
+# Form implementation generated from reading ui file 'Nickname.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
#
@@ -14,21 +14,24 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_NicknameDialog(object):
def setupUi(self, NicknameDialog):
NicknameDialog.setObjectName("NicknameDialog")
- NicknameDialog.resize(449, 85)
+ NicknameDialog.resize(449, 98)
self.gridLayout = QtWidgets.QGridLayout(NicknameDialog)
self.gridLayout.setObjectName("gridLayout")
- self.lineEdit = QtWidgets.QLineEdit(NicknameDialog)
- self.lineEdit.setObjectName("lineEdit")
- self.gridLayout.addWidget(self.lineEdit, 1, 0, 1, 1)
- spacerItem = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum)
- self.gridLayout.addItem(spacerItem, 2, 0, 1, 1)
self.buttonBox = QtWidgets.QDialogButtonBox(NicknameDialog)
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
- self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 1)
- spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
- self.gridLayout.addItem(spacerItem1, 0, 0, 1, 1)
+ self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 1)
+ spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 0, 0, 1, 1)
+ self.lineEdit = QtWidgets.QLineEdit(NicknameDialog)
+ self.lineEdit.setObjectName("lineEdit")
+ self.gridLayout.addWidget(self.lineEdit, 2, 0, 1, 1)
+ spacerItem1 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum)
+ self.gridLayout.addItem(spacerItem1, 4, 0, 1, 1)
+ self.label = QtWidgets.QLabel(NicknameDialog)
+ self.label.setObjectName("label")
+ self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
self.retranslateUi(NicknameDialog)
self.buttonBox.accepted.connect(NicknameDialog.accept)
@@ -38,3 +41,5 @@ class Ui_NicknameDialog(object):
def retranslateUi(self, NicknameDialog):
_translate = QtCore.QCoreApplication.translate
NicknameDialog.setWindowTitle(_translate("NicknameDialog", "Dialog"))
+ self.lineEdit.setPlaceholderText(_translate("NicknameDialog", "Type your nickname..."))
+ self.label.setText(_translate("NicknameDialog", "Please choose a nickname with 3 or more characters"))