From 2a2bfc6fe6d1742d54b66312bbe94a52fcfa7d22 Mon Sep 17 00:00:00 2001 From: localhorst Date: Mon, 21 Sep 2020 16:50:33 +0200 Subject: [PATCH] delete task thread --- include/reHDD.h | 1 + src/reHDD.cpp | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/include/reHDD.h b/include/reHDD.h index 5bb3344..7432005 100644 --- a/include/reHDD.h +++ b/include/reHDD.h @@ -89,6 +89,7 @@ private: static void ThreadScannDevices(); static void ThreadUserInput(); static void ThreadShred(); + static void ThreadDelete(); static void ThreadCheckFrozenDrives(); static void handleArrowKey(TUI::UserInput userInput); static void handleEnter(); diff --git a/src/reHDD.cpp b/src/reHDD.cpp index 8405708..8e1bd06 100644 --- a/src/reHDD.cpp +++ b/src/reHDD.cpp @@ -207,6 +207,18 @@ void reHDD::ThreadShred() } } +void reHDD::ThreadDelete() +{ + if (getSelectedDrive() != nullptr) + { + Delete::deleteDrive(getSelectedDrive()); //blocking, no thread + getSelectedDrive()->state = Drive::TaskState::NONE; //delete finished + getSelectedDrive()->bWasDeleteted = true; + Logger::logThis()->info("Finished delete for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial()); + ui->updateTUI(&vecDrives, u8SelectedEntry); + } +} + void reHDD::filterNewDrives(vector * pvecOldDrives, vector * pvecNewDrives) { vector ::iterator itOld; //Iterator for current (old) drive list @@ -486,10 +498,7 @@ void reHDD::handleEnter() Logger::logThis()->info("Started delete for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial()); getSelectedDrive()->state = Drive::TaskState::DELETE_ACTIVE; //task for drive is running --> donĀ“t show more task options - Delete::deleteDrive(getSelectedDrive()); //blocking, no thread - getSelectedDrive()->state = Drive::TaskState::NONE; //delete finished - getSelectedDrive()->bWasDeleteted = true; - Logger::logThis()->info("Finished delete for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial()); + thread(ThreadDelete).detach(); } } }