QoL & Edit Cards
This commit is contained in:
parent
a421ccfbb1
commit
dcbd030a48
4 changed files with 81 additions and 8 deletions
|
@ -17,7 +17,7 @@ impl TaskBoard {
|
|||
let mut cards: Vec<card::TaskCard> = Vec::new();
|
||||
|
||||
// Creating a new default card
|
||||
cards.push(card::TaskCard::init_empty());
|
||||
cards.push(card::TaskCard::init(String::new(), String::new()));
|
||||
|
||||
// Return the board!
|
||||
return TaskBoard {name: name, cards: cards};
|
||||
|
|
|
@ -8,10 +8,7 @@ pub struct TaskCard {
|
|||
|
||||
// Implementations
|
||||
impl TaskCard {
|
||||
pub fn init_val(name: String, desc: String) -> TaskCard {
|
||||
pub fn init(name: String, desc: String) -> TaskCard {
|
||||
return TaskCard{name: name, desc: desc};
|
||||
}
|
||||
pub fn init_empty() -> TaskCard {
|
||||
return TaskCard::init_val(String::from("New Card"), String::new());
|
||||
}
|
||||
}
|
|
@ -88,7 +88,7 @@ impl<'a> Interface<'a> {
|
|||
if user_input == "1" {
|
||||
self.page = 3;
|
||||
} else if user_input == "2"{
|
||||
|
||||
self.page = 4;
|
||||
} else if user_input == "3"{
|
||||
self.mode = 0;
|
||||
self.page = 5;
|
||||
|
@ -128,7 +128,7 @@ impl<'a> Interface<'a> {
|
|||
println!("");
|
||||
|
||||
// Creating a card
|
||||
let _new_card: card::TaskCard = card::TaskCard::init_val(_name, _desc);
|
||||
let _new_card: card::TaskCard = card::TaskCard::init(_name, _desc);
|
||||
|
||||
// Throw this into our manager
|
||||
self.manager.boards[self.on as usize].cards.push(_new_card);
|
||||
|
@ -136,6 +136,79 @@ impl<'a> Interface<'a> {
|
|||
// Finished!
|
||||
self.page = 2;
|
||||
}
|
||||
fn p_4(&mut self){
|
||||
// Title
|
||||
println!(" - Edit Card - \n");
|
||||
|
||||
// Getting active board
|
||||
let _active: &mut board::TaskBoard = &mut self.manager.boards[self.on as usize];
|
||||
|
||||
// Showing all cards
|
||||
for i in 0.._active.cards.len() {
|
||||
println!("{}) {}", i+1, _active.cards[i].name);
|
||||
}
|
||||
|
||||
// Asking for an option
|
||||
println!("\nSelect card[1-{}]: ", _active.cards.len());
|
||||
|
||||
// Reading input
|
||||
let mut user_input: String = String::new();
|
||||
io::stdin().read_line(&mut user_input).expect("Failed to read line");
|
||||
user_input = String::from(user_input.to_lowercase().trim());
|
||||
println!("");
|
||||
|
||||
// Selecting the card
|
||||
let _card_index: usize = user_input.parse::<usize>().unwrap() - 1;
|
||||
let _card: &mut card::TaskCard = &mut _active.cards[_card_index];
|
||||
|
||||
// Printing options
|
||||
println!(" - {} - ", _card.name);
|
||||
println!("1) Change Name");
|
||||
println!("2) Change Description");
|
||||
println!("3) Exit");
|
||||
println!("\nSelect option [1-3]: ");
|
||||
|
||||
// Reset input
|
||||
user_input = String::new();
|
||||
|
||||
// Reading input
|
||||
io::stdin().read_line(&mut user_input).expect("Failed to read line");
|
||||
user_input = String::from(user_input.to_lowercase().trim());
|
||||
|
||||
// Decide what to do
|
||||
if user_input == "1" {
|
||||
// Printing prompt
|
||||
println!("\nWhat should the new name be?");
|
||||
println!("Select name:");
|
||||
|
||||
// Reset input
|
||||
user_input = String::new();
|
||||
|
||||
// Reading input
|
||||
io::stdin().read_line(&mut user_input).expect("Failed to read line");
|
||||
user_input = String::from(user_input.trim());
|
||||
|
||||
// Setting the cards name
|
||||
_card.name = user_input;
|
||||
} else if user_input == "2" {
|
||||
// Printing prompt
|
||||
println!("\nWhat should the new description be?");
|
||||
println!("Select description:");
|
||||
|
||||
// Reset input
|
||||
user_input = String::new();
|
||||
|
||||
// Reading input
|
||||
io::stdin().read_line(&mut user_input).expect("Failed to read line");
|
||||
user_input = String::from(user_input.trim());
|
||||
|
||||
// Setting the cards name
|
||||
_card.desc = user_input;
|
||||
}
|
||||
|
||||
// Changing page
|
||||
self.page = 2;
|
||||
}
|
||||
fn p_5(&mut self){
|
||||
// Which title do we use
|
||||
let title: String = String::from(match self.mode {
|
||||
|
@ -222,8 +295,11 @@ impl<'a> Interface<'a> {
|
|||
1 => self.p_1(),
|
||||
2 => self.p_2(),
|
||||
3 => self.p_3(),
|
||||
4 => self.p_4(),
|
||||
5 => self.p_5(),
|
||||
_ => Interface::error("Invalid Page")
|
||||
}
|
||||
|
||||
// Save
|
||||
}
|
||||
}
|
|
@ -31,7 +31,7 @@ impl Manager{
|
|||
let _name: String = String::from(task["name"].as_str().unwrap());
|
||||
let _desc: String = String::from(task["desc"].as_str().unwrap());
|
||||
|
||||
cards.push(card::TaskCard::init_val(_name, _desc));
|
||||
cards.push(card::TaskCard::init(_name, _desc));
|
||||
}
|
||||
|
||||
// Creating the boards inside the manager
|
||||
|
|
Loading…
Reference in a new issue