Fix standalone grabbers (#1384)

* Fix too much copy/paste
* Fix typo
* Commandlineoptions: Additional error details for Int and Double ranges
* Standalone grabbers: Show fps range on error, fix default host address
This commit is contained in:
LordGrey
2021-11-29 17:51:03 +00:00
committed by GitHub
parent 926a58de9c
commit e3b494428a
16 changed files with 84 additions and 36 deletions

View File

@@ -19,3 +19,15 @@ double *DoubleOption::getDoublePtr(Parser &parser, bool *ok)
return nullptr;
}
bool DoubleOption::validate(Parser & parser, QString & value)
{
if (ValidatorOption::validate(parser,value))
{
return true;
}
_error = QString("Value must be between %1 and %2.").arg(_minimum).arg(_maximum);
return false;
}

View File

@@ -6,6 +6,7 @@ using namespace commandline;
int IntOption::getInt(Parser &parser, bool *ok, int base)
{
_int = value(parser).toInt(ok, base);
return _int;
}
@@ -18,3 +19,15 @@ int *IntOption::getIntPtr(Parser &parser, bool *ok, int base)
}
return nullptr;
}
bool IntOption::validate(Parser & parser, QString & value)
{
if (ValidatorOption::validate(parser,value))
{
return true;
}
_error = QString("Value must be between %1 and %2.").arg(_minimum).arg(_maximum);
return false;
}

View File

@@ -20,11 +20,11 @@ bool Parser::parse(const QStringList &arguments)
if (!option->validate(*this, value)) {
const QString error = option->getError();
if (!error.isEmpty()) {
_errorText = tr("%1 is not a valid option for %2\n%3").arg(value, option->name(), error);
_errorText = tr("\"%1\" is not a valid option for %2, %3").arg(value, option->name(), error);
}
else
{
_errorText = tr("%1 is not a valid option for %2").arg(value, option->name());
_errorText = tr("\"%1\" is not a valid option for %2").arg(value, option->name());
}
return false;
}
@@ -37,7 +37,7 @@ void Parser::process(const QStringList &arguments)
_parser.process(arguments);
if (!parse(arguments))
{
fprintf(stdout, "%s", qPrintable(tr("Error: %1").arg(_errorText)));
fprintf(stdout, "%s\n\n", qPrintable(tr("Error: %1").arg(_errorText)));
showHelp(EXIT_FAILURE);
}
}