aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/FilePage.cpp
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2022-02-13 08:40:11 +0000
committerSaturneric <[email protected]>2022-02-13 08:40:11 +0000
commit3c889bd876460b37daddb98b2816e85495ed4426 (patch)
tree24e539a14a84cfc10fa39f0aa79a56286ff64632 /src/ui/widgets/FilePage.cpp
parent<fix>(ci): Minor bug in modifying OS labels in ci files (diff)
downloadGpgFrontend-3c889bd876460b37daddb98b2816e85495ed4426.tar.gz
GpgFrontend-3c889bd876460b37daddb98b2816e85495ed4426.zip
<feat, refactor>(ui, core): Transfer file hash calculation logic to core
1. show file size
Diffstat (limited to 'src/ui/widgets/FilePage.cpp')
-rw-r--r--src/ui/widgets/FilePage.cpp49
1 files changed, 3 insertions, 46 deletions
diff --git a/src/ui/widgets/FilePage.cpp b/src/ui/widgets/FilePage.cpp
index 7615c05f..bbe5e548 100644
--- a/src/ui/widgets/FilePage.cpp
+++ b/src/ui/widgets/FilePage.cpp
@@ -347,52 +347,9 @@ void FilePage::slot_delete_item() {
}
void FilePage::slot_calculate_hash() {
- // Returns empty QByteArray() on failure.
- QFileInfo info(QString::fromStdString(selected_path_.string()));
-
- if (info.isFile() && info.isReadable()) {
- std::stringstream ss;
-
- ss << "[#] " << _("File Hash Information") << std::endl;
- ss << " " << _("filename") << _(": ")
- << selected_path_.filename().string().c_str() << std::endl;
-
- QFile f(info.filePath());
- f.open(QFile::ReadOnly);
- auto buffer = f.readAll();
- LOG(INFO) << "buffer size" << buffer.size();
- f.close();
- if (f.open(QFile::ReadOnly)) {
- auto hash_md5 = QCryptographicHash(QCryptographicHash::Md5);
- // md5
- hash_md5.addData(buffer);
- auto md5 = hash_md5.result().toHex().toStdString();
- LOG(INFO) << "md5" << md5;
- ss << " "
- << "md5" << _(": ") << md5 << std::endl;
-
- auto hash_sha1 = QCryptographicHash(QCryptographicHash::Sha1);
- // sha1
- hash_sha1.addData(buffer);
- auto sha1 = hash_sha1.result().toHex().toStdString();
- LOG(INFO) << "sha1" << sha1;
- ss << " "
- << "sha1" << _(": ") << sha1 << std::endl;
-
- auto hash_sha256 = QCryptographicHash(QCryptographicHash::Sha256);
- // sha1
- hash_sha256.addData(buffer);
- auto sha256 = hash_sha256.result().toHex().toStdString();
- LOG(INFO) << "sha256" << sha256;
- ss << " "
- << "sha256" << _(": ") << sha256 << std::endl;
-
- ss << std::endl;
-
- emit SignalRefreshInfoBoard(ss.str().c_str(),
- InfoBoardStatus::INFO_ERROR_OK);
- }
- }
+ auto info_str = FileOperator::CalculateHash(selected_path_);
+ emit SignalRefreshInfoBoard(info_str.c_str(),
+ InfoBoardStatus::INFO_ERROR_OK);
}
void FilePage::slot_mkdir() {