Fixes some status bar update issues and focus problems

This commit is contained in:
Markus Gans 2016-06-19 23:18:53 +02:00
parent 7dd7455b23
commit 8ffa221e5f
4 changed files with 13 additions and 10 deletions

View File

@ -477,6 +477,7 @@ void FButtonGroup::onFocusIn (FFocusEvent* in_ev)
in_ev->ignore(); in_ev->ignore();
FWidget* prev_element = getFocusWidget(); FWidget* prev_element = getFocusWidget();
(*iter)->setFocus(); (*iter)->setFocus();
if ( prev_element )
prev_element->redraw(); prev_element->redraw();
(*iter)->redraw(); (*iter)->redraw();
} }
@ -492,6 +493,7 @@ void FButtonGroup::onFocusIn (FFocusEvent* in_ev)
in_ev->ignore(); in_ev->ignore();
FWidget* prev_element = getFocusWidget(); FWidget* prev_element = getFocusWidget();
focusFirstChild(); focusFirstChild();
if ( prev_element )
prev_element->redraw(); prev_element->redraw();
getFocusWidget()->redraw(); getFocusWidget()->redraw();
} }
@ -500,6 +502,7 @@ void FButtonGroup::onFocusIn (FFocusEvent* in_ev)
in_ev->ignore(); in_ev->ignore();
FWidget* prev_element = getFocusWidget(); FWidget* prev_element = getFocusWidget();
focusLastChild(); focusLastChild();
if ( prev_element )
prev_element->redraw(); prev_element->redraw();
getFocusWidget()->redraw(); getFocusWidget()->redraw();
} }

View File

@ -1483,10 +1483,6 @@ bool FWidget::setFocus(bool on)
} }
} }
// unset widget focus
if ( ! on && focus )
FWidget::setFocusWidget(0);
window = FWindow::getWindowWidget(this); window = FWindow::getWindowWidget(this);
// set window focus // set window focus

View File

@ -130,6 +130,10 @@ void ProgressDialog::onTimer (FTimerEvent*)
more->setEnable(); more->setEnable();
quit->setEnable(); quit->setEnable();
redraw(); redraw();
if ( statusBar() )
statusBar()->drawMessage();
updateTerminal();
flush_out();
} }
} }