Random clean up
This commit is contained in:
parent
f951e500f1
commit
41778accdc
@ -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;
|
||||||
|
18
src/db.rs
18
src/db.rs
@ -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))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
48
src/input.rs
48
src/input.rs
@ -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(())
|
||||||
|
@ -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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user