mirror of
https://codeberg.org/unspeaker/perch.git
synced 2025-12-06 17:46:42 +01:00
better column resizing
This commit is contained in:
parent
44a2108585
commit
4de94beafb
9 changed files with 403 additions and 359 deletions
40
src/model.rs
40
src/model.rs
|
|
@ -1,21 +1,23 @@
|
|||
use crate::*;
|
||||
|
||||
mod column; pub use self::column::*;
|
||||
mod entry; pub use self::entry::*;
|
||||
mod metadata; pub use self::metadata::*;
|
||||
mod task; pub use self::task::*;
|
||||
mod column; pub use self::column::*;
|
||||
mod entry; pub use self::entry::*;
|
||||
mod task; pub use self::task::*;
|
||||
|
||||
/// The application state.
|
||||
pub struct Taggart {
|
||||
pub _root: PathBuf,
|
||||
pub entries: Vec<Entry>,
|
||||
pub cursor: usize,
|
||||
pub offset: usize,
|
||||
pub column: usize,
|
||||
pub columns: Columns<fn(&Entry)->Option<Arc<str>>, fn(&mut Self, usize, &str)>,
|
||||
pub display: Measure<TuiOut>,
|
||||
pub tasks: Vec<Task>,
|
||||
pub mode: Option<Mode>,
|
||||
pub _root: PathBuf,
|
||||
pub entries: Vec<Entry>,
|
||||
pub cursor: usize,
|
||||
pub offset: usize,
|
||||
pub column: usize,
|
||||
pub columns: Columns<fn(&Entry)->Option<Arc<str>>, fn(&mut Self, usize, &str)>,
|
||||
pub display: Measure<TuiOut>,
|
||||
pub tasks: Vec<Task>,
|
||||
/// State of modal dialog of editing field
|
||||
pub mode: Option<Mode>,
|
||||
/// Count of modified items
|
||||
pub modified: usize,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
@ -38,6 +40,7 @@ impl Taggart {
|
|||
columns: Columns::default(),
|
||||
tasks: vec![],
|
||||
entries,
|
||||
modified: 0
|
||||
})
|
||||
}
|
||||
/// Make sure cursor is always in view
|
||||
|
|
@ -58,4 +61,15 @@ impl Taggart {
|
|||
self.column = self.columns.0.len().saturating_sub(1)
|
||||
}
|
||||
}
|
||||
/// Count modified entries
|
||||
pub(crate) fn count_modified (&mut self) -> usize {
|
||||
let mut modified = 0;
|
||||
for entry in self.entries.iter() {
|
||||
if entry.is_modified() {
|
||||
modified += 1;
|
||||
}
|
||||
}
|
||||
self.modified = modified;
|
||||
self.modified
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue