| 18 | } // Config |
| 19 | |
| 20 | static void parseOptions(int &viewportWidth, int &viewportHeight, QString &sceneFilePath) |
| 21 | { |
| 22 | const QString description = QString("%1 %2\n%3\n%4") |
| 23 | .arg(ApplicationDescription) |
| 24 | .arg(ApplicationVersion) |
| 25 | .arg(ApplicationCopyright) |
| 26 | .arg(ApplicationUrl); |
| 27 | |
| 28 | QCommandLineParser parser; |
| 29 | parser.setApplicationDescription(description); |
| 30 | parser.addHelpOption(); |
| 31 | parser.addVersionOption(); |
| 32 | |
| 33 | QCommandLineOption widthOption({"x", "sizex", "width"}, "Initial viewport width.", "px", |
| 34 | QString::number(Config::DefaultViewportWidth)); |
| 35 | QCommandLineOption heightOption({"y", "sizey", "height"}, "Initial viewport height.", "px", |
| 36 | QString::number(Config::DefaultViewportHeight)); |
| 37 | parser.addOptions({widthOption, heightOption}); |
| 38 | parser.addPositionalArgument("scene", "QML scene file path"); |
| 39 | |
| 40 | parser.process(*QApplication::instance()); |
| 41 | viewportWidth = parser.value(widthOption).toInt(); |
| 42 | viewportHeight = parser.value(heightOption).toInt(); |
| 43 | if(viewportWidth <= 0 || viewportHeight <= 0) { |
| 44 | QTextStream(stderr) << "Error: Invalid viewport dimensions\n"; |
| 45 | parser.showHelp(1); |
| 46 | } |
| 47 | |
| 48 | if(parser.positionalArguments().size() > 0) { |
| 49 | sceneFilePath = parser.positionalArguments().at(0); |
| 50 | } |
| 51 | } |
| 52 | |
| 53 | int main(int argc, char *argv[]) |
| 54 | { |
no test coverage detected