Skip to content

Commit e50f15f

Browse files
author
Stephan Dilly
committed
tui upgrade
1 parent eb7fc99 commit e50f15f

File tree

11 files changed

+120
-133
lines changed

11 files changed

+120
-133
lines changed

Cargo.lock

Lines changed: 9 additions & 44 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ keywords = [
1818
]
1919

2020
[dependencies]
21-
crossterm = "0.16"
22-
tui = { version = "0.8", default-features=false, features = ['crossterm'] }
21+
crossterm = "0.17"
22+
tui = { version = "0.9", default-features=false, features = ['crossterm'] }
2323
itertools = "0.9"
2424
rayon-core = "1.7"
2525
log = "0.4"

src/app.rs

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use tui::{
2222
backend::Backend,
2323
layout::{Alignment, Constraint, Direction, Layout, Rect},
2424
style::{Color, Style},
25-
widgets::{Block, Borders, Paragraph, Tabs, Text, Widget},
25+
widgets::{Block, Borders, Paragraph, Tabs, Text},
2626
Frame,
2727
};
2828

@@ -106,13 +106,15 @@ impl App {
106106
)
107107
.split(f.size());
108108

109-
Tabs::default()
110-
.block(Block::default().borders(Borders::BOTTOM))
111-
.titles(&[strings::TAB_STATUS])
112-
.style(Style::default().fg(Color::White))
113-
.highlight_style(Style::default().fg(Color::Yellow))
114-
.divider(strings::TAB_DIVIDER)
115-
.render(f, chunks_main[0]);
109+
f.render_widget(
110+
Tabs::default()
111+
.block(Block::default().borders(Borders::BOTTOM))
112+
.titles(&[strings::TAB_STATUS])
113+
.style(Style::default().fg(Color::White))
114+
.highlight_style(Style::default().fg(Color::Yellow))
115+
.divider(strings::TAB_DIVIDER),
116+
chunks_main[0],
117+
);
116118

117119
let chunks = Layout::default()
118120
.direction(Direction::Horizontal)
@@ -483,9 +485,14 @@ impl App {
483485
})
484486
.collect::<Vec<_>>();
485487

486-
Paragraph::new(texts.iter().intersperse(&splitter))
487-
.alignment(Alignment::Left)
488-
.render(f, r);
488+
// let paragraph =
489+
// Paragraph::new(texts.iter().intersperse(&splitter))
490+
// .alignment(Alignment::Left);
491+
f.render_widget(
492+
Paragraph::new(texts.iter().intersperse(&splitter))
493+
.alignment(Alignment::Left),
494+
r,
495+
);
489496
}
490497

491498
fn switch_focus(&mut self, f: Focus) -> NeedsUpdate {

src/components/commit.rs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use tui::{
1717
backend::Backend,
1818
layout::{Alignment, Rect},
1919
style::{Color, Style},
20-
widgets::{Block, Borders, Paragraph, Text, Widget},
20+
widgets::{Block, Borders, Paragraph, Text},
2121
Frame,
2222
};
2323

@@ -40,16 +40,18 @@ impl DrawableComponent for CommitComponent {
4040
[Text::Raw(Cow::from(self.msg.clone()))]
4141
};
4242

43-
ui::Clear::new(
44-
Paragraph::new(txt.iter())
45-
.block(
46-
Block::default()
47-
.title(strings::COMMIT_TITLE)
48-
.borders(Borders::ALL),
49-
)
50-
.alignment(Alignment::Left),
51-
)
52-
.render(f, ui::centered_rect(60, 20, f.size()));
43+
f.render_widget(
44+
ui::Clear::new(
45+
Paragraph::new(txt.iter())
46+
.block(
47+
Block::default()
48+
.title(strings::COMMIT_TITLE)
49+
.borders(Borders::ALL),
50+
)
51+
.alignment(Alignment::Left),
52+
),
53+
ui::centered_rect(60, 20, f.size()),
54+
);
5355
}
5456
}
5557
}

src/components/diff.rs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use tui::{
1313
layout::{Alignment, Rect},
1414
style::{Color, Modifier, Style},
1515
symbols,
16-
widgets::{Block, Borders, Paragraph, Text, Widget},
16+
widgets::{Block, Borders, Paragraph, Text},
1717
Frame,
1818
};
1919

@@ -297,16 +297,18 @@ impl DrawableComponent for DiffComponent {
297297
style_title = style_title.modifier(Modifier::BOLD);
298298
}
299299

300-
Paragraph::new(self.get_text(r.width, r.height).iter())
301-
.block(
302-
Block::default()
303-
.title(strings::TITLE_DIFF)
304-
.borders(Borders::ALL)
305-
.border_style(style_border)
306-
.title_style(style_title),
307-
)
308-
.alignment(Alignment::Left)
309-
.render(f, r);
300+
f.render_widget(
301+
Paragraph::new(self.get_text(r.width, r.height).iter())
302+
.block(
303+
Block::default()
304+
.title(strings::TITLE_DIFF)
305+
.borders(Borders::ALL)
306+
.border_style(style_border)
307+
.title_style(style_title),
308+
)
309+
.alignment(Alignment::Left),
310+
r,
311+
);
310312
}
311313
}
312314

