From: Simon Tatham Date: Wed, 3 Jan 2024 06:56:05 +0000 (+0000) Subject: Give MenuKeypressLine a width reset option. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=a6925b89316573dd0caac1f48316aab40f029ce4;p=mastodonochrome.git Give MenuKeypressLine a width reset option. Then when I change menu items on the fly they won't always remember the largest width the menu has ever had. --- diff --git a/src/text.rs b/src/text.rs index fc12771..7f1250b 100644 --- a/src/text.rs +++ b/src/text.rs @@ -1293,6 +1293,7 @@ fn test_filestatus_render() { pub struct MenuKeypressLine { keypress: Keypress, lwid: usize, + rwid: usize, lmaxwid: usize, rmaxwid: usize, } @@ -1310,12 +1311,17 @@ impl MenuKeypressLine { description, }, lwid, + rwid, lmaxwid: lwid, rmaxwid: rwid, } } - pub fn get_widths(&self) -> (usize, usize) { (self.lmaxwid, self.rmaxwid) } + pub fn get_widths(&self) -> (usize, usize) { (self.lwid, self.rwid) } + pub fn reset_widths(&mut self) { + self.lmaxwid = self.lwid; + self.rmaxwid = self.rwid; + } pub fn ensure_widths(&mut self, lmaxwid: usize, rmaxwid: usize) { self.lmaxwid = max(self.lmaxwid, lmaxwid); self.rmaxwid = max(self.rmaxwid, rmaxwid);