forked from localhorst/reHDD
		
	delete task thread
This commit is contained in:
		| @ -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(); | ||||
|  | ||||
| @ -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 <Drive>* pvecOldDrives, vector <Drive>* pvecNewDrives) | ||||
| { | ||||
|     vector <Drive>::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(); | ||||
|                 } | ||||
|         } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user