forked from localhorst/reHDD
refactor menustatr
This commit is contained in:
@ -10,8 +10,6 @@
|
||||
|
||||
static int fdSearchDrives[2];//File descriptor for pipe that informs if new drives are found
|
||||
|
||||
static int fdUserInput[2];//File descriptor for pipe that informs if a user input occoures
|
||||
|
||||
static int fdWhipe[2];//File descriptor for pipe that informs if a wipe thread signals
|
||||
|
||||
static std::mutex mxScannDrives;
|
||||
@ -26,7 +24,7 @@ static int32_t i32SelectedEntry;
|
||||
|
||||
static fd_set selectSet;
|
||||
|
||||
static struct TUI::MenuState menustate;
|
||||
//static struct TUI::MenuState menustate;
|
||||
|
||||
/**
|
||||
* \brief app constructor
|
||||
@ -37,8 +35,6 @@ reHDD::reHDD(void)
|
||||
{
|
||||
cout << "created app" << endl;
|
||||
i32SelectedEntry = 0;
|
||||
menustate.bDelete = true;
|
||||
menustate.bShred = true;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -74,10 +70,9 @@ void reHDD::app_logic(void)
|
||||
|
||||
filterNewDrives(&vecDrives, &vecNewDrives); //filter and copy to app logic vector
|
||||
mxScannDrives.unlock();
|
||||
//printDrives(&vecDrives);
|
||||
//TODO update UI
|
||||
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry);
|
||||
}
|
||||
else if (FD_ISSET(fdWhipe[0], &selectSet))
|
||||
{
|
||||
@ -116,12 +111,12 @@ void reHDD::ThreadUserInput()
|
||||
case TUI::UserInput::DownKey:
|
||||
//cout << "Down" << endl;
|
||||
handleArrowKey(TUI::UserInput::DownKey);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry);
|
||||
break;
|
||||
case TUI::UserInput::UpKey:
|
||||
//cout << "Up" << endl;
|
||||
handleArrowKey(TUI::UserInput::UpKey);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry);
|
||||
break;
|
||||
case TUI::UserInput::Undefined:
|
||||
//cout << "Undefined" << endl;
|
||||
@ -129,43 +124,33 @@ void reHDD::ThreadUserInput()
|
||||
case TUI::UserInput::Abort:
|
||||
//cout << "Abort" << endl;
|
||||
handleAbort();
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry);
|
||||
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);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry);
|
||||
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);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry);
|
||||
break;
|
||||
case TUI::UserInput::Enter:
|
||||
//cout << "Enter" << endl;
|
||||
handleEnter();
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry);
|
||||
break;
|
||||
case TUI::UserInput::ESC:
|
||||
//cout << "ESC" << endl;
|
||||
handleESC();
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry, menustate);
|
||||
ui->updateTUI(&vecDrives, i32SelectedEntry);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -385,27 +370,6 @@ void reHDD::handleArrowKey(TUI::UserInput userInput)
|
||||
i32SelectedEntry = 0;
|
||||
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.bDelete = false;
|
||||
menustate.bShred = false;
|
||||
menustate.bConfirmDelete = false;
|
||||
menustate.bConfirmShred = false;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//no task for drive is running --> show more task options
|
||||
menustate.bAbort = false; //deactivate abort
|
||||
menustate.bDelete = true;
|
||||
menustate.bShred = true;
|
||||
menustate.bConfirmDelete = false;
|
||||
menustate.bConfirmShred = false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void reHDD::handleEnter()
|
||||
@ -414,11 +378,6 @@ void reHDD::handleEnter()
|
||||
{
|
||||
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
|
||||
}
|
||||
|
||||
@ -426,38 +385,22 @@ void reHDD::handleEnter()
|
||||
{
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -468,10 +411,5 @@ 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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user