diff --git a/kcms/componentchooser/componentchooseremail.cpp b/kcms/componentchooser/componentchooseremail.cpp --- a/kcms/componentchooser/componentchooseremail.cpp +++ b/kcms/componentchooser/componentchooseremail.cpp @@ -22,11 +22,15 @@ #include #include #include +#include + #include #include #include #include #include +#include +#include // for chmod: #include @@ -138,14 +142,23 @@ defaultApp.writeXdgListEntry("x-scheme-handler/mailto", QStringList(m_emailClientService->storageId())); } profile->sync(); + + KBuildSycocaProgressDialog::rebuildKSycoca(this); } + QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.kde.klauncher5"), + QStringLiteral("/KLauncher"), + QStringLiteral("org.kde.KLauncher"), + QStringLiteral("reparseConfiguration")); + QDBusConnection::sessionBus().send(message); + // insure proper permissions -- contains sensitive data QString cfgName(QStandardPaths::locate(QStandardPaths::ConfigLocation, QStringLiteral("emails"))); if (!cfgName.isEmpty()) ::chmod(QFile::encodeName(cfgName), 0600); QDBusMessage message = QDBusMessage::createSignal(QStringLiteral("/Component"), QStringLiteral("org.kde.Kcontrol"), QStringLiteral("KDE_emailSettingsChanged") ); QDBusConnection::sessionBus().send(message); + emit changed(false); }