MCPcopy Create free account
hub / github.com/Nadrin/Quartz / parseOptions

Function parseOptions

apps/quartz/main.cpp:20–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18} // Config
19
20static 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
53int main(int argc, char *argv[])
54{

Callers 1

mainFunction · 0.85

Calls 2

QTextStreamClass · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected