SIEdit/app/main.cpp

59 lines
1.3 KiB
C++
Raw Normal View History

2022-06-23 21:36:00 -04:00
#include "mainwindow.h"
#include <QApplication>
#include <QCommandLineParser>
2022-06-23 21:36:00 -04:00
void DebugHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QByteArray localMsg = msg.toLocal8Bit();
const char* msg_type = "UNKNOWN";
switch (type) {
case QtDebugMsg:
msg_type = "DEBUG";
break;
case QtInfoMsg:
msg_type = "INFO";
break;
case QtWarningMsg:
msg_type = "WARNING";
break;
case QtCriticalMsg:
msg_type = "ERROR";
break;
case QtFatalMsg:
msg_type = "FATAL";
break;
}
fprintf(stderr, "[%s] %s (%s:%u)\n", msg_type, localMsg.constData(), context.function, context.line);
#ifdef Q_OS_WINDOWS
// Windows still seems to buffer stderr and we want to see debug messages immediately, so here we make sure each line
// is flushed
fflush(stderr);
#endif
}
2022-06-23 21:36:00 -04:00
int main(int argc, char *argv[])
{
qInstallMessageHandler(DebugHandler);
2022-06-23 21:36:00 -04:00
QApplication a(argc, argv);
2022-06-23 21:36:00 -04:00
MainWindow w;
QCommandLineParser parser;
parser.addPositionalArgument(QCoreApplication::translate("main", "file"),
QCoreApplication::translate("main", "The file to open on startup."));
parser.process(a);
if (!parser.positionalArguments().empty()) {
w.OpenFilename(parser.positionalArguments().first());
}
2022-06-23 21:36:00 -04:00
w.show();
return a.exec();
}