summaryrefslogtreecommitdiffstats
path: root/ui/src/components/mail/view
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2019-04-07 01:55:00 +0300
committerManos Pitsidianakis <el13635@mail.ntua.gr>2019-06-10 19:40:43 +0300
commit7fa599d13ea7eed0f37da1368cbc198ea829b300 (patch)
tree092f504d29ce52093da341914a5ddecf5e63203c /ui/src/components/mail/view
parentada0950854b36a9f5f636a48180a6049b794c20a (diff)
ui: clear threadview properly
Diffstat (limited to 'ui/src/components/mail/view')
-rw-r--r--ui/src/components/mail/view/thread.rs22
1 files changed, 16 insertions, 6 deletions
diff --git a/ui/src/components/mail/view/thread.rs b/ui/src/components/mail/view/thread.rs
index 9a1549cc..b80e79a1 100644
--- a/ui/src/components/mail/view/thread.rs
+++ b/ui/src/components/mail/view/thread.rs
@@ -577,9 +577,16 @@ impl ThreadView {
grid[(x, y)].set_bg(Color::Default);
grid[(x, y)].set_fg(Color::Default);
}
+ context
+ .dirty_areas
+ .push_back((upper_left, set_y(bottom_right, y + 1)));
+ context
+ .dirty_areas
+ .push_back(((mid, y + 1), set_x(bottom_right, mid)));
+ clear_area(grid, ((mid, y + 1), set_x(bottom_right, mid)));
y + 2
};
- clear_area(grid, (set_y(upper_left, y), set_x(bottom_right, mid)));
+ //clear_area(grid, (set_y(upper_left, y), set_x(bottom_right, mid)));
y
} else {
get_y(upper_left) + 2
@@ -588,17 +595,20 @@ impl ThreadView {
if height == 0 || width == 0 {
return;
}
- if self.dirty {
- for x in get_x(upper_left)..=get_x(bottom_right) {
- set_and_join_box(grid, (x, y - 1), HORZ_BOUNDARY);
- }
- }
+ let was_dirty = self.dirty;
self.draw_list(
grid,
(set_y(upper_left, y), set_x(bottom_right, mid - 1)),
context,
);
+ if was_dirty {
+ for x in get_x(upper_left)..=get_x(bottom_right) {
+ set_and_join_box(grid, (x, y - 1), HORZ_BOUNDARY);
+ grid[(x, y - 1)].set_fg(Color::Byte(33));
+ grid[(x, y - 1)].set_bg(Color::Default);
+ }
+ }
{
let upper_left = (mid + 1, get_y(upper_left) + y - 1);
self.mailview