1 /* 2 SPDX-FileCopyrightText: 2012-2021 Laurent Montel <montel@kde.org> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #include "importwizardsavepasswordjob.h" 8 #include "libimportwizard_debug.h" 9 using namespace QKeychain; 10 ImportWizardSavePasswordJob(QObject * parent)11ImportWizardSavePasswordJob::ImportWizardSavePasswordJob(QObject *parent) 12 : QObject(parent) 13 { 14 } 15 ~ImportWizardSavePasswordJob()16ImportWizardSavePasswordJob::~ImportWizardSavePasswordJob() 17 { 18 } 19 canStart() const20bool ImportWizardSavePasswordJob::canStart() const 21 { 22 return !mName.isEmpty() && !mPassword.isEmpty() && !mKey.isEmpty(); 23 } 24 start()25void ImportWizardSavePasswordJob::start() 26 { 27 if (!canStart()) { 28 if (mName.isEmpty()) { 29 qCWarning(LIBIMPORTWIZARD_LOG) << "Error missing mName"; 30 } 31 if (mKey.isEmpty()) { 32 qCWarning(LIBIMPORTWIZARD_LOG) << "Error missing mKey"; 33 } 34 if (mPassword.isEmpty()) { 35 qCWarning(LIBIMPORTWIZARD_LOG) << "Error missing mName"; 36 } 37 deleteLater(); 38 return; 39 } 40 auto writeJob = new WritePasswordJob(mName, this); 41 connect(writeJob, &Job::finished, this, &ImportWizardSavePasswordJob::slotPasswordWritten); 42 writeJob->setKey(mKey); 43 writeJob->setTextData(mPassword); 44 writeJob->start(); 45 } 46 slotPasswordWritten(QKeychain::Job * baseJob)47void ImportWizardSavePasswordJob::slotPasswordWritten(QKeychain::Job *baseJob) 48 { 49 if (baseJob->error()) { 50 qCWarning(LIBIMPORTWIZARD_LOG) << "Error writing password using QKeychain:" << baseJob->errorString(); 51 } 52 deleteLater(); 53 } 54 name() const55QString ImportWizardSavePasswordJob::name() const 56 { 57 return mName; 58 } 59 setName(const QString & name)60void ImportWizardSavePasswordJob::setName(const QString &name) 61 { 62 mName = name; 63 } 64 key() const65QString ImportWizardSavePasswordJob::key() const 66 { 67 return mKey; 68 } 69 setKey(const QString & key)70void ImportWizardSavePasswordJob::setKey(const QString &key) 71 { 72 mKey = key; 73 } 74 password() const75QString ImportWizardSavePasswordJob::password() const 76 { 77 return mPassword; 78 } 79 setPassword(const QString & password)80void ImportWizardSavePasswordJob::setPassword(const QString &password) 81 { 82 mPassword = password; 83 } 84