42 lines
782 B
Rust
42 lines
782 B
Rust
pub enum CurrentScreen {
|
|
Main,
|
|
Add,
|
|
Settings,
|
|
Delete,
|
|
Exit,
|
|
}
|
|
|
|
pub enum EditingField {
|
|
FromIP,
|
|
FromPort,
|
|
ToIP,
|
|
ToPort,
|
|
}
|
|
|
|
pub enum EntryValError {
|
|
None,
|
|
ToPortValError,
|
|
FromPortValError,
|
|
ToIPValError,
|
|
FromIPValError,
|
|
}
|
|
|
|
pub enum AppStatus {
|
|
Welcome,
|
|
Editing,
|
|
Error(EntryValError),
|
|
Added,
|
|
Saved,
|
|
Deleted,
|
|
}
|
|
|
|
pub fn entryValError2Field(err: &EntryValError) -> EditingField {
|
|
match err {
|
|
EntryValError::ToPortValError => EditingField::ToPort,
|
|
EntryValError::FromPortValError => EditingField::FromPort,
|
|
EntryValError::ToIPValError => EditingField::ToIP,
|
|
EntryValError::FromIPValError => EditingField::FromIP,
|
|
EntryValError::None => EditingField::FromIP,
|
|
}
|
|
}
|