-bool CoreApplicationInternal::init() {
- /* FIXME
- This is an initial check if logfile is writable since the warning would spam stdout if done
- in current Logger implementation. Can be dropped whenever the logfile is only opened once.
- */
- QFile logFile;
- if(!Quassel::optionValue("logfile").isEmpty()) {
- logFile.setFileName(Quassel::optionValue("logfile"));
- if(!logFile.open(QIODevice::Append | QIODevice::Text))
- qWarning("Warning: Couldn't open logfile '%s' - will log to stdout instead",qPrintable(logFile.fileName()));
- else logFile.close();
- }
-
- Core::instance(); // create and init the core
- _coreCreated = true;
-
-#ifdef HAVE_KDE
- // if using KDE, option is called "restore" instead of "norestore"
- if(Quassel::isOptionSet("restore"))
-#else
- if(!Quassel::isOptionSet("norestore"))
-#endif
- Core::restoreState();
-
- return true;
+
+bool CoreApplicationInternal::init()
+{
+ Core::instance(); // create and init the core
+ _coreCreated = true;
+
+ Quassel::registerReloadHandler([]() {
+ // Currently, only reloading SSL certificates and the sysident cache is supported
+ Core::cacheSysIdent();
+ return Core::reloadCerts();
+ });
+
+ if (!Quassel::isOptionSet("norestore"))
+ Core::restoreState();
+
+ return true;