fix: Error text is not shown for Qt CLI parser
This commit is contained in:
@ -36,6 +36,8 @@ using namespace deskflow::gui;
|
||||
bool checkMacAssistiveDevices();
|
||||
#endif
|
||||
|
||||
const static auto kHeader = QStringLiteral("%1: %2\n").arg(kAppName, kDisplayVersion);
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#if defined(Q_OS_UNIX) && defined(QT_DEBUG)
|
||||
@ -63,15 +65,19 @@ int main(int argc, char *argv[])
|
||||
parser.addOption(resetOption);
|
||||
parser.parse(QCoreApplication::arguments());
|
||||
|
||||
const auto header = QStringLiteral("%1: %2\n").arg(kAppName, kDisplayVersion);
|
||||
if (parser.isSet(helpOption) || !parser.unknownOptionNames().isEmpty() || !parser.errorText().isEmpty()) {
|
||||
QTextStream(stdout) << header << QStringLiteral(" %1\n\n").arg(kAppDescription)
|
||||
if (!parser.errorText().isEmpty()) {
|
||||
qCritical().noquote() << parser.errorText() << "\nUse --help for more information.";
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (parser.isSet(helpOption)) {
|
||||
QTextStream(stdout) << kHeader << QStringLiteral(" %1\n\n").arg(kAppDescription)
|
||||
<< parser.helpText().replace(QApplication::applicationFilePath(), kAppId);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (parser.isSet(versionOption)) {
|
||||
QTextStream(stdout) << header << kCopyright << Qt::endl;
|
||||
QTextStream(stdout) << kHeader << kCopyright << Qt::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user