fully implemented user menu

This commit is contained in:
2020-08-09 23:05:32 +02:00
parent c2ab7c1c7f
commit cf2bb664d7
3 changed files with 84 additions and 25 deletions

View File

@ -37,6 +37,8 @@ reHDD::reHDD(void)
{
cout << "created app" << endl;
i32SelectedEntry = 0;
menustate.bDelete = true;
menustate.bShred = true;
}
/**
@ -126,36 +128,44 @@ void reHDD::ThreadUserInput()
break;
case TUI::UserInput::Abort:
//cout << "Abort" << endl;
handleAbort();
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
break;
case TUI::UserInput::Delete:
//cout << "Delete" << endl;
if(SELECTED_DRIVE.state == Drive::NONE)
{
SELECTED_DRIVE.state = Drive::DELETE_SELECTED;
menustate.bAbort = false;
menustate.bDelete = false;
menustate.bShred = false;
menustate.bConfirmDelete = true;
menustate.bConfirmShred = false;
}
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
break;
case TUI::UserInput::Shred:
//cout << "Shred" << endl;
if(SELECTED_DRIVE.state == Drive::NONE)
{
SELECTED_DRIVE.state = Drive::SHRED_SELECTED;
menustate.bAbort = false;
menustate.bDelete = false;
menustate.bShred = false;
menustate.bConfirmDelete = false;
menustate.bConfirmShred = true;
}
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
break;
case TUI::UserInput::Enter:
//cout << "Enter" << endl;
handleEnter();
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
break;
case TUI::UserInput::ESC:
//cout << "ESC" << endl;
handleESC();
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
break;
default:
break;
@ -376,12 +386,10 @@ void reHDD::handleArrowKey(TUI::UserInput userInput)
break;
}
if(SELECTED_DRIVE.state == Drive::TaskState::SHRED_ACTIVE || SELECTED_DRIVE.state == Drive::TaskState::DELETE_ACTIVE)
{
//task for drive is running --> don´t show more task options
menustate.bAbort = true; //activate abort
menustate.bConfirmAbort = false;
menustate.bDelete = false;
menustate.bShred = false;
menustate.bConfirmDelete = false;
@ -392,7 +400,6 @@ void reHDD::handleArrowKey(TUI::UserInput userInput)
{
//no task for drive is running --> show more task options
menustate.bAbort = false; //deactivate abort
menustate.bConfirmAbort = false;
menustate.bDelete = true;
menustate.bShred = true;
menustate.bConfirmDelete = false;
@ -406,12 +413,24 @@ void reHDD::handleEnter()
if(SELECTED_DRIVE.state == Drive::TaskState::SHRED_SELECTED)
{
SELECTED_DRIVE.state = Drive::TaskState::SHRED_ACTIVE;
//task for drive is running --> don´t show more task options
menustate.bAbort = true; //activate abort
menustate.bDelete = false;
menustate.bShred = false;
menustate.bConfirmDelete = false;
menustate.bConfirmShred = false;
//TODO start shredding
}
if(SELECTED_DRIVE.state == Drive::TaskState::DELETE_SELECTED)
{
SELECTED_DRIVE.state = Drive::TaskState::DELETE_ACTIVE;
//task for drive is running --> don´t show more task options
menustate.bAbort = true; //activate abort
menustate.bDelete = false;
menustate.bShred = false;
menustate.bConfirmDelete = false;
menustate.bConfirmShred = false;
//TODO start deleting
}
}
@ -422,11 +441,23 @@ void reHDD::handleESC()
if(SELECTED_DRIVE.state == Drive::TaskState::SHRED_SELECTED)
{
SELECTED_DRIVE.state = Drive::TaskState::NONE;
//task for drive is selected --> remove selection
menustate.bAbort = false; //activate abort
menustate.bDelete = true;
menustate.bShred = true;
menustate.bConfirmDelete = false;
menustate.bConfirmShred = false;
}
if(SELECTED_DRIVE.state == Drive::TaskState::DELETE_SELECTED)
{
SELECTED_DRIVE.state = Drive::TaskState::NONE;
//task for drive is selected --> remove selection
menustate.bAbort = false; //activate abort
menustate.bDelete = true;
menustate.bShred = true;
menustate.bConfirmDelete = false;
menustate.bConfirmShred = false;
}
}
@ -436,5 +467,11 @@ void reHDD::handleAbort()
{
// TODO cancle shred or delete
SELECTED_DRIVE.state = Drive::NONE;
//task for drive is running --> remove selection
menustate.bAbort = false; //activate abort
menustate.bDelete = true;
menustate.bShred = true;
menustate.bConfirmDelete = false;
menustate.bConfirmShred = false;
}
}