mirror of
https://github.com/kdheepak/taskwarrior-tui.git
synced 2025-08-25 17:57:19 +02:00
Add months_per_row to configuration
This commit is contained in:
parent
0f8647382b
commit
6333e500f7
3 changed files with 25 additions and 8 deletions
|
@ -444,7 +444,8 @@ impl TTApp {
|
|||
let c = Calendar::default()
|
||||
.block(Block::default().title("Calendar").borders(Borders::ALL))
|
||||
.year(self.calendar_year)
|
||||
.date_style(dates_with_styles);
|
||||
.date_style(dates_with_styles)
|
||||
.months_per_row(self.config.uda_calendar_months_per_row);
|
||||
f.render_widget(c, rects[0]);
|
||||
}
|
||||
|
||||
|
|
|
@ -71,6 +71,11 @@ impl<'a> Calendar<'a> {
|
|||
self.date_style = date_style;
|
||||
self
|
||||
}
|
||||
|
||||
pub fn months_per_row(mut self, months_per_row: usize) -> Self {
|
||||
self.months_per_row = months_per_row;
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
impl <'a> Widget for Calendar<'a> {
|
||||
|
@ -137,14 +142,15 @@ impl <'a> Widget for Calendar<'a> {
|
|||
y += 1;
|
||||
|
||||
let x = area.x;
|
||||
let s = format!("{year:^width$}", year = year, width = area.width as usize - 4);
|
||||
let s = format!("{year:^width$}", year = year, width = area.width as usize);
|
||||
|
||||
let mut year = 0;
|
||||
let mut style = Style::default().add_modifier(Modifier::UNDERLINED);
|
||||
let style = Style::default().add_modifier(Modifier::UNDERLINED);
|
||||
if self.year + year as i32 == today.year() {
|
||||
style = style.add_modifier(Modifier::BOLD)
|
||||
buf.set_string(x, y, &s, style.add_modifier(Modifier::BOLD));
|
||||
} else {
|
||||
buf.set_string(x, y, &s, style);
|
||||
}
|
||||
buf.set_string(x, y, &s, style);
|
||||
|
||||
let startx = (area.width - 3 * 7 * self.months_per_row as u16 - self.months_per_row as u16) / 2;
|
||||
y += 2;
|
||||
|
@ -216,14 +222,14 @@ impl <'a> Widget for Calendar<'a> {
|
|||
}
|
||||
}
|
||||
startm += self.months_per_row;
|
||||
y += 1;
|
||||
y += 2;
|
||||
if y + 8 > area.height {
|
||||
break
|
||||
} else if startm >= 12 {
|
||||
startm = 0;
|
||||
year += 1;
|
||||
let x = area.x;
|
||||
let s = format!("{year:^width$}", year = self.year as usize + year, width = area.width as usize - 4);
|
||||
let s = format!("{year:^width$}", year = self.year as usize + year, width = area.width as usize);
|
||||
let mut style = Style::default().add_modifier(Modifier::UNDERLINED);
|
||||
if self.year + year as i32 == today.year() {
|
||||
style = style.add_modifier(Modifier::BOLD)
|
||||
|
|
|
@ -38,6 +38,7 @@ pub struct TConfig {
|
|||
pub uda_selection_italic: bool,
|
||||
pub uda_selection_dim: bool,
|
||||
pub uda_selection_blink: bool,
|
||||
pub uda_calendar_months_per_row: usize,
|
||||
}
|
||||
|
||||
impl TConfig {
|
||||
|
@ -54,6 +55,7 @@ impl TConfig {
|
|||
uda_selection_italic: Self::get_uda_selection_italic(),
|
||||
uda_selection_dim: Self::get_uda_selection_dim(),
|
||||
uda_selection_blink: Self::get_uda_selection_blink(),
|
||||
uda_calendar_months_per_row: Self::get_uda_months_per_row(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -241,7 +243,7 @@ impl TConfig {
|
|||
return line.trim_start_matches(config).trim_start().trim_end().to_string();
|
||||
}
|
||||
}
|
||||
"• ".to_string()
|
||||
"".to_string()
|
||||
}
|
||||
|
||||
fn get_rule_precedence_color() -> Vec<String> {
|
||||
|
@ -294,6 +296,14 @@ impl TConfig {
|
|||
}
|
||||
}
|
||||
|
||||
fn get_uda_months_per_row() -> usize {
|
||||
let s = Self::get_config("uda.taskwarrior-tui.calendar.months_per_row");
|
||||
match s.parse::<usize>() {
|
||||
Ok(i) => i,
|
||||
Err(e) => 4,
|
||||
}
|
||||
}
|
||||
|
||||
fn get_uda_selection_blink() -> bool {
|
||||
let s = Self::get_config("uda.taskwarrior-tui.selection.blink");
|
||||
if s == "yes" {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue