-CliParser::CliParser(QStringList arguments)
-{
- argsRaw = arguments;
-// remove Qt internal debugging arguments
- argsRaw.removeOne("-sync");
- argsRaw.removeOne("-nograb");
- argsRaw.removeOne("-dograb");
-}
-
-void CliParser::addArgument(const CliParserArg::CliArgType type, const QString longName, const char shortName, const QString help, const QString def) {
- CliParserArg arg;
- if(type == CliParserArg::CliArgOption)
- arg = CliParserArg(CliParserArg::CliArgOption, shortName, help, def);
- else
- arg = CliParserArg(CliParserArg::CliArgSwitch, shortName, help);
+void CliParser::addArgument(const QString &longName, const CliParserArg &arg) {
+ if(argsHash.contains(longName)) qWarning() << "Warning: Multiple definition of argument" << longName;
+ if(arg.shortName != 0 && !lnameOfShortArg(arg.shortName).isNull())
+ qWarning().nospace() << "Warning: Redefining shortName '" << arg.shortName << "' for " << longName << " previously defined for " << lnameOfShortArg(arg.shortName);