Add config cli option to enable or disable notifications (#3942)

This commit is contained in:
borgmanJeremy
2025-05-24 08:21:55 -05:00
committed by GitHub
parent 76f8067b2d
commit c2acf30ef2

View File

@@ -245,6 +245,10 @@ int main(int argc, char* argv[])
{ "a", "autostart" }, { "a", "autostart" },
QObject::tr("Enable or disable run at startup"), QObject::tr("Enable or disable run at startup"),
QStringLiteral("bool")); QStringLiteral("bool"));
CommandOption notificationOption(
{ "n", "notifications" },
QObject::tr("Enable or disable the notifications"),
QStringLiteral("bool"));
CommandOption checkOption( CommandOption checkOption(
"check", QObject::tr("Check the configuration for errors")); "check", QObject::tr("Check the configuration for errors"));
CommandOption showHelpOption( CommandOption showHelpOption(
@@ -329,6 +333,7 @@ int main(int argc, char* argv[])
pathOption.addChecker(pathChecker, pathErr); pathOption.addChecker(pathChecker, pathErr);
trayOption.addChecker(booleanChecker, booleanErr); trayOption.addChecker(booleanChecker, booleanErr);
autostartOption.addChecker(booleanChecker, booleanErr); autostartOption.addChecker(booleanChecker, booleanErr);
notificationOption.addChecker(booleanChecker, booleanErr);
showHelpOption.addChecker(booleanChecker, booleanErr); showHelpOption.addChecker(booleanChecker, booleanErr);
screenNumberOption.addChecker(numericChecker, numberErr); screenNumberOption.addChecker(numericChecker, numberErr);
@@ -368,6 +373,7 @@ int main(int argc, char* argv[])
uploadOption }, uploadOption },
fullArgument); fullArgument);
parser.AddOptions({ autostartOption, parser.AddOptions({ autostartOption,
notificationOption,
filenameOption, filenameOption,
trayOption, trayOption,
showHelpOption, showHelpOption,
@@ -539,13 +545,14 @@ int main(int argc, char* argv[])
return requestCaptureAndWait(req); return requestCaptureAndWait(req);
} else if (parser.isSet(configArgument)) { // CONFIG } else if (parser.isSet(configArgument)) { // CONFIG
bool autostart = parser.isSet(autostartOption); bool autostart = parser.isSet(autostartOption);
bool notification = parser.isSet(notificationOption);
bool filename = parser.isSet(filenameOption); bool filename = parser.isSet(filenameOption);
bool tray = parser.isSet(trayOption); bool tray = parser.isSet(trayOption);
bool mainColor = parser.isSet(mainColorOption); bool mainColor = parser.isSet(mainColorOption);
bool contrastColor = parser.isSet(contrastColorOption); bool contrastColor = parser.isSet(contrastColorOption);
bool check = parser.isSet(checkOption); bool check = parser.isSet(checkOption);
bool someFlagSet = (autostart || filename || tray || mainColor || bool someFlagSet = (autostart || notification || filename || tray ||
contrastColor || check); mainColor || contrastColor || check);
if (check) { if (check) {
AbstractLogger err = AbstractLogger::error(AbstractLogger::Stderr); AbstractLogger err = AbstractLogger::error(AbstractLogger::Stderr);
bool ok = ConfigHandler().checkForErrors(&err); bool ok = ConfigHandler().checkForErrors(&err);
@@ -571,6 +578,10 @@ int main(int argc, char* argv[])
config.setStartupLaunch(parser.value(autostartOption) == config.setStartupLaunch(parser.value(autostartOption) ==
"true"); "true");
} }
if (notification) {
config.setShowDesktopNotification(
parser.value(notificationOption) == "true");
}
if (filename) { if (filename) {
QString newFilename(parser.value(filenameOption)); QString newFilename(parser.value(filenameOption));
config.setFilenamePattern(newFilename); config.setFilenamePattern(newFilename);