GuiParagraph: Fix remaining glitch when entering custom line spread

while immediate apply is activated.
This commit is contained in:
Juergen Spitzmueller 2015-06-13 12:31:03 +02:00
parent 930fef9d8d
commit f0923ebadc

View File

@ -270,7 +270,17 @@ void GuiParagraph::updateView()
// linespacing // linespacing
int ls; int ls;
bool pending_input = false;
Spacing const & space = pp.spacing(); Spacing const & space = pp.spacing();
if (synchronizedViewCB->isChecked() && linespacingValue->hasFocus()) {
// The user is about to enter custom spacing.
// We thus stay in Custom mode.
// This prevents the combo from e.g. immediately
// switching to single if a user enters "1" in the
// linespacingValue widget while aiming at e.g. "1.3"
ls = 4;
pending_input = true;
} else {
switch (space.getSpace()) { switch (space.getSpace()) {
case Spacing::Single: case Spacing::Single:
ls = 1; ls = 1;
@ -288,8 +298,9 @@ void GuiParagraph::updateView()
ls = 0; ls = 0;
break; break;
} }
}
linespacing->setCurrentIndex(ls); linespacing->setCurrentIndex(ls);
if (space.getSpace() == Spacing::Other) { if (space.getSpace() == Spacing::Other || pending_input) {
doubleToWidget(linespacingValue, space.getValue()); doubleToWidget(linespacingValue, space.getValue());
linespacingValue->setEnabled(true); linespacingValue->setEnabled(true);
} else { } else {