File indexing completed on 2024-05-26 05:37:00
0001 /* 0002 SPDX-FileCopyrightText: 2002 Joseph Wenninger <jowenn@kde.org> 0003 SPDX-FileCopyrightText: 2020 Méven Car <meven.car@kdemail.net> 0004 SPDX-FileCopyrightText: 2020 Tobias Fella <fella@posteo.de> 0005 SPDX-FileCopyrightText: 2022 Méven Car <meven@kde.org> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #include "componentchooseremail.h" 0011 0012 #include <KEMailSettings> 0013 #include <KService> 0014 0015 ComponentChooserEmail::ComponentChooserEmail(QObject *parent) 0016 : ComponentChooser(parent, 0017 QStringLiteral("x-scheme-handler/mailto"), 0018 QStringLiteral("Email"), 0019 QStringLiteral("org.kde.kmail2.desktop"), 0020 i18n("Select default e-mail client")) 0021 { 0022 } 0023 0024 static const QStringList emailMimetypes{"x-scheme-handler/mailto"}; 0025 0026 QStringList ComponentChooserEmail::mimeTypes() const 0027 { 0028 return emailMimetypes; 0029 } 0030 0031 void ComponentChooserEmail::save() 0032 { 0033 const auto storageId = currentStorageId(); 0034 0035 const KService::Ptr emailClientService = KService::serviceByStorageId(storageId); 0036 if (!emailClientService) { 0037 return; 0038 } 0039 const bool kmailSelected = storageId == QStringLiteral("org.kde.kmail2.desktop"); 0040 0041 KEMailSettings *emailSettings = new KEMailSettings(); 0042 0043 if (kmailSelected) { 0044 emailSettings->setSetting(KEMailSettings::ClientProgram, QString()); 0045 emailSettings->setSetting(KEMailSettings::ClientTerminal, QStringLiteral("false")); 0046 } else { 0047 emailSettings->setSetting(KEMailSettings::ClientProgram, storageId); 0048 emailSettings->setSetting(KEMailSettings::ClientTerminal, emailClientService->terminal() ? QStringLiteral("true") : QStringLiteral("false")); 0049 } 0050 0051 saveMimeTypeAssociations(storageId, emailMimetypes); 0052 }