64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
//#include <stdio.h>
|
|
//#include <stdlib.h>
|
|
|
|
//#include <qapplicationstatic.h>
|
|
|
|
//#define QTBLESSED
|
|
#include <QApplication>
|
|
#include <QMainWindow>
|
|
|
|
#include <QLocalSocket>
|
|
#include <QLocalServer>
|
|
#include <QString>
|
|
//#include "contclasses.h"
|
|
#include "qtclasses.h"
|
|
#include "global.h"
|
|
|
|
OverseerHandler *osh = nullptr;
|
|
|
|
QApplication* createApplication(int &argc, char *argv[])
|
|
{
|
|
return new QApplication(argc, argv);
|
|
}
|
|
|
|
bool isSingleInstanceRunning(QString appName) {
|
|
QLocalSocket socket;
|
|
socket.connectToServer(appName);
|
|
bool isOpen = socket.isOpen();
|
|
socket.close();
|
|
return isOpen;
|
|
}
|
|
|
|
QLocalServer* startSingleInstanceServer(QString appName) {
|
|
QLocalServer* server = new QLocalServer;
|
|
server->setSocketOptions(QLocalServer::WorldAccessOption);
|
|
server->listen(appName);
|
|
return server;
|
|
}
|
|
|
|
int main (int argc, char* argv[]) {
|
|
//QApplication::setStyle("windowsvista");
|
|
//Check if running
|
|
//https://stackoverflow.com/questions/48060989/qt-show-application-if-currently-running
|
|
if (!isSingleInstanceRunning("Mixer"))
|
|
startSingleInstanceServer("Mixer");
|
|
else exit(0);
|
|
|
|
osh = new OverseerHandler();
|
|
//qRegisterMetaType<EndpointWidgetEvent>();
|
|
|
|
//INIT CONT
|
|
log_debugcpp("main init");
|
|
osh->reloadEndpointHandlers();
|
|
log_debugcpp("Reloaded endpoint handlers");
|
|
|
|
//INIT FRONT
|
|
QScopedPointer<QApplication> app(createApplication(argc, argv));
|
|
MainWindow window = MainWindow();
|
|
//window.setEndpointHandlers(ephs);
|
|
QApplication::setQuitOnLastWindowClosed(false);
|
|
app->setStyle("windowsvista");
|
|
window.show();
|
|
return app->exec();
|
|
}
|
|
|