X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fmain.cpp;h=3ae56db1768ecc6528446006e2f4c77146fb74c8;hb=ebe01ce9942e570f23b40793e97cf02b6f3616ee;hp=6043b750ded5a2b17d513f2e0e67e36e38b24843;hpb=ae2b4d32ed56e3ac193cc7205aeb58082c448ce8;p=apitrace diff --git a/gui/main.cpp b/gui/main.cpp index 6043b75..3ae56db 100644 --- a/gui/main.cpp +++ b/gui/main.cpp @@ -6,15 +6,23 @@ #include #include #include +#include Q_DECLARE_METATYPE(QList); Q_DECLARE_METATYPE(QVector); Q_DECLARE_METATYPE(Qt::CaseSensitivity); Q_DECLARE_METATYPE(ApiTrace::SearchResult); +Q_DECLARE_METATYPE(ApiTrace::SearchRequest); +Q_DECLARE_METATYPE(QList); +static void usage(void) +{ + qWarning("usage: qapitrace [TRACE] [CALLNO]\n"); +} int main(int argc, char **argv) { + QApplication::setGraphicsSystem("raster"); QApplication app(argc, argv); qRegisterMetaType >(); @@ -22,12 +30,48 @@ int main(int argc, char **argv) qRegisterMetaType(); qRegisterMetaType(); qRegisterMetaType(); - MainWindow window; + qRegisterMetaType(); + qRegisterMetaType >(); + +#ifndef Q_OS_WIN + QString path = qgetenv("PATH"); + path = QLatin1String(APITRACE_BINARY_DIR) + QLatin1String(":") + path; + qputenv("PATH", path.toLatin1()); +#endif + QStringList args = app.arguments(); + + int i = 1; + while (i < args.count()) { + QString arg = args[i]; + if (arg[0] != QLatin1Char('-')) { + break; + } + ++i; + if (arg == QLatin1String("--")) { + break; + } else if (arg == QLatin1String("-h") || + arg == QLatin1String("--help")) { + usage(); + exit(0); + } else { + usage(); + exit(1); + } + } + + MainWindow window; window.show(); - if (app.arguments().count() == 2) - window.loadTrace(app.arguments()[1]); + if (i < args.count()) { + QString fileName = args[i++]; + + int callNum = -1; + if (i < args.count()) { + callNum = args[i++].toInt(); + } + window.loadTrace(fileName, callNum); + } app.exec(); }