On Mon, Jul 2, 2012 at 5:22 PM, Josh Glover <jmg...@gmail.com> wrote:
> For me, that deselects the current answer, and no amount of pressing > up or down reselects it. > > Can anyone reproduce? Yes. Good catch! > In the gui::conversation key input handler, it looks like all > unrecognised keys are passed through. I guess this is what we want > normally, but perhaps we should filter out the right and left arrow? > > https://github.com/ksterker/adonthell/blob/9dc3077ec03ccae4ae4ccd9e4b1cec2ebc24b4d3/src/gui/conversation.cc#L152 > > Any ideas for the best way to fix this? I would say this is a problem with gui::layout itself, not just gui::conversation. If you look at the implementation, you'll see that conversation is a scrollview is as layout. The scrollviews only child is a list_layout that in turn contains all the answers. As long as everything is fine, focus is with the first answer and up/down moves it to the previous/next. But when pressing left/right, something odd happens with the focus. Given the involved widgets, I would have assumed that nothing but the answers can end up with the focus anyway (layouts should always pass the focus down to a child that isn't a layout). And the hierarchy we have is basically scrollview list_layout button 1 button 2 ... button n So we need to figure out where the focus goes and make sure that it stays where it is instead. gui::conversation should not have to change for that. Kai _______________________________________________ Adonthell-devel mailing list Adonthell-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/adonthell-devel