+ // General options
+ /// @todo Bring back --datadir to specify the database location independent of config
+ if (runMode() == RunMode::ClientOnly) {
+ options += {{"c", "configdir"}, tr("Specify the directory holding the client configuration."), tr("path")};
+ }
+ else {
+ options += {{"c", "configdir"},
+ tr("Specify the directory holding configuration files, the SQlite database and the SSL certificate."),
+ tr("path")};
+ }
+
+ // Client options
+ if (runMode() != RunMode::CoreOnly) {
+ options += {
+ {"icontheme", tr("Override the system icon theme ('breeze' is recommended)."), tr("theme")},
+ {"qss", tr("Load a custom application stylesheet."), tr("file.qss")},
+ {"hidewindow", tr("Start the client minimized to the system tray.")},
+ {"account", tr("Account id to connect to on startup."), tr("account"), "0"},
+ };
+ }
+
+ // Core options
+ if (runMode() != RunMode::ClientOnly) {
+ options += {
+ {"listen", tr("The address(es) quasselcore will listen on."), tr("<address>[,<address>[,...]]"), "::,0.0.0.0"},
+ {{"p", "port"}, tr("The port quasselcore will listen at."), tr("port"), "4242"},
+ {{"n", "norestore"}, tr("Don't restore last core's state.")},
+ {"config-from-environment", tr("Load configuration from environment variables.")},
+ {"select-backend", tr("Switch storage backend (migrating data if possible)."), tr("backendidentifier")},
+ {"select-authenticator", tr("Select authentication backend."), tr("authidentifier")},
+ {"add-user", tr("Starts an interactive session to add a new core user.")},
+ {"change-userpass",
+ tr("Starts an interactive session to change the password of the user identified by <username>."),
+ tr("username")},
+ {"strict-ident", tr("Use users' quasselcore username as ident reply. Ignores each user's configured ident setting.")},
+ {"ident-daemon", tr("Enable internal ident daemon.")},
+ {"ident-port",
+ tr("The port quasselcore will listen at for ident requests. Only meaningful with --ident-daemon."),
+ tr("port"),
+ "10113"},
+ {"ident-listen", tr("The address(es) quasselcore will listen on for ident requests. Same format as --listen."), tr("<address>[,...]"), "::1,127.0.0.1"},
+ {"oidentd", tr("Enable oidentd integration. In most cases you should also enable --strict-ident.")},
+ {"oidentd-conffile", tr("Set path to oidentd configuration file."), tr("file")},
+#ifdef HAVE_SSL
+ {"require-ssl", tr("Require SSL for remote (non-loopback) client connections.")},
+ {"ssl-cert", tr("Specify the path to the SSL certificate."), tr("path"), "configdir/quasselCert.pem"},
+ {"ssl-key", tr("Specify the path to the SSL key."), tr("path"), "ssl-cert-path"},