Random clean up

This commit is contained in:
Joseph Ferano 2023-06-15 19:21:01 +07:00
parent f951e500f1
commit 41778accdc
4 changed files with 22 additions and 51 deletions

View File

@ -1,6 +1,4 @@
use anyhow::Error; use anyhow::Error;
// use indexmap::IndexMap;
// use int_enum::IntEnum;
use rusqlite::Connection; use rusqlite::Connection;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::cmp::min; use std::cmp::min;

View File

@ -1,7 +1,7 @@
use anyhow::Error;
use std::ops::{Deref, DerefMut};
use crate::{Column, Task}; use crate::{Column, Task};
use anyhow::Error;
use rusqlite::{params, Connection, Result}; use rusqlite::{params, Connection, Result};
use std::ops::{Deref, DerefMut};
pub struct DBConn(Connection); pub struct DBConn(Connection);
@ -113,8 +113,8 @@ impl DBConn {
/// ///
/// Panics if something goes wrong with the SQL /// Panics if something goes wrong with the SQL
pub fn update_task_text(&self, task: &Task) -> Result<()> { pub fn update_task_text(&self, task: &Task) -> Result<()> {
let mut stmt = self let mut stmt =
.prepare("update task set title = ?2, description = ?3 where id = ?1")?; self.prepare("update task set title = ?2, description = ?3 where id = ?1")?;
stmt.execute((&task.id, &task.title, &task.description))?; stmt.execute((&task.id, &task.title, &task.description))?;
Ok(()) Ok(())
} }
@ -178,8 +178,8 @@ impl DBConn {
/// ///
/// Panics if something goes wrong with the SQL /// Panics if something goes wrong with the SQL
pub fn set_selected_column(&self, column_id: usize) -> Result<(), Error> { pub fn set_selected_column(&self, column_id: usize) -> Result<(), Error> {
let mut stmt = self let mut stmt =
.prepare("insert or replace into app_state(key, value) values (?1, ?2)")?; self.prepare("insert or replace into app_state(key, value) values (?1, ?2)")?;
stmt.execute((&"selected_column", column_id.to_string()))?; stmt.execute((&"selected_column", column_id.to_string()))?;
Ok(()) Ok(())
} }
@ -188,8 +188,7 @@ impl DBConn {
/// ///
/// Panics if something goes wrong with the SQL /// Panics if something goes wrong with the SQL
pub fn get_selected_column(&self) -> Result<usize> { pub fn get_selected_column(&self) -> Result<usize> {
let mut stmt = self let mut stmt = self.prepare("select value from app_state where key = ?1")?;
.prepare("select value from app_state where key = ?1")?;
stmt.query_row(["selected_column"], |row| { stmt.query_row(["selected_column"], |row| {
let value: String = row.get::<usize, String>(0).unwrap(); let value: String = row.get::<usize, String>(0).unwrap();
Ok(value.parse::<usize>().unwrap()) Ok(value.parse::<usize>().unwrap())
@ -209,8 +208,7 @@ impl DBConn {
/// ///
/// Panics if something goes wrong with the SQL /// Panics if something goes wrong with the SQL
pub fn get_selected_task_for_column(&self, column_id: i32) -> Result<usize> { pub fn get_selected_task_for_column(&self, column_id: i32) -> Result<usize> {
let mut stmt = self let mut stmt = self.prepare("select selected_task from kb_column where key = ?1")?;
.prepare("select selected_task from kb_column where key = ?1")?;
stmt.query_row([column_id], |row| row.get(0)) stmt.query_row([column_id], |row| row.get(0))
} }
} }

View File

@ -40,9 +40,7 @@ pub fn handle_task_edit(state: &mut State<'_>, key: event::KeyEvent) -> Result<(
TaskEditFocus::CancelBtn => match key.code { TaskEditFocus::CancelBtn => match key.code {
KeyCode::Tab => task.focus = TaskEditFocus::Title, KeyCode::Tab => task.focus = TaskEditFocus::Title,
KeyCode::BackTab => task.focus = TaskEditFocus::ConfirmBtn, KeyCode::BackTab => task.focus = TaskEditFocus::ConfirmBtn,
KeyCode::Enter => { KeyCode::Enter => clear_task = true,
clear_task = true;
}
_ => (), _ => (),
}, },
} }
@ -56,41 +54,19 @@ pub fn handle_task_edit(state: &mut State<'_>, key: event::KeyEvent) -> Result<(
pub fn handle_main(state: &mut State<'_>, key: event::KeyEvent) -> Result<(), anyhow::Error> { pub fn handle_main(state: &mut State<'_>, key: event::KeyEvent) -> Result<(), anyhow::Error> {
match key.code { match key.code {
KeyCode::Char('q') => state.quit = true, KeyCode::Char('q') => state.quit = true,
KeyCode::Char('h') | KeyCode::Left => { KeyCode::Char('h') | KeyCode::Left => state.select_previous_column()?,
state.select_previous_column()?; KeyCode::Char('j') | KeyCode::Down => state.select_next_task()?,
} KeyCode::Char('k') | KeyCode::Up => state.select_previous_task()?,
KeyCode::Char('j') | KeyCode::Down => { KeyCode::Char('l') | KeyCode::Right => state.select_next_column()?,
state.select_next_task()?; KeyCode::Char('g') => state.select_first_task()?,
} KeyCode::Char('G') => state.select_last_task()?,
KeyCode::Char('k') | KeyCode::Up => { KeyCode::Char('H') => state.move_task_previous_column()?,
state.select_previous_task()?; KeyCode::Char('L') => state.move_task_next_column()?,
} KeyCode::Char('J') => state.move_task_down()?,
KeyCode::Char('l') | KeyCode::Right => { KeyCode::Char('K') => state.move_task_up()?,
state.select_next_column()?;
}
KeyCode::Char('g') => {
state.select_first_task()?;
}
KeyCode::Char('G') => {
state.select_last_task()?;
}
KeyCode::Char('H') => {
state.move_task_previous_column()?;
}
KeyCode::Char('L') => {
state.move_task_next_column()?;
}
KeyCode::Char('J') => {
state.move_task_down()?;
}
KeyCode::Char('K') => {
state.move_task_up()?;
}
KeyCode::Char('n') => state.task_edit_state = Some(TaskState::default()), KeyCode::Char('n') => state.task_edit_state = Some(TaskState::default()),
KeyCode::Char('e') => state.task_edit_state = state.get_task_state_from_current(), KeyCode::Char('e') => state.task_edit_state = state.get_task_state_from_current(),
KeyCode::Char('D') => { KeyCode::Char('D') => state.delete_task()?,
state.delete_task()?;
}
_ => {} _ => {}
} }
Ok(()) Ok(())

View File

@ -44,9 +44,8 @@ fn draw_tasks<B: Backend>(f: &mut Frame<'_, B>, area: Rect, state: &State<'_>) {
style = style.add_modifier(Modifier::REVERSED); style = style.add_modifier(Modifier::REVERSED);
}; };
let mut s = Span::raw(column.name.as_str()); let mut s = Span::raw(column.name.as_str());
s.style = let mods = Modifier::BOLD | Modifier::ITALIC | Modifier::UNDERLINED;
Style::default().add_modifier(Modifier::BOLD | Modifier::ITALIC | Modifier::UNDERLINED); s.style = Style::default().add_modifier(mods);
// .fg(Color::White);
let block = Block::default().title(s).borders(Borders::ALL); let block = Block::default().title(s).borders(Borders::ALL);
let inner_area = block.inner(columns[i]); let inner_area = block.inner(columns[i]);
let inner_block = Block::default().style(style); let inner_block = Block::default().style(style);