Opened 18 years ago
Closed 17 years ago
#715 closed bug (fixed)
BTextView::HideTyping not implemented
Reported by: | korli | Owned by: | jackburton |
---|---|---|---|
Priority: | normal | Milestone: | R1/alpha1 |
Component: | Kits/Interface Kit | Version: | |
Keywords: | Cc: | diver, ksmith | |
Blocked By: | Blocking: | ||
Platform: | All |
Description (last modified by )
ScreenSaver preferences has some password controls which expose the password at the moment.
Change History (14)
comment:1 by , 18 years ago
Cc: | added |
---|
comment:2 by , 18 years ago
Cc: | added |
---|
comment:3 by , 18 years ago
comment:4 by , 18 years ago
Stefano, I added a B_UTF8_BULLET in InterfaceDefs.h (3 bytes) :) I tried to have the BTextView use it instead of real chars, but I didn't got it to work correctly. Multibyte seems to not help here, ie in _BTextGapBuffer_::GetString(int32 fromOffset, int32 numChars), I thought numChars were really characters and not bytes, but seeing the code I'm not sure.
comment:5 by , 18 years ago
(In reply to comment #2)
Stefano, I added a B_UTF8_BULLET in InterfaceDefs.h (3 bytes) :) I tried to have the BTextView use it instead of real chars, but I didn't got it to work correctly. Multibyte seems to not help here, ie in _BTextGapBuffer_::GetString(int32 fromOffset, int32 numChars), I thought numChars were really characters and not bytes, but seeing the code I'm not sure.
Yeah, almost every function in BTextView handles bytes, not characters. The naming of the parameters is often misleading and should be definitely changed.
comment:6 by , 18 years ago
Owner: | changed from | to
---|
comment:7 by , 18 years ago
Component: | General → User Interface/InterfaceKit |
---|---|
Description: | modified (diff) |
Platform: | → All |
Status: | new → assigned |
follow-up: 9 comment:8 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed in hrev18837. Note that there are still problems, but a new bug should be opened for them.
comment:9 by , 18 years ago
Replying to jackburton:
Fixed in hrev18837. Note that there are still problems, but a new bug should be opened for them.
By the way, I need some info on how beos behaves here: i.e. What do the public methods (Text(), ByteAt(), etc.) return when typing is hidden ? The real text or the displayed text (bullet characters) ?
comment:10 by , 17 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Hi,
I've tested such applications as GIM ICQ, BeMSN, and others I can't think of at the moment. The asteriks , when typing a password aren't implemented!
Thanks
follow-up: 12 comment:11 by , 17 years ago
Cc: | added |
---|
The bullets are not being properly displayed. Could this be because the number of bytes taken by a bullet is not being properly calculated?
If you change the bullets to asterisks in TextGapBuffer.cpp, they actually show up in the textview when you are typing. However, when you leave the textview, the formatting (spacing) of the asterisks change, and I am not sure why.
comment:12 by , 17 years ago
Replying to ksmith:
The bullets are not being properly displayed. Could this be because the number of bytes taken by a bullet is not being properly calculated?
Yes, it's for that reason. Moreover, I never finished implementing that feature correctly, because I cannot test how beos behaves. I mean: which public methods of BTextView return the real text and which ones return the bullets ?
comment:13 by , 17 years ago
Milestone: | R1 → R1/alpha |
---|
comment:14 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
It wasn't really UTF8 problems, but rather a mix up of what the selection offsets apply to (the real text) and when they were used for the bullet text. And the same about the width offsets of characters, the wrong text was used, with the wrong byte offset mapping for the characters. Should be fixed now since hrev22787, with my limited tests, I couldn't find anymore problems. Feel free to reopen if you spot anymore problems though.
Should it also show some "*" or just hide what is being typed ?