Shows error message to user if discord is running

This commit is contained in:
Vitalya 2023-04-24 19:58:56 +03:00
parent 7b6e8fc473
commit b582584c69
1 changed files with 41 additions and 0 deletions

View File

@ -8,9 +8,50 @@
#include <QApplication> #include <QApplication>
#include <QCommandLineParser> #include <QCommandLineParser>
#include <QLoggingCategory> #include <QLoggingCategory>
#include <QMessageBox>
#include <QLocalSocket>
#include <QLocalServer>
void showErrorMessage(const char* text) {
QMessageBox msgBox;
msgBox.setIcon(QMessageBox::Critical);
msgBox.setText(text);
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.setDefaultButton(QMessageBox::Ok);
msgBox.setWindowIcon(
QIcon(":assets/de.shorsh.discord-screenaudio.png"));
msgBox.exec();
}
bool isProgramRunning(const QString& program_name)
{
QLocalSocket socket;
socket.connectToServer(program_name);
if (socket.waitForConnected()) {
return true; // program is already running
}
return false;
}
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
QApplication app(argc, argv); QApplication app(argc, argv);
// Check if discord is already running
QString program_name = "discord-screenaudio";
if (isProgramRunning(program_name)) {
// if running show error message
showErrorMessage("Discord is already running");
return 1;
}
// open server so we can check if discord is running
QLocalServer server;
server.listen(program_name);
QObject::connect(&server, &QLocalServer::newConnection, [](){});
QApplication::setApplicationName("discord-screenaudio"); QApplication::setApplicationName("discord-screenaudio");
QApplication::setWindowIcon( QApplication::setWindowIcon(
QIcon(":assets/de.shorsh.discord-screenaudio.png")); QIcon(":assets/de.shorsh.discord-screenaudio.png"));