src/components/help.rs

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use tui::{
1212
backend::Backend,
1313
layout::{Alignment, Constraint, Direction, Layout, Rect},
1414
style::{Color, Style},
15-
widgets::{Block, Borders, Paragraph, Text, Widget},
15+
widgets::{Block, Borders, Paragraph, Text},
1616
Frame,
1717
};
1818

@@ -41,12 +41,14 @@ impl DrawableComponent for HelpComponent {
4141
let area =
4242
ui::centered_rect_absolute(65, height, f.size());
4343

44-
ui::Clear::new(
45-
Block::default()
46-
.title(strings::HELP_TITLE)
47-
.borders(Borders::ALL),
48-
)
49-
.render(f, area);
44+
f.render_widget(
45+
ui::Clear::new(
46+
Block::default()
47+
.title(strings::HELP_TITLE)
48+
.borders(Borders::ALL),
49+
),
50+
area,
51+
);
5052

5153
let chunks = Layout::default()
5254
.vertical_margin(1)
@@ -58,20 +60,24 @@ impl DrawableComponent for HelpComponent {
5860
)
5961
.split(area);
6062

61-
Paragraph::new(txt.iter())
62-
.scroll(scroll)
63-
.alignment(Alignment::Left)
64-
.render(f, chunks[0]);
65-
66-
Paragraph::new(
67-
vec![Text::Raw(Cow::from(format!(
68-
"gitui {}",
69-
Version::new(),
70-
)))]
71-
.iter(),
72-
)
73-
.alignment(Alignment::Right)
74-
.render(f, chunks[1]);
63+
f.render_widget(
64+
Paragraph::new(txt.iter())
65+
.scroll(scroll)
66+
.alignment(Alignment::Left),
67+
chunks[0],
68+
);
69+
70+
f.render_widget(
71+
Paragraph::new(
72+
vec![Text::Raw(Cow::from(format!(
73+
"gitui {}",
74+
Version::new(),
75+
)))]
76+
.iter(),
77+
)
78+
.alignment(Alignment::Right),
79+
chunks[1],
80+
);
7581
}
7682
}
7783
}

src/components/msg.rs

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use strings::commands;
99
use tui::{
1010
backend::Backend,
1111
layout::{Alignment, Rect},
12-
widgets::{Block, Borders, Paragraph, Text, Widget},
12+
widgets::{Block, Borders, Paragraph, Text},
1313
Frame,
1414
};
1515

@@ -24,17 +24,19 @@ impl DrawableComponent for MsgComponent {
2424
if self.visible {
2525
let txt = vec![Text::Raw(Cow::from(self.msg.as_str()))];
2626

27-
ui::Clear::new(
28-
Paragraph::new(txt.iter())
29-
.block(
30-
Block::default()
31-
.title(strings::MSG_TITLE)
32-
.borders(Borders::ALL),
33-
)
34-
.wrap(true)
35-
.alignment(Alignment::Left),
36-
)
37-
.render(f, ui::centered_rect_absolute(65, 25, f.size()));
27+
f.render_widget(
28+
ui::Clear::new(
29+
Paragraph::new(txt.iter())
30+
.block(
31+
Block::default()
32+
.title(strings::MSG_TITLE)
33+
.borders(Borders::ALL),
34+
)
35+
.wrap(true)
36+
.alignment(Alignment::Left),
37+
),
38+
ui::centered_rect_absolute(65, 25, f.size()),
39+
);
3840
}
3941
}
4042
}

src/components/reset.rs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use tui::{
1414
backend::Backend,
1515
layout::{Alignment, Rect},
1616
style::{Color, Style},
17-
widgets::{Block, Borders, Paragraph, Text, Widget},
17+
widgets::{Block, Borders, Paragraph, Text},
1818
Frame,
1919
};
2020

@@ -34,16 +34,18 @@ impl DrawableComponent for ResetComponent {
3434
Style::default().fg(Color::Red),
3535
));
3636

37-
ui::Clear::new(
38-
Paragraph::new(txt.iter())
39-
.block(
40-
Block::default()
41-
.title(strings::RESET_TITLE)
42-
.borders(Borders::ALL),
43-
)
44-
.alignment(Alignment::Left),
45-
)
46-
.render(f, ui::centered_rect(30, 20, f.size()));
37+
f.render_widget(
38+
ui::Clear::new(
39+
Paragraph::new(txt.iter())
40+
.block(
41+
Block::default()
42+
.title(strings::RESET_TITLE)
43+
.borders(Borders::ALL),
44+
)
45+
.alignment(Alignment::Left),
46+
),
47+
ui::centered_rect(30, 20, f.size()),
48+
);
4749
}
4850
}
4951
}

src/ui/clear.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ impl<T: Widget> Clear<T> {
99
}
1010

1111
impl<T: Widget> Widget for Clear<T> {
12-
fn draw(&mut self, area: Rect, buf: &mut Buffer) {
12+
fn render(self, area: Rect, buf: &mut Buffer) {
1313
if area.width < 2 || area.height < 2 {
1414
return;
1515
}
@@ -20,6 +20,6 @@ impl<T: Widget> Widget for Clear<T> {
2020
}
2121
}
2222

23-
self.0.draw(area, buf);
23+
self.0.render(area, buf);
2424
}
2525
}

0 commit comments

Comments
 (0)