diff --git a/app/core/config.py b/app/core/config.py index aceae10..cea9efd 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -1,6 +1,7 @@ DEBUG = True BASE_URL = "https://api.yobble.org" -APP_NAME = "yobble messenger" APP_VERSION = "0.1_login_screen_windows" +APP_NAME = "yobble messenger" APP_HEADER = f"{APP_NAME}" +if DEBUG: APP_HEADER=f"{APP_HEADER} ({APP_VERSION})" UPDATE_URL = "https://ТУТ_БУДЕТ_САЙТ/releases/yobble_messenger/windows" diff --git a/app/icons/logo1.png b/app/icons/logo1.png new file mode 100644 index 0000000..2bdb8e2 Binary files /dev/null and b/app/icons/logo1.png differ diff --git a/app/icons/logo2.png b/app/icons/logo2.png new file mode 100644 index 0000000..b95e168 Binary files /dev/null and b/app/icons/logo2.png differ diff --git a/app/icons/logo3.jpg b/app/icons/logo3.jpg new file mode 100644 index 0000000..05266cd Binary files /dev/null and b/app/icons/logo3.jpg differ diff --git a/app/icons/logo3.png b/app/icons/logo3.png new file mode 100644 index 0000000..33d67c5 Binary files /dev/null and b/app/icons/logo3.png differ diff --git a/app/ui/views/login_view.py b/app/ui/views/login_view.py index 030c94a..0beb1e2 100644 --- a/app/ui/views/login_view.py +++ b/app/ui/views/login_view.py @@ -10,11 +10,12 @@ from common_lib.utils.validators import ( ) from app.core.localizer import localizer from app.core.theme import theme_manager +import app.core.config as config def validate_username(username, is_login=False): if is_login: if len(username) < 3 or len(username) > 32: - msg = localizer.translate("Неверный логин или пароль (валидатор)") + msg = localizer.translate("Неверный логин или пароль") return False, msg return True, username @@ -31,7 +32,7 @@ def validate_invite_code(invite_code): def validate_password(password, is_login=False): if is_login: if len(password) < 8 or len(password) > 128: - msg = localizer.translate("Неверный логин или пароль (валидатор)") + msg = localizer.translate("Неверный логин или пароль") return False, msg return True, password @@ -54,7 +55,7 @@ class LoginView(QWidget): self.on_login = on_login self.is_dark_theme = theme_manager.is_dark() print("self.is_dark_theme", self.is_dark_theme) - self.setWindowTitle("yobble messenger") + self.setWindowTitle(config.APP_HEADER) self.setFixedSize(400, 550) self.lang_combo = None @@ -222,7 +223,7 @@ class LoginView(QWidget): QMessageBox.warning(self, localizer.translate("Ошибка"), error_msg) return - if login == "root" and password == "123": + if login == "root" and password == "12341234": self.on_login(login) else: QMessageBox.warning(self, localizer.translate("Ошибка"), localizer.translate("Неверный логин или пароль")) @@ -340,10 +341,10 @@ class LoginView(QWidget): self.title.setText(localizer.translate("Регистрация")) self.register_button.setText(localizer.translate("Зарегистрироваться")) self.login_switch.setText(localizer.translate("Уже есть аккаунт? Войти")) - self.reg_login_input.set_label(localizer.translate("Логин")) - self.reg_password_input.set_label(localizer.translate("Пароль")) - self.confirm_password_input.set_label(localizer.translate("Повторите пароль")) - self.invite_code_input.set_label(localizer.translate("Инвайт-код")) + self.reg_login_input.input.setPlaceholderText(localizer.translate("Логин")) + self.reg_password_input.input.setPlaceholderText(localizer.translate("Пароль")) + self.confirm_password_input.input.setPlaceholderText(localizer.translate("Повторите пароль")) + self.invite_code_input.input.setPlaceholderText(localizer.translate("Инвайт-код")) else: self.title.setText(localizer.translate("Авторизация")) self.login_button.setText(localizer.translate("Войти")) diff --git a/app/ui/widgets/validation_input.py b/app/ui/widgets/validation_input.py index 3ad14a7..0cbde7d 100644 --- a/app/ui/widgets/validation_input.py +++ b/app/ui/widgets/validation_input.py @@ -1,4 +1,4 @@ -from PySide6.QtWidgets import QWidget, QLineEdit, QLabel, QHBoxLayout, QVBoxLayout +from PySide6.QtWidgets import QWidget, QLineEdit, QLabel, QHBoxLayout, QVBoxLayout, QSizePolicy from PySide6.QtCore import Qt, Signal @@ -32,8 +32,13 @@ class ValidationInput(QWidget): input_layout.addWidget(self.input) # input_layout.addWidget(self.status_label) + # self.error_label = QLabel() + # self.error_label.setStyleSheet("color: red;") + # self.error_label.hide() self.error_label = QLabel() - self.error_label.setStyleSheet("color: red;") + self.error_label.setWordWrap(True) + self.error_label.setStyleSheet("color: red; font-size: 12px;") + self.error_label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) self.error_label.hide() self.main_layout.addLayout(input_layout) diff --git a/main.py b/main.py index 4905039..a66778f 100644 --- a/main.py +++ b/main.py @@ -1,12 +1,26 @@ from PySide6.QtWidgets import QApplication +from PySide6.QtGui import QIcon from app.controllers.main_controller import MainController import sys +import ctypes + +def is_admin(): + """Проверяет, запущена ли программа с правами администратора""" + try: + return ctypes.windll.shell32.IsUserAnAdmin() + except: + return False def main(): app = QApplication(sys.argv) + app.setWindowIcon(QIcon("app/icons/logo3.png")) controller = MainController() controller.show_login() sys.exit(app.exec()) if __name__ == "__main__": + if not is_admin(): + # Попытка перезапуска с правами администратора + ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1) + sys.exit() main()