Merge branch 'master' into feature/failed-state
This commit is contained in:
58
src/tui.cpp
58
src/tui.cpp
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "../include/reHDD.h"
|
||||
using namespace std;
|
||||
|
||||
static std::mutex mxUIrefresh;
|
||||
|
||||
@ -98,9 +99,9 @@ void TUI::updateTUI(list<Drive> *plistDrives, uint8_t u8SelectedEntry)
|
||||
string sSpeed = " ";
|
||||
string sTime = " ";
|
||||
string sTemp = it->sTemperatureToText();
|
||||
string sConnection = (it->connectionType == Drive::USB ? "USB" : it->connectionType == Drive::SATA ? "SATA"
|
||||
: it->connectionType == Drive::NVME ? "NVME"
|
||||
: "");
|
||||
string sConnection = (it->connectionType == Drive::ConnectionType::USB ? "USB" : it->connectionType == Drive::ConnectionType::SATA ? "SATA"
|
||||
: it->connectionType == Drive::ConnectionType::NVME ? "NVME"
|
||||
: "");
|
||||
|
||||
bool bSelectedEntry = false;
|
||||
|
||||
@ -121,31 +122,40 @@ void TUI::updateTUI(list<Drive> *plistDrives, uint8_t u8SelectedEntry)
|
||||
|
||||
switch (it->state)
|
||||
{
|
||||
case Drive::SHRED_ACTIVE:
|
||||
|
||||
case Drive::TaskState::SHRED_ACTIVE:
|
||||
{
|
||||
stream << fixed << setprecision(3) << (it->getTaskPercentage());
|
||||
sState = "Shredding: " + stream.str() + "%";
|
||||
|
||||
it->calculateTaskDuration();
|
||||
sTime = this->formatTimeDuration(it->getTaskDuration());
|
||||
sSpeed = this->formatSpeed(it->sShredSpeed.u32ShredTimeDelta, it->sShredSpeed.ulWrittenBytes);
|
||||
auto shredSpeed = it->sShredSpeed.load();
|
||||
sSpeed = this->formatSpeed(shredSpeed.u32ShredTimeDelta, shredSpeed.ulWrittenBytes);
|
||||
break;
|
||||
case Drive::CHECK_ACTIVE:
|
||||
}
|
||||
case Drive::TaskState::CHECK_ACTIVE:
|
||||
{
|
||||
stream << fixed << setprecision(3) << (it->getTaskPercentage());
|
||||
sState = "Checking: " + stream.str() + "%";
|
||||
it->calculateTaskDuration();
|
||||
sTime = this->formatTimeDuration(it->getTaskDuration());
|
||||
sSpeed = this->formatSpeed(it->sShredSpeed.u32ShredTimeDelta, it->sShredSpeed.ulWrittenBytes);
|
||||
auto shredSpeed = it->sShredSpeed.load();
|
||||
sSpeed = this->formatSpeed(shredSpeed.u32ShredTimeDelta, shredSpeed.ulWrittenBytes);
|
||||
break;
|
||||
case Drive::DELETE_ACTIVE:
|
||||
}
|
||||
case Drive::TaskState::DELETE_ACTIVE:
|
||||
{
|
||||
|
||||
sState = "Deleting ...";
|
||||
it->calculateTaskDuration();
|
||||
sTime = this->formatTimeDuration(it->getTaskDuration());
|
||||
break;
|
||||
case Drive::NONE:
|
||||
case Drive::SHRED_SELECTED:
|
||||
case Drive::DELETE_SELECTED:
|
||||
case Drive::CHECK_SUCCESSFUL:
|
||||
}
|
||||
case Drive::TaskState::NONE:
|
||||
case Drive::TaskState::SHRED_SELECTED:
|
||||
case Drive::TaskState::DELETE_SELECTED:
|
||||
case Drive::TaskState::CHECK_SUCCESSFUL:
|
||||
{
|
||||
if (it->bWasDeleted)
|
||||
{
|
||||
sState = "DELETED"; // mark drive as deleted previously
|
||||
@ -166,15 +176,15 @@ void TUI::updateTUI(list<Drive> *plistDrives, uint8_t u8SelectedEntry)
|
||||
}
|
||||
|
||||
#ifdef ZERO_CHECK
|
||||
if (bSelectedEntry && it->bWasChecked && (it->state == Drive::CHECK_FAILED))
|
||||
if (bSelectedEntry && it->bWasChecked && (it->state == Drive::TaskState::CHECK_FAILED))
|
||||
{
|
||||
dialog = createZeroChecksumWarning(70, 16, ((u16StdscrX) - (int)(u16StdscrX / 2) - 20), (int)(u16StdscrY / 2) - 8, it->getPath(), it->getModelFamily(), it->getModelName(), it->getSerial(), it->u32DriveChecksumAfterShredding);
|
||||
wrefresh(dialog);
|
||||
}
|
||||
#endif
|
||||
|
||||
break;
|
||||
case Drive::FROZEN:
|
||||
}
|
||||
case Drive::TaskState::FROZEN:
|
||||
stream << fixed << setprecision(3) << (it->getTaskPercentage());
|
||||
#ifdef FROZEN_ALERT
|
||||
if (bSelectedEntry)
|
||||
@ -290,7 +300,7 @@ WINDOW *TUI::createOverViewWindow(int iXSize, int iYSize)
|
||||
return newWindow;
|
||||
}
|
||||
|
||||
WINDOW *TUI::createDetailViewWindow(int iXSize, int iYSize, int iXStart, Drive drive)
|
||||
WINDOW *TUI::createDetailViewWindow(int iXSize, int iYSize, int iXStart, Drive &drive)
|
||||
{
|
||||
WINDOW *newWindow;
|
||||
newWindow = newwin(iYSize, iXSize, 1, iXStart);
|
||||
@ -633,7 +643,7 @@ void TUI::vTruncateText(string *psText, uint16_t u16MaxLenght)
|
||||
}
|
||||
}
|
||||
|
||||
void TUI::displaySelectedDrive(Drive drive, int stdscrX, int stdscrY)
|
||||
void TUI::displaySelectedDrive(Drive &drive, int stdscrX, int stdscrY)
|
||||
{
|
||||
struct MenuState menustate;
|
||||
static bool dialogIsActive;
|
||||
@ -646,27 +656,27 @@ void TUI::displaySelectedDrive(Drive drive, int stdscrX, int stdscrY)
|
||||
// set menustate based on drive state
|
||||
switch (drive.state)
|
||||
{
|
||||
case Drive::NONE: // no task running or selected for this drive
|
||||
case Drive::TaskState::NONE: // no task running or selected for this drive
|
||||
menustate.bShred = true;
|
||||
menustate.bDelete = true;
|
||||
break;
|
||||
case Drive::DELETE_ACTIVE: // delete task running for this drive
|
||||
case Drive::TaskState::DELETE_ACTIVE: // delete task running for this drive
|
||||
menustate.bAbort = true;
|
||||
break;
|
||||
|
||||
case Drive::SHRED_ACTIVE: // shred task running for this drive
|
||||
case Drive::TaskState::SHRED_ACTIVE: // shred task running for this drive
|
||||
menustate.bAbort = true;
|
||||
break;
|
||||
|
||||
case Drive::CHECK_ACTIVE: // check task running for this drive
|
||||
case Drive::TaskState::CHECK_ACTIVE: // check task running for this drive
|
||||
menustate.bAbort = true;
|
||||
break;
|
||||
|
||||
case Drive::DELETE_SELECTED: // delete task selected for this drive
|
||||
case Drive::TaskState::DELETE_SELECTED: // delete task selected for this drive
|
||||
menustate.bConfirmDelete = true;
|
||||
break;
|
||||
|
||||
case Drive::SHRED_SELECTED: // shred task selected for this drive
|
||||
case Drive::TaskState::SHRED_SELECTED: // shred task selected for this drive
|
||||
menustate.bConfirmShred = true;
|
||||
break;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user