diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..6581bc4 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,24 @@ +# 0.0.3: Git Initial Support and Move to RNP +- Port app to Focal +- Improve UI : + - Follow human interface guidelines + - Fix various components color to work with black theme +- Rewrite of Pass Plugin: + - Move from GPGMe to RNP for GPG operations due to issues running GPG agent in a confined app + - Improve multithreading code for GPG operations +- Add Git HTTP and HTTP AUTH clone for password store import feature +- Add delete password store feature + +# 0.0.2 : Added translations +- Added French by Anne17 and Reda +- Added Catalan by Joan CiberSheep +- Added Spanish by Advocatux and Reda + +Thanks to all the translators ! + +# 0.0.1 : Initial Release +- Import of gpg keys via file +- Suppression of gpg keys +- Import of password via a password store zip +- Password decryption +- Password copy to clipboard diff --git a/plugins/Pass/pass.cpp b/plugins/Pass/pass.cpp index d291c62..5c4db4e 100644 --- a/plugins/Pass/pass.cpp +++ b/plugins/Pass/pass.cpp @@ -95,12 +95,12 @@ void Pass::slotShowSucceed(QString encrypted_file_path, QString plain_text) bool Pass::deletePasswordStore() { - qInfo() << "[Pass] Delete Password Store at" << this->password_store(); + qInfo() << "[Pass] Delete Password Store at" << this->m_password_store; if (!this->m_sem->tryAcquire(1, 500)) { qInfo() << "[Pass] A command is already running"; return false; } - auto job = new RmJob(this->password_store()); + auto job = new RmJob(this->m_password_store); connect(job, &RmJob::resultReady, this, &Pass::slotDeletePasswordStoreResult); connect(job, &RmJob::finished, job, &QObject::deleteLater); job->start(); diff --git a/plugins/Pass/pass.h b/plugins/Pass/pass.h index f86ae37..e7c9787 100644 --- a/plugins/Pass/pass.h +++ b/plugins/Pass/pass.h @@ -22,8 +22,8 @@ extern "C" { class Pass : public QObject { Q_OBJECT - Q_PROPERTY(QString password_store MEMBER m_password_store READ password_store WRITE set_password_store ) - Q_PROPERTY(QString gpg_home MEMBER m_gpg_home READ gpg_home WRITE set_gpg_home ) + Q_PROPERTY(QString password_store MEMBER m_password_store WRITE set_password_store ) + Q_PROPERTY(QString gpg_home MEMBER m_gpg_home WRITE set_gpg_home ) private slots: /** @@ -166,15 +166,6 @@ public: */ Pass(); - /** - * @brief Gets the path to the password store. - * @return The path to the password store. - */ - QString password_store() const - { - return this->m_password_store; - }; - /** * @brief Set the path to the password store. * @param The path to the password store. @@ -185,15 +176,6 @@ public: this->m_password_store = password_store; }; - /** - * @brief Gets the path to the gpg home. - * @return The path to the gpg home. - */ - QString gpg_home() const - { - return this->m_gpg_home; - }; - /** * @brief Set the path to the gpg hom. * @param The path to the gpg hom diff --git a/plugins/Utils/jobs/unzipjob.cpp b/plugins/Utils/jobs/unzipjob.cpp index 107ffa7..21baadf 100644 --- a/plugins/Utils/jobs/unzipjob.cpp +++ b/plugins/Utils/jobs/unzipjob.cpp @@ -52,6 +52,5 @@ void UnzipJob::run() qDebug() << dir_import_path << " to " << this->m_dir_out; auto ret = dir.rename(dir_import_path, this->m_dir_out.absolutePath()); tmp_dir.removeRecursively();; - emit resultReady(ret); - + emit resultReady(!ret); } diff --git a/po/utpass.qrouland.pot b/po/utpass.qrouland.pot index 1aa8931..9affc29 100644 --- a/po/utpass.qrouland.pot +++ b/po/utpass.qrouland.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: utpass.qrouland\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-02-04 14:14+0100\n" +"POT-Creation-Date: 2025-02-04 14:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/qml/pages/settings/ImportKeyFile.qml b/qml/pages/settings/ImportKeyFile.qml index afd0471..2671bb6 100644 --- a/qml/pages/settings/ImportKeyFile.qml +++ b/qml/pages/settings/ImportKeyFile.qml @@ -30,13 +30,13 @@ Page { console.log(importKeyFilePage.activeTransfer.items[0].url); var status = Pass.importGPGKey(importKeyFilePage.activeTransfer.items[0].url); Pass.importGPGKeySucceed.connect(function() { - importKeyFilePage.activeTransfer = null; Utils.rmFile(importKeyFilePage.activeTransfer.items[0].url); + importKeyFilePage.activeTransfer = null; PopupUtils.open(dialogImportKeyPageSucess); }); Pass.importGPGKeyFailed.connect(function(message) { - importKeyFilePage.activeTransfer = null; Utils.rmFile(importKeyFilePage.activeTransfer.items[0].url); + importKeyFilePage.activeTransfer = null; PopupUtils.open(dialogImportKeyPageError); }); } diff --git a/qml/pages/settings/ImportZip.qml b/qml/pages/settings/ImportZip.qml index 6585211..bf5369f 100644 --- a/qml/pages/settings/ImportZip.qml +++ b/qml/pages/settings/ImportZip.qml @@ -32,15 +32,15 @@ Page { if (importZipPage.activeTransfer.state === ContentTransfer.Charged) { console.log("Charged"); console.log(importZipPage.activeTransfer.items[0].url); - var status = Utils.unzip(importZipPage.activeTransfer.items[0].url, Pass.getPasswordStore()); + var status = Utils.unzip(importZipPage.activeTransfer.items[0].url, Pass.password_store); Utils.unzipSucceed.connect(function() { - importZipPage.activeTransfer = null; Utils.rmFile(importZipPage.activeTransfer.items[0].url); + importZipPage.activeTransfer = null; PopupUtils.open(dialogImportZipPageSuccess); }); Utils.unzipFailed.connect(function() { - importZipPage.activeTransfer = null; Utils.rmFile(importZipPage.activeTransfer.items[0].url); + importZipPage.activeTransfer = null; PopupUtils.open(dialogImportZipPageError); }); }