diff --git a/005.ui b/005.ui
index 5ee381a..a658ebc 100644
--- a/005.ui
+++ b/005.ui
@@ -7,7 +7,7 @@
Нам пока не удалось получить список участников. Попробуйте включить отладчик строк в настройках и сообщить разработчикам об этой проблеме. Строка в консоли должна быть в таком формате: We have not yet able to get the members list. Try turning on the parsing debugger and letting the developers about this issue. String in the console should be in this format: Tinelix IRC Client (codename Flight, {0}) This is free software with open source, distributed under the terms of the GNU General Public License 3.0 (read license). Profile managing
<сервер> <код> <ваш_ник> <ник1> <ник2>
Topic: {2}
Members: {3}
------------------------------------'.format(tab.chat_text.toHtml(), self.channels[channel]['name'].replace('<', '<').replace('>', '>'), self.channels[channel]['topic'].replace('<', '<').replace('>', '>'), self.channels[channel]['members']))
self.channels = {}
self.parent.ui.tabs.widget(self.parent.ui.tabs.currentIndex()).chat_text.moveCursor(QTextCursor.End)
- elif ' '.join(msg_line.split(' ')[0:2]).find('376') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' 376') != -1:
pass
- elif ' '.join(msg_line.split(' ')[0:2]).find('378') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' 378') != -1:
pass
- elif ' '.join(msg_line.split(' ')[0:2]).find('312') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' 312') != -1:
tab = self.parent.ui.tabs.widget(self.parent.ui.tabs.currentIndex())
try:
if settings['Main']['MsgBacklight'] == 'Disabled':
@@ -1154,7 +1169,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
except:
tab.chat_text.setHtml('{0}{1}'.format(tab.chat_text.toHtml(), " ".join(msg_line.split(' ')[4:])))
self.parent.ui.tabs.widget(self.parent.ui.tabs.currentIndex()).chat_text.moveCursor(QTextCursor.End)
- elif ' '.join(msg_line.split(' ')[0:2]).find('311') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' 311') != -1:
tab = self.parent.ui.tabs.widget(self.parent.ui.tabs.currentIndex())
try:
if settings['Main']['MsgBacklight'] == 'Disabled':
@@ -1165,7 +1180,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
except:
tab.chat_text.setHtml('{0}{1} ({2}@{3})
Real name: {4}
------------------------------------'.format(tab.chat_text.toHtml(), msg_line.split(' ')[3], msg_line.split(' ')[4], msg_line.split(' ')[5], ' '.join(msg_line.split(' ')[7:]).splitlines()[0]))
tab.chat_text.moveCursor(QTextCursor.End)
- elif ' '.join(msg_line.split(' ')[0:2]).find('332') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' 332') != -1:
tab = self.parent.ui.tabs.widget(self.parent.ui.tabs.currentIndex())
try:
if settings['Main']['MsgBacklight'] == 'Disabled':
@@ -1178,7 +1193,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
print("\n".join(ex))
tab.chat_text.setHtml('{0}\nTopic: {1}'.format(tab.chat_text.toHtml(), " ".join(msg_line.split(' ')[3:]).replace('http//', 'http://').replace('https//', 'https://')))
tab.chat_text.moveCursor(QTextCursor.End)
- elif ' '.join(msg_line.split(' ')[0:2]).find('333') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' 333') != -1:
tab = self.parent.ui.tabs.widget(self.parent.ui.tabs.currentIndex())
try:
if settings['Main']['MsgBacklight'] == 'Disabled':
@@ -1191,7 +1206,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
print("\n".join(ex))
tab.chat_text.setHtml('{0}\nTopic set by {1} ({2})'.format(tab.chat_text.toHtml(), msg_line.split(' ')[4], datetime.datetime.fromtimestamp(int(msg_line.split(' ')[5])).strftime('%Y-%m-%d %H:%M:%S')))
tab.chat_text.moveCursor(QTextCursor.End)
- elif ' '.join(msg_line.split(' ')[0:2]).find('319') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' 319') != -1:
tab = self.parent.ui.tabs.widget(self.parent.ui.tabs.currentIndex())
try:
if settings['Main']['MsgBacklight'] == 'Disabled':
@@ -1204,7 +1219,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
print("\n".join(ex))
tab.chat_text.setHtml('{0}\nMutual channels: {1}'.format(tab.chat_text.toHtml(), " ".join(msg_line.split(' ')[4:]).replace('@', '').replace('~', '').replace('&', '')))
tab.chat_text.moveCursor(QTextCursor.End)
- elif ' '.join(msg_line.split(' ')[0:2]).find('317') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' 317') != -1:
tab = self.parent.ui.tabs.widget(self.parent.ui.tabs.currentIndex())
try:
if settings['Main']['MsgBacklight'] == 'Disabled':
@@ -1217,7 +1232,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
print("\n".join(ex))
tab.chat_text.setHtml('{0}\n{1} idle, last logon time - {2}'.format(tab.chat_text.toHtml(), datetime.datetime.fromtimestamp(int(msg_line.split(' ')[4])).strftime('%H:%M:%S'), datetime.datetime.fromtimestamp(int(msg_line.split(' ')[5])).strftime('%Y-%m-%d %H:%M:%S')))
tab.chat_text.moveCursor(QTextCursor.End)
- elif msg_line.find('PRIVMSG') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find('PRIVMSG') != -1:
try:
decoded_text = status.replace('!', ' ').split(' ')
if decoded_text[2] == 'PRIVMSG':
@@ -1256,7 +1271,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
print("\n".join(ex))
self.parent.child_widget.chat_text.setHtml('{0}
{1}'.format(self.parent.child_widget.chat_text.toHtml(), msg_line))
self.parent.child_widget.chat_text.moveCursor(QTextCursor.End)
- elif msg_line.find('MODE') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find('MODE') != -1:
tab = self.parent.ui.tabs.widget(self.parent.ui.tabs.currentIndex())
try:
decoded_text = status.replace('!', ' ').split(' ')
@@ -1269,7 +1284,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
print("\n".join(ex))
self.parent.child_widget.chat_text.setHtml('{0}\n{1}'.format(self.parent.child_widget.chat_text.toHtml(), msg_line))
self.parent.child_widget.chat_text.moveCursor(QTextCursor.End)
- elif msg_line.find('JOIN') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' JOIN') != -1:
try:
decoded_text = status.replace('!', ' ').split(' ')
if decoded_text[2] == 'JOIN':
@@ -1300,7 +1315,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
exc_type, exc_value, exc_tb = sys.exc_info()
ex = traceback.format_exception(exc_type, exc_value, exc_tb)
print("\n".join(ex))
- elif msg_line.find('PART') != -1:
+ elif ' '.join(msg_line.split(' ')[0:2]).find(' PART') != -1:
try:
decoded_text = status.replace('!', ' ').split(' ')
if decoded_text[0] == self.nickname:
@@ -1339,7 +1354,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
print("\n".join(ex))
self.parent.child_widget.chat_text.setHtml('{0}
{1}'.format(self.parent.child_widget.chat_text.toHtml(), msg_line))
self.parent.child_widget.chat_text.moveCursor(QTextCursor.End)
- elif msg_line.find('QUIT') != -1:
+ elif msg_line.find(' QUIT') != -1:
try:
decoded_text = status.replace('!', ' ').split(' ')
if decoded_text[2] == 'QUIT':
@@ -1374,7 +1389,7 @@ def started(self, status, server, port, nickname, encoding, quiting_msg, ping, s
print(e)
self.parent.child_widget.chat_text.setHtml('{0}\n{1}'.format(self.parent.child_widget.chat_text.toHtml(), msg_line))
self.parent.child_widget.chat_text.moveCursor(QTextCursor.End)
- elif msg_line.find('NICK') != -1:
+ elif msg_line.find(' NICK') != -1:
try:
decoded_text = status.replace('!', ' ').split(' ')
if decoded_text[2] == 'NICK':
@@ -1494,12 +1509,23 @@ def send_msg(self):
self.tab.members_list.setStyleSheet('selection-background-color: #a14b00;')
self.tab.verticalScrollBar.setStyleSheet('QScrollBar:vertical {border: 0px solid;\nbackground: rgb(43, 43, 43);\nwidth: 15px;\nmargin: 16px 0 16px 0;\n}\nQScrollBar::handle:vertical {\nbackground: rgb(161, 75, 0);\nborder-width: 2px;\nborder-radius: 10px;\n}\n\nQScrollBar::add-line:vertical {\nborder: 0px solid;\nbackground-color: rgb(43, 43, 43);\nheight: 16px;\nsubcontrol-position: bottom;\nsubcontrol-origin: margin;\nimage: url(:/arrows/up_arrow_dark.png);\n}\n\nQScrollBar::sub-line:vertical {\nborder: 0px solid;\nbackground: rgb(43, 43, 43);\nheight: 16px;\nsubcontrol-position: top;\nsubcontrol-origin: margin;\nimage: url(:/arrows/down_arrow_dark.png);\n}\n\nQScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {\nbackground: none;\n}')
self.tab.verticalScrollBar_2.setStyleSheet('QScrollBar:vertical {border: 0px solid;\nbackground: rgb(43, 43, 43);\nwidth: 15px;\nmargin: 16px 0 16px 0;\n}\nQScrollBar::handle:vertical {\nbackground: rgb(161, 75, 0);\nborder-width: 2px;\nborder-radius: 10px;\n}\n\nQScrollBar::add-line:vertical {\nborder: 0px solid;\nbackground-color: rgb(43, 43, 43);\nheight: 16px;\nsubcontrol-position: bottom;\nsubcontrol-origin: margin;\nimage: url(:/arrows/up_arrow_dark.png);\n}\n\nQScrollBar::sub-line:vertical {\nborder: 0px solid;\nbackground: rgb(43, 43, 43);\nheight: 16px;\nsubcontrol-position: top;\nsubcontrol-origin: margin;\nimage: url(:/arrows/down_arrow_dark.png);\n}\n\nQScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {\nbackground: none;\n}')
+
+ if settings.sections != [] and settings['Main']['Language'] == 'Russian':
+ self.tab.error_getting_member_list.setText(ru_RU.get()['mbgt_err'])
+ self.tab.close_panel_btn.setText(ru_RU.get()['mbget_cl'])
+ else:
+ self.tab.error_getting_member_list.setText(en_US.get()['mbgt_err'])
+ self.tab.close_panel_btn.setText(en_US.get()['mbget_cl'])
+
self.tab.members_list.setContextMenuPolicy(Qt.CustomContextMenu)
self.tab.members_list.customContextMenuRequested.connect(self.call_member_cm)
+ self.tab.members_list.setVisible(False);
+ self.tab.list_frame.setVisible(True);
self.member_context_menu = QMenu(self)
self.parent.ui.tabs.addTab(self.tab, self.channel)
self.tab.chat_text.setVerticalScrollBar(self.tab.verticalScrollBar)
self.tab.members_list.setVerticalScrollBar(self.tab.verticalScrollBar_2)
+ self.tab.close_panel_btn.clicked.connect(self.close_member_error_panel)
self.tab.message_text.setEnabled(True)
self.tab.send_msg_btn.setEnabled(False)
self.tab.send_msg_btn.clicked.connect(self.send_msg)
@@ -1711,6 +1737,9 @@ def call_member_cm(self, pos):
except:
pass
+ def close_member_error_panel(self):
+ self.tab.list_frame.setVisible(False)
+
def edit_item(self):
swiz003 = SettingsWizard003()
swiz003.ui.title_label.setText(str(self.ui.tableWidget.item(self.ui.tableWidget.currentRow(), 0).text()))
diff --git a/languages/en_US.py b/languages/en_US.py
index 034e63e..346b961 100644
--- a/languages/en_US.py
+++ b/languages/en_US.py
@@ -72,10 +72,13 @@ def get():
'channelp': 'Channel:',
'addit_bt': 'More',
'prgrwait': 'Waiting',
+ 'mbgt_err': '
<server> <code> <your_nick> <nick1> <nick2>
WITHOUT ANY WARRANTY, NOT EVEN FOR MERCHANTABILITY.',
'repo_btn': 'Repository',
'profman': '
Нам пока не удалось получить список участников.
Попробуйте включить отладчик парсинга в настройках и сообщить разработчикам об этой проблеме.
Строка в консоли должна быть в таком формате:
<сервер> <код> <ваш_ник> <ник1> <ник2>
Tinelix IRC Client (codename Flight, {0})
', 'free_sft': 'Написан на языке программирования Python, используется Qt {0} с PyQt5 {1}', 'gpl_info': 'Это свободное программное обеспечение с открытым исходным кодом, распространяемое в соответствии с условиями GNU General Public License 3.0 (прочитать лицензию).
БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ВКЛЮЧАЯ КОММЕРЧЕСКУЮ ЦЕННОСТЬ.',
'repo_btn': 'Репозиторий',
'profman': '
Управление профилями
', + 'parsdbg': 'Отладчик строк (вывод RAW-строк в консоль)', } diff --git a/mainform.py b/mainform.py index 7e0606d..9c6b20c 100644 --- a/mainform.py +++ b/mainform.py @@ -1,195 +1,206 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'mainform.ui' -# -# Created by: PyQt5 UI code generator 5.15.4 -# -# WARNING: Any manual changes made to this file will be lost when pyuic5 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt5 import QtCore, QtGui, QtWidgets - - -class Ui_MainWindow(object): - def setupUi(self, MainWindow): - MainWindow.setObjectName("MainWindow") - MainWindow.resize(595, 354) - MainWindow.setMinimumSize(QtCore.QSize(544, 300)) - icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap("icon_48x48.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) - MainWindow.setWindowIcon(icon) - MainWindow.setStyleSheet("background-color: rgb(43, 43, 43);\n" -"color: rgb(255, 255, 255);") - self.centralwidget = QtWidgets.QWidget(MainWindow) - self.centralwidget.setObjectName("centralwidget") - self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget) - self.verticalLayout.setContentsMargins(0, 0, 0, 0) - self.verticalLayout.setSpacing(0) - self.verticalLayout.setObjectName("verticalLayout") - self.horizontalLayout = QtWidgets.QHBoxLayout() - self.horizontalLayout.setSpacing(0) - self.horizontalLayout.setObjectName("horizontalLayout") - self.tabs = QtWidgets.QTabWidget(self.centralwidget) - self.tabs.setStyleSheet("") - self.tabs.setTabsClosable(False) - self.tabs.setObjectName("tabs") - self.horizontalLayout.addWidget(self.tabs) - self.verticalLayout.addLayout(self.horizontalLayout) - self.verticalLayout_2 = QtWidgets.QVBoxLayout() - self.verticalLayout_2.setContentsMargins(-1, -1, 0, 0) - self.verticalLayout_2.setSpacing(0) - self.verticalLayout_2.setObjectName("verticalLayout_2") - self.horizontalLayout_2 = QtWidgets.QHBoxLayout() - self.horizontalLayout_2.setContentsMargins(-1, 0, -1, -1) - self.horizontalLayout_2.setSpacing(4) - self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.verticalLayout_2.addLayout(self.horizontalLayout_2) - self.horizontalLayout_3 = QtWidgets.QHBoxLayout() - self.horizontalLayout_3.setContentsMargins(-1, -1, -1, 0) - self.horizontalLayout_3.setSpacing(4) - self.horizontalLayout_3.setObjectName("horizontalLayout_3") - self.status_label = QtWidgets.QLabel(self.centralwidget) - self.status_label.setMinimumSize(QtCore.QSize(100, 0)) - self.status_label.setMaximumSize(QtCore.QSize(220, 16777215)) - font = QtGui.QFont() - font.setPointSize(8) - self.status_label.setFont(font) - self.status_label.setText("") - self.status_label.setTextFormat(QtCore.Qt.PlainText) - self.status_label.setObjectName("status_label") - self.horizontalLayout_3.addWidget(self.status_label) - spacerItem = QtWidgets.QSpacerItem(2, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.horizontalLayout_3.addItem(spacerItem) - self.channel_name = QtWidgets.QLabel(self.centralwidget) - self.channel_name.setMaximumSize(QtCore.QSize(16777215, 40)) - font = QtGui.QFont() - font.setPointSize(8) - self.channel_name.setFont(font) - self.channel_name.setText("") - self.channel_name.setObjectName("channel_name") - self.horizontalLayout_3.addWidget(self.channel_name) - self.line = QtWidgets.QFrame(self.centralwidget) - self.line.setStyleSheet("color: rgb(74, 74, 74)") - self.line.setFrameShadow(QtWidgets.QFrame.Plain) - self.line.setFrameShape(QtWidgets.QFrame.VLine) - self.line.setObjectName("line") - self.horizontalLayout_3.addWidget(self.line) - self.conn_quality_label = QtWidgets.QLabel(self.centralwidget) - font = QtGui.QFont() - font.setPointSize(8) - self.conn_quality_label.setFont(font) - self.conn_quality_label.setObjectName("conn_quality_label") - self.horizontalLayout_3.addWidget(self.conn_quality_label) - self.conn_quality_progr = QtWidgets.QProgressBar(self.centralwidget) - self.conn_quality_progr.setMinimumSize(QtCore.QSize(0, 18)) - self.conn_quality_progr.setMaximumSize(QtCore.QSize(80, 16777215)) - font = QtGui.QFont() - font.setPointSize(8) - font.setBold(False) - font.setWeight(50) - self.conn_quality_progr.setFont(font) - self.conn_quality_progr.setStyleSheet("selection-background-color: rgb(161, 75, 0);") - self.conn_quality_progr.setMaximum(5000) - self.conn_quality_progr.setProperty("value", 4970) - self.conn_quality_progr.setTextVisible(True) - self.conn_quality_progr.setInvertedAppearance(False) - self.conn_quality_progr.setTextDirection(QtWidgets.QProgressBar.TopToBottom) - self.conn_quality_progr.setObjectName("conn_quality_progr") - self.horizontalLayout_3.addWidget(self.conn_quality_progr) - self.latency_label = QtWidgets.QLabel(self.centralwidget) - self.latency_label.setMinimumSize(QtCore.QSize(35, 0)) - font = QtGui.QFont() - font.setPointSize(8) - font.setBold(False) - font.setWeight(50) - self.latency_label.setFont(font) - self.latency_label.setObjectName("latency_label") - self.horizontalLayout_3.addWidget(self.latency_label) - self.verticalLayout_2.addLayout(self.horizontalLayout_3) - self.verticalLayout.addLayout(self.verticalLayout_2) - MainWindow.setCentralWidget(self.centralwidget) - self.menubar = QtWidgets.QMenuBar(MainWindow) - self.menubar.setGeometry(QtCore.QRect(0, 0, 595, 29)) - self.menubar.setStyleSheet("selection-background-color: rgb(161, 75, 0);") - self.menubar.setObjectName("menubar") - self.menu = QtWidgets.QMenu(self.menubar) - self.menu.setObjectName("menu") - self.menu_2 = QtWidgets.QMenu(self.menubar) - self.menu_2.setStyleSheet("") - self.menu_2.setObjectName("menu_2") - self.menu_3 = QtWidgets.QMenu(self.menubar) - self.menu_3.setObjectName("menu_3") - self.menu_4 = QtWidgets.QMenu(self.menubar) - self.menu_4.setObjectName("menu_4") - MainWindow.setMenuBar(self.menubar) - self.about_item = QtWidgets.QAction(MainWindow) - self.about_item.setObjectName("about_item") - self.about_Qt_item = QtWidgets.QAction(MainWindow) - self.about_Qt_item.setObjectName("about_Qt_item") - self.connect_item = QtWidgets.QAction(MainWindow) - self.connect_item.setObjectName("connect_item") - self.quit_item = QtWidgets.QAction(MainWindow) - self.quit_item.setObjectName("quit_item") - self.history_cb_action = QtWidgets.QAction(MainWindow) - self.history_cb_action.setCheckable(True) - self.history_cb_action.setChecked(False) - self.history_cb_action.setObjectName("history_cb_action") - self.action = QtWidgets.QAction(MainWindow) - self.action.setObjectName("action") - self.settings_item = QtWidgets.QAction(MainWindow) - self.settings_item.setObjectName("settings_item") - self.join_item = QtWidgets.QAction(MainWindow) - self.join_item.setEnabled(False) - self.join_item.setObjectName("join_item") - self.leave_item = QtWidgets.QAction(MainWindow) - self.leave_item.setEnabled(False) - self.leave_item.setObjectName("leave_item") - self.members_list_item = QtWidgets.QAction(MainWindow) - self.members_list_item.setCheckable(True) - self.members_list_item.setChecked(True) - self.members_list_item.setObjectName("members_list_item") - self.msg_history = QtWidgets.QAction(MainWindow) - self.msg_history.setEnabled(False) - self.msg_history.setObjectName("msg_history") - self.menu.addAction(self.connect_item) - self.menu.addSeparator() - self.menu.addAction(self.quit_item) - self.menu_2.addAction(self.about_item) - self.menu_3.addSeparator() - self.menu_3.addAction(self.settings_item) - self.menu_4.addAction(self.join_item) - self.menu_4.addAction(self.leave_item) - self.menu_4.addSeparator() - self.menu_4.addAction(self.msg_history) - self.menubar.addAction(self.menu.menuAction()) - self.menubar.addAction(self.menu_4.menuAction()) - self.menubar.addAction(self.menu_3.menuAction()) - self.menubar.addAction(self.menu_2.menuAction()) - - self.retranslateUi(MainWindow) - self.tabs.setCurrentIndex(-1) - QtCore.QMetaObject.connectSlotsByName(MainWindow) - - def retranslateUi(self, MainWindow): - _translate = QtCore.QCoreApplication.translate - MainWindow.setWindowTitle(_translate("MainWindow", "Tinelix IRC Client")) - self.conn_quality_label.setText(_translate("MainWindow", "Качество соединения:")) - self.conn_quality_progr.setFormat(_translate("MainWindow", "%p%")) - self.latency_label.setText(_translate("MainWindow", "(2 ms)")) - self.menu.setTitle(_translate("MainWindow", "Файл")) - self.menu_2.setTitle(_translate("MainWindow", "Справка")) - self.menu_3.setTitle(_translate("MainWindow", "Вид")) - self.menu_4.setTitle(_translate("MainWindow", "Канал")) - self.about_item.setText(_translate("MainWindow", "О программе...")) - self.about_Qt_item.setText(_translate("MainWindow", "О Qt...")) - self.connect_item.setText(_translate("MainWindow", "Подключиться")) - self.quit_item.setText(_translate("MainWindow", "Выход")) - self.history_cb_action.setText(_translate("MainWindow", "Сохранить историю переписок")) - self.action.setText(_translate("MainWindow", "Настройки")) - self.settings_item.setText(_translate("MainWindow", "Настройки")) - self.join_item.setText(_translate("MainWindow", "Присоединиться...")) - self.leave_item.setText(_translate("MainWindow", "Покинуть")) - self.members_list_item.setText(_translate("MainWindow", "Список участников")) - self.msg_history.setText(_translate("MainWindow", "История")) -import resources_rc +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'mainform.ui' +# +# Created by: PyQt5 UI code generator 5.15.4 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(595, 354) + MainWindow.setMinimumSize(QtCore.QSize(544, 300)) + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap("icon_48x48.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + MainWindow.setWindowIcon(icon) + MainWindow.setStyleSheet("background-color: rgb(43, 43, 43);\n" +"color: rgb(255, 255, 255);") + self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget) + self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setSpacing(0) + self.verticalLayout.setObjectName("verticalLayout") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setSpacing(0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.tabs = QtWidgets.QTabWidget(self.centralwidget) + self.tabs.setStyleSheet("") + self.tabs.setTabsClosable(False) + self.tabs.setObjectName("tabs") + self.horizontalLayout.addWidget(self.tabs) + self.verticalLayout.addLayout(self.horizontalLayout) + self.verticalLayout_2 = QtWidgets.QVBoxLayout() + self.verticalLayout_2.setContentsMargins(-1, -1, 0, 0) + self.verticalLayout_2.setSpacing(0) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setContentsMargins(-1, 0, -1, -1) + self.horizontalLayout_2.setSpacing(4) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.verticalLayout_2.addLayout(self.horizontalLayout_2) + self.horizontalLayout_3 = QtWidgets.QHBoxLayout() + self.horizontalLayout_3.setContentsMargins(-1, -1, -1, 0) + self.horizontalLayout_3.setSpacing(4) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + spacerItem = QtWidgets.QSpacerItem(2, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_3.addItem(spacerItem) + self.status_label = QtWidgets.QLabel(self.centralwidget) + self.status_label.setMinimumSize(QtCore.QSize(100, 20)) + self.status_label.setMaximumSize(QtCore.QSize(220, 20)) + font = QtGui.QFont() + font.setPointSize(8) + self.status_label.setFont(font) + self.status_label.setText("") + self.status_label.setTextFormat(QtCore.Qt.PlainText) + self.status_label.setObjectName("status_label") + self.horizontalLayout_3.addWidget(self.status_label) + spacerItem1 = QtWidgets.QSpacerItem(2, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_3.addItem(spacerItem1) + self.channel_name = QtWidgets.QLabel(self.centralwidget) + self.channel_name.setMaximumSize(QtCore.QSize(16777215, 40)) + font = QtGui.QFont() + font.setPointSize(8) + self.channel_name.setFont(font) + self.channel_name.setText("") + self.channel_name.setObjectName("channel_name") + self.horizontalLayout_3.addWidget(self.channel_name) + self.line = QtWidgets.QFrame(self.centralwidget) + self.line.setMinimumSize(QtCore.QSize(0, 20)) + self.line.setMaximumSize(QtCore.QSize(16777215, 20)) + self.line.setStyleSheet("color: rgb(74, 74, 74)") + self.line.setFrameShadow(QtWidgets.QFrame.Plain) + self.line.setFrameShape(QtWidgets.QFrame.VLine) + self.line.setObjectName("line") + self.horizontalLayout_3.addWidget(self.line) + self.conn_quality_label = QtWidgets.QLabel(self.centralwidget) + self.conn_quality_label.setMinimumSize(QtCore.QSize(20, 0)) + self.conn_quality_label.setMaximumSize(QtCore.QSize(16777215, 20)) + font = QtGui.QFont() + font.setPointSize(8) + self.conn_quality_label.setFont(font) + self.conn_quality_label.setObjectName("conn_quality_label") + self.horizontalLayout_3.addWidget(self.conn_quality_label) + self.conn_quality_progr = QtWidgets.QProgressBar(self.centralwidget) + self.conn_quality_progr.setMinimumSize(QtCore.QSize(0, 20)) + self.conn_quality_progr.setMaximumSize(QtCore.QSize(80, 20)) + font = QtGui.QFont() + font.setPointSize(8) + font.setBold(False) + font.setWeight(50) + self.conn_quality_progr.setFont(font) + self.conn_quality_progr.setStyleSheet("selection-background-color: rgb(161, 75, 0);") + self.conn_quality_progr.setMaximum(5000) + self.conn_quality_progr.setProperty("value", 4970) + self.conn_quality_progr.setTextVisible(True) + self.conn_quality_progr.setInvertedAppearance(False) + self.conn_quality_progr.setTextDirection(QtWidgets.QProgressBar.TopToBottom) + self.conn_quality_progr.setObjectName("conn_quality_progr") + self.horizontalLayout_3.addWidget(self.conn_quality_progr) + self.latency_label = QtWidgets.QLabel(self.centralwidget) + self.latency_label.setMinimumSize(QtCore.QSize(35, 20)) + self.latency_label.setMaximumSize(QtCore.QSize(16777215, 20)) + font = QtGui.QFont() + font.setPointSize(8) + font.setBold(False) + font.setWeight(50) + self.latency_label.setFont(font) + self.latency_label.setObjectName("latency_label") + self.horizontalLayout_3.addWidget(self.latency_label) + spacerItem2 = QtWidgets.QSpacerItem(0, 22, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + self.horizontalLayout_3.addItem(spacerItem2) + spacerItem3 = QtWidgets.QSpacerItem(2, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_3.addItem(spacerItem3) + self.verticalLayout_2.addLayout(self.horizontalLayout_3) + self.verticalLayout.addLayout(self.verticalLayout_2) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 595, 21)) + self.menubar.setStyleSheet("selection-background-color: rgb(161, 75, 0);") + self.menubar.setObjectName("menubar") + self.menu = QtWidgets.QMenu(self.menubar) + self.menu.setObjectName("menu") + self.menu_2 = QtWidgets.QMenu(self.menubar) + self.menu_2.setStyleSheet("") + self.menu_2.setObjectName("menu_2") + self.menu_3 = QtWidgets.QMenu(self.menubar) + self.menu_3.setObjectName("menu_3") + self.menu_4 = QtWidgets.QMenu(self.menubar) + self.menu_4.setObjectName("menu_4") + MainWindow.setMenuBar(self.menubar) + self.about_item = QtWidgets.QAction(MainWindow) + self.about_item.setObjectName("about_item") + self.about_Qt_item = QtWidgets.QAction(MainWindow) + self.about_Qt_item.setObjectName("about_Qt_item") + self.connect_item = QtWidgets.QAction(MainWindow) + self.connect_item.setObjectName("connect_item") + self.quit_item = QtWidgets.QAction(MainWindow) + self.quit_item.setObjectName("quit_item") + self.history_cb_action = QtWidgets.QAction(MainWindow) + self.history_cb_action.setCheckable(True) + self.history_cb_action.setChecked(False) + self.history_cb_action.setObjectName("history_cb_action") + self.action = QtWidgets.QAction(MainWindow) + self.action.setObjectName("action") + self.settings_item = QtWidgets.QAction(MainWindow) + self.settings_item.setObjectName("settings_item") + self.join_item = QtWidgets.QAction(MainWindow) + self.join_item.setEnabled(False) + self.join_item.setObjectName("join_item") + self.leave_item = QtWidgets.QAction(MainWindow) + self.leave_item.setEnabled(False) + self.leave_item.setObjectName("leave_item") + self.members_list_item = QtWidgets.QAction(MainWindow) + self.members_list_item.setCheckable(True) + self.members_list_item.setChecked(True) + self.members_list_item.setObjectName("members_list_item") + self.msg_history = QtWidgets.QAction(MainWindow) + self.msg_history.setEnabled(False) + self.msg_history.setObjectName("msg_history") + self.menu.addAction(self.connect_item) + self.menu.addSeparator() + self.menu.addAction(self.quit_item) + self.menu_2.addAction(self.about_item) + self.menu_3.addSeparator() + self.menu_3.addAction(self.settings_item) + self.menu_4.addAction(self.join_item) + self.menu_4.addAction(self.leave_item) + self.menu_4.addSeparator() + self.menu_4.addAction(self.msg_history) + self.menubar.addAction(self.menu.menuAction()) + self.menubar.addAction(self.menu_4.menuAction()) + self.menubar.addAction(self.menu_3.menuAction()) + self.menubar.addAction(self.menu_2.menuAction()) + + self.retranslateUi(MainWindow) + self.tabs.setCurrentIndex(-1) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Tinelix IRC Client")) + self.conn_quality_label.setText(_translate("MainWindow", "Качество соединения:")) + self.conn_quality_progr.setFormat(_translate("MainWindow", "%p%")) + self.latency_label.setText(_translate("MainWindow", "(2 ms)")) + self.menu.setTitle(_translate("MainWindow", "Файл")) + self.menu_2.setTitle(_translate("MainWindow", "Справка")) + self.menu_3.setTitle(_translate("MainWindow", "Вид")) + self.menu_4.setTitle(_translate("MainWindow", "Канал")) + self.about_item.setText(_translate("MainWindow", "О программе...")) + self.about_Qt_item.setText(_translate("MainWindow", "О Qt...")) + self.connect_item.setText(_translate("MainWindow", "Подключиться")) + self.quit_item.setText(_translate("MainWindow", "Выход")) + self.history_cb_action.setText(_translate("MainWindow", "Сохранить историю переписок")) + self.action.setText(_translate("MainWindow", "Настройки")) + self.settings_item.setText(_translate("MainWindow", "Настройки")) + self.join_item.setText(_translate("MainWindow", "Присоединиться...")) + self.leave_item.setText(_translate("MainWindow", "Покинуть")) + self.members_list_item.setText(_translate("MainWindow", "Список участников")) + self.msg_history.setText(_translate("MainWindow", "История")) +import resources_rc diff --git a/mainform.ui b/mainform.ui index 61a2882..4ba8006 100644 --- a/mainform.ui +++ b/mainform.ui @@ -93,18 +93,34 @@ color: rgb(255, 255, 255);