diff --git a/kded/ui/vaultcreationwizard.cpp b/kded/ui/vaultcreationwizard.cpp index e5adbb3..603ea05 100644 --- a/kded/ui/vaultcreationwizard.cpp +++ b/kded/ui/vaultcreationwizard.cpp @@ -1,172 +1,172 @@ /* * Copyright 2017 by Ivan Cukic * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License or (at your option) version 3 or any later version * accepted by the membership of KDE e.V. (or its successor approved * by the membership of KDE e.V.), which shall act as a proxy * defined in Section 14 of version 3 of the license. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "vaultcreationwizard.h" #include "ui_vaultcreationwizard.h" #include #include #include #include #include "dialogdsl.h" #include "vault.h" using namespace DialogDsl; using namespace DialogDsl::operators; #include "backendchooserwidget.h" #include "activitieslinkingwidget.h" #include "cryfscypherchooserwidget.h" #include "directorypairchooserwidget.h" #include "noticewidget.h" #include "passwordchooserwidget.h" #include "offlineonlywidget.h" #include "vaultwizardbase.h" class VaultCreationWizard::Private: public WBASE(VaultCreationWizard) { public: Logic logic { { "encfs" / i18n("EncFS"), { step { notice("encfs-message", i18n("Security notice:\n\ According to a security audit by Taylor Hornby (Defuse Security),\n\ the current implementation of Encfs is vulnerable or potentially vulnerable\n\ to multiple types of attacks.\n\ For example, an attacker with read/write access\n\ to encrypted data might lower the decryption complexity\n\ for subsequently encrypted data without this being noticed by a legitimate user,\n\ or might use timing analysis to deduce information.\n\

\n\ This means that you should not synchronize\n\ the encrypted data to a cloud storage service,\n\ or use it in other circumstances where the attacker\n\ can frequently access the encrypted data.\n\

\n\ - See defuse.ca/audits/encfs.htm for more information.")) + See defuse.ca/audits/encfs.htm for more information.")) }, step { passwordChooser() }, step { directoryPairChooser( DirectoryPairChooserWidget::AutoFillPaths | DirectoryPairChooserWidget::ShowMountPointPicker | DirectoryPairChooserWidget::RequireEmptyMountPoint ) }, step { activitiesChooser(), offlineOnlyChooser() } } }, { "cryfs" / i18n("CryFS"), { step { notice("cryfs-message", i18n("Security notice:\n\ CryFS encrypts your files, so you can safely store them anywhere.\n\ It works well together with cloud services like Dropbox, iCloud, OneDrive and others.\n\

\n\ Unlike some other file-system overlay solutions,\n\ it does not expose the directory structure,\n\ the number of files nor the file sizes\n\ through the encrypted data format.\n\

\n\ One important thing to note is that,\n\ while CryFS is considered safe,\n\ there is no independent security audit\n\ which confirms this.")) }, step { passwordChooser() }, step { directoryPairChooser( DirectoryPairChooserWidget::AutoFillPaths | DirectoryPairChooserWidget::ShowDevicePicker | DirectoryPairChooserWidget::ShowMountPointPicker | DirectoryPairChooserWidget::RequireEmptyDevice | DirectoryPairChooserWidget::RequireEmptyMountPoint ) }, step { cryfsCypherChooser(), activitiesChooser(), offlineOnlyChooser() } } } }; Private(VaultCreationWizard *parent) : WBASE(VaultCreationWizard)(parent) { initBase(); } void finish() { q->setEnabled(false); auto collectedPayload = firstStepModule->fields(); for (const auto* module: currentStepModules) { collectedPayload.unite(module->fields()); } const auto name = collectedPayload[KEY_NAME].toString(); const PlasmaVault::Device device(collectedPayload[KEY_DEVICE].toString()); const PlasmaVault::MountPoint mountPoint(collectedPayload[KEY_MOUNT_POINT].toString()); auto vault = new PlasmaVault::Vault(device, q); auto future = vault->create(name, mountPoint, collectedPayload); auto result = AsynQt::await(future); if (result) { emit q->createdVault(vault); q->QDialog::accept(); } else { ui.message->setText(result.error().message()); ui.message->setMessageType(KMessageWidget::Error); ui.message->show(); vault->scheduleDeletion(); } q->setEnabled(true); } }; VaultCreationWizard::VaultCreationWizard(QWidget *parent) : QDialog(parent) , d(new Private(this)) { setWindowTitle(i18nc("@title:window", "Create a New Vault")); } VaultCreationWizard::~VaultCreationWizard() { } diff --git a/plasma/package/metadata.desktop b/plasma/package/metadata.desktop index 711c946..f773bb3 100644 --- a/plasma/package/metadata.desktop +++ b/plasma/package/metadata.desktop @@ -1,97 +1,97 @@ [Desktop Entry] Name=Vaults Name[ar]=الخزنات Name[ca]=Caixes fortes Name[ca@valencia]=Caixes fortes Name[cs]=Sejfy Name[da]=Sikkerhedsbokse Name[de]=Vaults Name[el]=Θησαυροφυλάκια Name[en_GB]=Vaults Name[es]=Cajas fuertes Name[eu]=Kutxa gotorrak Name[fi]=Holvit Name[fr]=Coffres-forts Name[gl]=Caixas fortes Name[hu]=Tárak Name[id]=Vaults Name[it]=Caveau Name[ko]=비밀 공간 Name[nl]=Kluizen Name[nn]=Datakvelv Name[pa]=ਵਾਲਟ Name[pl]=Sejfy Name[pt]=Cofres Name[pt_BR]=Cofres Name[ru]=Зашифрованные папки Name[sk]=Klenby Name[sl]=Shrambe Name[sr]=Трезори Name[sr@ijekavian]=Трезори Name[sr@ijekavianlatin]=Trezori Name[sr@latin]=Trezori Name[sv]=Valv Name[tr]=Kasalar Name[uk]=Сховища Name[x-test]=xxVaultsxx Name[zh_CN]=保险库 Name[zh_TW]=儲存庫 Comment=Create encrypted vaults Comment[ar]=أنشئ خزنات معمّاة Comment[ca]=Crea caixes fortes encriptades Comment[ca@valencia]=Crea caixes fortes encriptades Comment[cs]=Vytvářejte šifrované sejfy Comment[da]=Opret krypterede sikkerhedsbokse Comment[de]=Verschlüsselte Vaults erstellen Comment[el]=Δημιουργία κρυπτογραφημένων θησαυροφυλακίων Comment[en_GB]=Create encrypted vaults Comment[es]=Crear cajas fuertes cifradas Comment[eu]=Sortu zifratutako kutxa gotorrak Comment[fi]=Luo salattuja holveja Comment[fr]=Créer des coffres-forts chiffrés Comment[gl]=Crear caixas fortes cifradas. Comment[hu]=Titkosított tárak létrehozása Comment[id]=Ciptakan vault yang dienkripsi Comment[it]=Crea caveau criptati Comment[ko]=암호화된 비밀 공간 생성 Comment[nl]=Versleutelde kluizen aanmaken Comment[nn]=Lag krypterte datakvelv Comment[pa]=ਇੰਕ੍ਰਿਪਟ ਕੀਤੇ ਵਾਲਟ ਬਣਾਓ Comment[pl]=Tworzy zaszyfrowane sejfy Comment[pt]=Criar cofres encriptados Comment[pt_BR]=Cria cofres criptografados Comment[ru]=Создание зашифрованных папок Comment[sk]=Vytvoriť šifrované klenby Comment[sl]=Ustvari šifrirane shrambe Comment[sr]=Правите шифроване трезоре Comment[sr@ijekavian]=Правите шифроване трезоре Comment[sr@ijekavianlatin]=Pravite šifrovane trezore Comment[sr@latin]=Pravite šifrovane trezore Comment[sv]=Skapa krypterade valv Comment[tr]=Şifrelenmiş kasa oluştur Comment[uk]=Створення шифрованих сховищ Comment[x-test]=xxCreate encrypted vaultsxx Comment[zh_CN]=创建加密的保险库 Comment[zh_TW]=建立加密過的儲存庫 Icon=plasmavault Type=Service ServiceTypes=Plasma/Applet X-KDE-Library=plasma_applet_vault X-KDE-PluginInfo-Author=Ivan Čukić X-KDE-PluginInfo-Email=ivan.cukic at kde.org X-KDE-PluginInfo-Name=org.kde.plasma.vault X-KDE-PluginInfo-Version=1.0 -X-KDE-PluginInfo-Website=http://plasma.kde.org/ +X-KDE-PluginInfo-Website=https://plasma.kde.org/ X-KDE-PluginInfo-Category=Utilities X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true X-Plasma-NotificationArea=true X-Plasma-NotificationAreaCategory=SystemServices X-Plasma-API=declarativeappletscript X-Plasma-MainScript=ui/main.qml