ui/conversations: fix padding left unpainted
parent
d048d8566d
commit
d376f83f48
|
@ -208,6 +208,7 @@ impl ListingTrait for ConversationsListing {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let rows = (get_y(bottom_right) - get_y(upper_left) + 1) / 3;
|
let rows = (get_y(bottom_right) - get_y(upper_left) + 1) / 3;
|
||||||
|
let pad = (get_y(bottom_right) - get_y(upper_left) + 1) % 3;
|
||||||
|
|
||||||
if let Some(mvm) = self.movement.take() {
|
if let Some(mvm) = self.movement.take() {
|
||||||
match mvm {
|
match mvm {
|
||||||
|
@ -306,7 +307,7 @@ impl ListingTrait for ConversationsListing {
|
||||||
);
|
);
|
||||||
|
|
||||||
/* calculate how many entries are visible in this page */
|
/* calculate how many entries are visible in this page */
|
||||||
let rows = if top_idx + rows > self.length {
|
let (pad, rows) = if top_idx + rows > self.length {
|
||||||
clear_area(
|
clear_area(
|
||||||
grid,
|
grid,
|
||||||
(
|
(
|
||||||
|
@ -314,9 +315,9 @@ impl ListingTrait for ConversationsListing {
|
||||||
bottom_right,
|
bottom_right,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
self.length - top_idx
|
(0, self.length - top_idx)
|
||||||
} else {
|
} else {
|
||||||
rows
|
(pad, rows)
|
||||||
};
|
};
|
||||||
|
|
||||||
/* fill any remaining columns, if our view is wider than self.content */
|
/* fill any remaining columns, if our view is wider than self.content */
|
||||||
|
@ -341,7 +342,23 @@ impl ListingTrait for ConversationsListing {
|
||||||
grid[(x, y_offset + 3 * y + 2)].set_bg(bg_color);
|
grid[(x, y_offset + 3 * y + 2)].set_bg(bg_color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if pad > 0 {
|
||||||
|
let y = 3 * rows;
|
||||||
|
let bg_color = grid[(get_x(upper_left) + width - 1, y_offset + y)].bg();
|
||||||
|
for x in (get_x(upper_left) + width)..=get_x(bottom_right) {
|
||||||
|
grid[(x, y_offset + y)].set_bg(bg_color);
|
||||||
|
grid[(x, y_offset + y + 1)].set_ch('▁');
|
||||||
|
grid[(x, y_offset + y + 1)].set_bg(bg_color);
|
||||||
|
if pad == 2 {
|
||||||
|
grid[(x, y_offset + y + 2)].set_fg(Color::Default);
|
||||||
|
grid[(x, y_offset + y + 2)].set_ch('▓');
|
||||||
|
grid[(x, y_offset + y + 2)].set_fg(padding_fg);
|
||||||
|
grid[(x, y_offset + y + 2)].set_bg(bg_color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
context.dirty_areas.push_back(area);
|
context.dirty_areas.push_back(area);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -757,7 +774,7 @@ impl ConversationsListing {
|
||||||
self.content[(x, 3 * idx)].set_bg(bg_color);
|
self.content[(x, 3 * idx)].set_bg(bg_color);
|
||||||
}
|
}
|
||||||
/* draw subject */
|
/* draw subject */
|
||||||
let (x, _) = write_string_to_grid(
|
let (mut x, _) = write_string_to_grid(
|
||||||
&strings.subject,
|
&strings.subject,
|
||||||
&mut self.content,
|
&mut self.content,
|
||||||
fg_color,
|
fg_color,
|
||||||
|
@ -766,32 +783,28 @@ impl ConversationsListing {
|
||||||
((x, 3 * idx), (width - 1, 3 * idx)),
|
((x, 3 * idx), (width - 1, 3 * idx)),
|
||||||
None,
|
None,
|
||||||
);
|
);
|
||||||
let x = {
|
for (t, &color) in strings.tags.split_whitespace().zip(strings.tags.1.iter()) {
|
||||||
let mut x = x + 1;
|
let (_x, _) = write_string_to_grid(
|
||||||
for (t, &color) in strings.tags.split_whitespace().zip(strings.tags.1.iter()) {
|
t,
|
||||||
let (_x, _) = write_string_to_grid(
|
&mut self.content,
|
||||||
t,
|
Color::White,
|
||||||
&mut self.content,
|
Color::Byte(color),
|
||||||
Color::White,
|
Attr::Bold,
|
||||||
Color::Byte(color),
|
((x + 1, 3 * idx), (width - 1, 3 * idx)),
|
||||||
Attr::Bold,
|
None,
|
||||||
((x + 1, 3 * idx), (width - 1, 3 * idx)),
|
);
|
||||||
None,
|
self.content[(x, 3 * idx)].set_bg(Color::Byte(color));
|
||||||
);
|
if _x < width {
|
||||||
self.content[(x, 3 * idx)].set_bg(Color::Byte(color));
|
self.content[(_x, 3 * idx)].set_bg(Color::Byte(color));
|
||||||
if _x < width {
|
self.content[(_x, 3 * idx)].set_keep_bg(true);
|
||||||
self.content[(_x, 3 * idx)].set_bg(Color::Byte(color));
|
|
||||||
self.content[(_x, 3 * idx)].set_keep_bg(true);
|
|
||||||
}
|
|
||||||
for x in (x + 1).._x {
|
|
||||||
self.content[(x, 3 * idx)].set_keep_fg(true);
|
|
||||||
self.content[(x, 3 * idx)].set_keep_bg(true);
|
|
||||||
}
|
|
||||||
self.content[(x, 3 * idx)].set_keep_bg(true);
|
|
||||||
x = _x + 1;
|
|
||||||
}
|
}
|
||||||
x
|
for x in (x + 1).._x {
|
||||||
};
|
self.content[(x, 3 * idx)].set_keep_fg(true);
|
||||||
|
self.content[(x, 3 * idx)].set_keep_bg(true);
|
||||||
|
}
|
||||||
|
self.content[(x, 3 * idx)].set_keep_bg(true);
|
||||||
|
x = _x + 1;
|
||||||
|
}
|
||||||
for x in x..width {
|
for x in x..width {
|
||||||
self.content[(x, 3 * idx)].set_bg(bg_color);
|
self.content[(x, 3 * idx)].set_bg(bg_color);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue