Исправление логина в чатах, добавлены новые списки чатов для Склада и Кофеен
Signed-off-by: benya <benya@daemonlord.ru>
This commit is contained in:
28
main.py
28
main.py
@@ -129,7 +129,7 @@ class AuthBrowserWindow(QDialog):
|
||||
"""Запускает OAuth авторизацию VK в этом окне."""
|
||||
auth_url = (
|
||||
"https://oauth.vk.com/authorize?"
|
||||
"client_id=6287487&"
|
||||
"client_id=2685278&"
|
||||
"display=page&"
|
||||
"redirect_uri=https://oauth.vk.com/blank.html&"
|
||||
"scope=1073737727&"
|
||||
@@ -237,6 +237,8 @@ class VkChatManager(QMainWindow):
|
||||
self.chats = []
|
||||
self.office_chat_checkboxes = []
|
||||
self.retail_chat_checkboxes = []
|
||||
self.warehouse_chat_checkboxes = []
|
||||
self.coffee_chat_checkboxes = []
|
||||
self.other_chat_checkboxes = []
|
||||
self.vk_session = None
|
||||
self.vk = None
|
||||
@@ -290,6 +292,10 @@ class VkChatManager(QMainWindow):
|
||||
self.chat_tabs.addTab(self.office_tab, "AG Офис")
|
||||
self.retail_tab = self.create_chat_tab()
|
||||
self.chat_tabs.addTab(self.retail_tab, "AG Розница")
|
||||
self.warehouse_tab = self.create_chat_tab()
|
||||
self.chat_tabs.addTab(self.warehouse_tab, "AG Склад")
|
||||
self.coffee_tab = self.create_chat_tab()
|
||||
self.chat_tabs.addTab(self.coffee_tab, "AG Кофейни")
|
||||
self.other_tab = self.create_chat_tab()
|
||||
self.chat_tabs.addTab(self.other_tab, "Прочие")
|
||||
layout.addWidget(QLabel("Выберите чаты:"))
|
||||
@@ -482,7 +488,7 @@ class VkChatManager(QMainWindow):
|
||||
|
||||
def set_all_checkboxes_on_current_tab(self, checked):
|
||||
current_index = self.chat_tabs.currentIndex()
|
||||
checkbox_lists = [self.office_chat_checkboxes, self.retail_chat_checkboxes, self.other_chat_checkboxes]
|
||||
checkbox_lists = [self.office_chat_checkboxes, self.retail_chat_checkboxes, self.retail_warehouse_checkboxes, self.retail_coffee_checkboxes, self.other_chat_checkboxes]
|
||||
if 0 <= current_index < len(checkbox_lists):
|
||||
for checkbox in checkbox_lists[current_index]:
|
||||
checkbox.setChecked(checked)
|
||||
@@ -524,7 +530,7 @@ class VkChatManager(QMainWindow):
|
||||
|
||||
def _clear_chat_tabs(self):
|
||||
self.chats.clear()
|
||||
for chk_list in [self.office_chat_checkboxes, self.retail_chat_checkboxes, self.other_chat_checkboxes]:
|
||||
for chk_list in [self.office_chat_checkboxes, self.retail_chat_checkboxes, self.warehouse_chat_checkboxes, self.coffee_chat_checkboxes, self.other_chat_checkboxes]:
|
||||
for checkbox in chk_list:
|
||||
checkbox.setParent(None)
|
||||
checkbox.deleteLater()
|
||||
@@ -537,6 +543,8 @@ class VkChatManager(QMainWindow):
|
||||
layouts = [
|
||||
self.office_tab.findChild(QWidget).findChild(QVBoxLayout),
|
||||
self.retail_tab.findChild(QWidget).findChild(QVBoxLayout),
|
||||
self.warehouse_tab.findChild(QWidget).findChild(QVBoxLayout),
|
||||
self.coffee_tab.findChild(QWidget).findChild(QVBoxLayout),
|
||||
self.other_tab.findChild(QWidget).findChild(QVBoxLayout)
|
||||
]
|
||||
|
||||
@@ -558,13 +566,21 @@ class VkChatManager(QMainWindow):
|
||||
elif "AG розница" in title:
|
||||
layouts[1].insertWidget(layouts[1].count() - 1, checkbox)
|
||||
self.retail_chat_checkboxes.append(checkbox)
|
||||
else:
|
||||
elif "AG склад" in title:
|
||||
layouts[2].insertWidget(layouts[2].count() - 1, checkbox)
|
||||
self.warehouse_chat_checkboxes.append(checkbox)
|
||||
elif "AG кофейни" in title:
|
||||
layouts[3].insertWidget(layouts[3].count() - 1, checkbox)
|
||||
self.coffee_chat_checkboxes.append(checkbox)
|
||||
else:
|
||||
layouts[4].insertWidget(layouts[4].count() - 1, checkbox)
|
||||
self.other_chat_checkboxes.append(checkbox)
|
||||
|
||||
self.chat_tabs.setTabText(0, f"AG Офис ({len(self.office_chat_checkboxes)})")
|
||||
self.chat_tabs.setTabText(1, f"AG Розница ({len(self.retail_chat_checkboxes)})")
|
||||
self.chat_tabs.setTabText(2, f"Прочие ({len(self.other_chat_checkboxes)})")
|
||||
self.chat_tabs.setTabText(2, f"AG Склад ({len(self.warehouse_chat_checkboxes)})")
|
||||
self.chat_tabs.setTabText(3, f"AG Кофейни ({len(self.coffee_chat_checkboxes)})")
|
||||
self.chat_tabs.setTabText(4, f"Прочие ({len(self.other_chat_checkboxes)})")
|
||||
except VkApiError as e:
|
||||
QMessageBox.critical(self, "Ошибка", f"Не удалось загрузить чаты: {e}")
|
||||
self.set_ui_state(False)
|
||||
@@ -578,7 +594,7 @@ class VkChatManager(QMainWindow):
|
||||
|
||||
def _get_selected_chats(self):
|
||||
selected = []
|
||||
for chk in self.office_chat_checkboxes + self.retail_chat_checkboxes + self.other_chat_checkboxes:
|
||||
for chk in self.office_chat_checkboxes + self.retail_chat_checkboxes + self.warehouse_chat_checkboxes + self.coffee_chat_checkboxes + self.other_chat_checkboxes:
|
||||
if chk.isChecked():
|
||||
chat_id = chk.property("chat_id")
|
||||
title = next((c['title'] for c in self.chats if c['id'] == chat_id), "")
|
||||
|
||||
Reference in New Issue
Block a user