2022-06-23 21:36:00 -04:00
|
|
|
#include "mainwindow.h"
|
|
|
|
|
|
|
|
#include <QApplication>
|
2022-06-27 12:44:50 -04:00
|
|
|
#include <QCommandLineParser>
|
2022-06-23 21:36:00 -04:00
|
|
|
|
2022-07-18 23:22:52 -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[])
|
|
|
|
{
|
2022-07-18 23:22:52 -04:00
|
|
|
qInstallMessageHandler(DebugHandler);
|
|
|
|
|
2022-06-23 21:36:00 -04:00
|
|
|
QApplication a(argc, argv);
|
2022-06-27 12:44:50 -04:00
|
|
|
|
2022-06-23 21:36:00 -04:00
|
|
|
MainWindow w;
|
2022-06-27 12:44:50 -04:00
|
|
|
|
|
|
|
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();
|
|
|
|
}
|