merge: release 2.0.0
All checks were successful
Desktop CI / tests (push) Successful in 12s
Desktop Release / release (push) Successful in 1m57s

This commit is contained in:
2026-02-15 21:18:01 +03:00
2 changed files with 21 additions and 31 deletions

View File

@@ -1 +1 @@
APP_VERSION = "1.7.1"
APP_VERSION = "2.0.0"

40
main.py
View File

@@ -21,7 +21,7 @@ from ui.main_window import instructions_text
from PySide6.QtWidgets import (QApplication, QMainWindow, QLabel, QLineEdit,
QPushButton, QVBoxLayout, QWidget, QMessageBox,
QTextBrowser, QScrollArea, QCheckBox, QHBoxLayout,
QSizePolicy, QTabWidget,
QSizePolicy, QTabWidget, QDialog, QDialogButtonBox,
QProgressBar)
from PySide6.QtCore import Qt, QUrl, QDateTime, QTimer
from PySide6.QtGui import QIcon, QAction, QDesktopServices
@@ -103,14 +103,6 @@ class VkChatManager(QMainWindow):
layout.setSpacing(5)
self.instructions = QTextBrowser()
self.instructions.setPlainText(
"Инструкция:\n"
"1. Авторизуйтесь через VK.\n"
"2. Выберите чаты.\n"
"3. Вставьте ссылку на пользователя в поле ниже. ID определится автоматически.\n"
"4. Для массовых операций, нажмите кнопку 'Список' и вставьте ссылки в окне.\n"
"5. Нажмите 'ИСКЛЮЧИТЬ' или 'ПРИГЛАСИТЬ'."
)
self.instructions.setFixedHeight(120)
self.instructions.setPlainText(instructions_text())
layout.addWidget(self.instructions)
@@ -252,35 +244,33 @@ class VkChatManager(QMainWindow):
self.about_action = about_action
def show_about_dialog(self):
message_box = QMessageBox(self)
message_box.setWindowTitle("О приложении")
message_box.setIcon(QMessageBox.Information)
message_box.setTextFormat(Qt.RichText)
dialog = QDialog(self)
dialog.setWindowTitle("О приложении")
dialog.setMinimumWidth(460)
repo_url = self.update_repository_url
if repo_url:
repo_html = f'<a href="{repo_url}">{repo_url}</a>'
else:
repo_html = "не указан"
message_box.setText(
(
content = QLabel(
f"<b>Anabasis Chat Manager</b><br>"
f"Версия: {APP_VERSION}<br><br>"
"Инструмент для массового управления пользователями в чатах VK.<br>"
"Поддерживается проверка обновлений и автообновление Windows-сборки.<br><br>"
f"Репозиторий: {repo_html}"
)
)
content.setTextFormat(Qt.RichText)
content.setTextInteractionFlags(Qt.TextBrowserInteraction)
content.setOpenExternalLinks(True)
content.setWordWrap(True)
# QMessageBox не имеет setOpenExternalLinks, настраиваем его внутренний QLabel.
for label in message_box.findChildren(QLabel):
if "href=" in label.text():
label.setTextInteractionFlags(Qt.TextBrowserInteraction)
label.setOpenExternalLinks(True)
break
button_box = QDialogButtonBox(QDialogButtonBox.Ok, parent=dialog)
button_box.accepted.connect(dialog.accept)
message_box.exec()
layout = QVBoxLayout(dialog)
layout.addWidget(content)
layout.addWidget(button_box)
dialog.exec()
def create_chat_tab(self):
# This implementation correctly creates a scrollable area for chat lists.