Ensure only one instance is running and publish company info.

This commit is contained in:
2025-03-08 12:23:59 +01:00
parent 35c977c89e
commit f5b32d6621
3 changed files with 40 additions and 4 deletions

17
main.py
View File

@@ -2,10 +2,11 @@
import os
import sys
import logging
from PySide6.QtNetwork import QLocalServer, QLocalSocket
from PySide6.QtWidgets import QSystemTrayIcon
from PySide6.QtGui import QGuiApplication, QIcon
from PySide6.QtQml import QQmlApplicationEngine
#from PySide6.QtCore import QResource
from PySide6.QtCore import QIODevice #, QResource
from lib.ConfigLoader import ConfigLoader
from lib.DB.BusinessModel import BusinessModel
import rc_pyqcrm
@@ -34,6 +35,7 @@ os.environ['QML_XHR_ALLOW_FILE_READ'] = '1'
# name=""
# type=""
bad_config = False
db_con = False
address_model = None
@@ -85,6 +87,19 @@ if __name__ == "__main__":
app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
pyq_sok = QLocalSocket()
pyq_sok.connectToServer("PYQCRM_INSTANCE", QIODevice.ReadOnly)
if pyq_sok.state() == QLocalSocket.ConnectedState:
print("PYQCRM already running..")
print("Stop the running instance before running the application..")
sys.exit(-1)
else:
print("Starting PYQCRM_INSTANCE")
pyq_server = QLocalServer()
pyq_server.listen("PYQCRM_INSTANCE")
engine.addImportPath("qrc:/");
# qml_file = Path(__file__).resolve().parent / "Gui/main.qml"