On 09/02/12 14:53, Albert Thuswaldner wrote:
Hi,
[...]
So I have improved the patch according to Kohei's suggestion above.
Now I store the prefix at each key-stroke and check for illegal
characters. When an illegal character is entered, the text is reverted
back to the last good prefix. (So basically the same as for the
separators in the formula options dialog)
The patch also fixes the UI glitches.
So it all should be well - but it is not!
At least I get two annoying bugs:
1) The cursor moves In front of the text when the Prefix is reverted.
I guessed maybe the last backspace moves the cursor but just setting the
text doesn't, however using the arrow keys to say insert a '/' in the
middle of a prefix and the cursor goes gets repositioned at the start of
the text, no idea why that happens, the answer most certainly lies
somewhere in vcl/source/control/edit.cxx & core/vcl/inc/vcl/edit.hxx
2) When trying to delete text in the edit box, the last character
sticks (can't be deleted).
well that would seem to be because your code thinks a blank prefix is
illegal, I believe changing
- if ( !ScDocument::ValidTabName( aSheetPrefix ) )
+ if ( !aSheetPrefix.isEmpty() && !ScDocument::ValidTabName(
aSheetPrefix ) )
{
// Revert to last good Prefix
pEdit->SetText( maOldPrefixValue );
}
will fix that
To finish this feature I also would like to add some type of cue. It
would be great if there would be some kind of standard to follow here
(is there?).
Below I just list the different options (including possible pros/cons)
that I can think of at the moment:
[...]
isn't the problem with such visual cues that the illegal character is already
gone ( replaced by the previous selection ) by the time you flag it so it might
be even more confusing ? Or.. do you see some other type of workflow when using
that. Maybe a bell is isn't such a bad idea ( although I agree annoying )
Noel
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice