Opened 13 years ago

Closed 12 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:
Has a Patch: no Platform: All

Description (last modified by jackburton)

ScreenSaver preferences has some password controls which expose the password at the moment.

Change History (14)

comment:1 by korli, 13 years ago

Cc: stefano.ceccherini@… added

comment:2 by diver, 13 years ago

Cc: diver added

comment:3 by jackburton, 13 years ago

Should it also show some "*" or just hide what is being typed ?

comment:4 by korli, 13 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 jackburton, 13 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 jackburton, 13 years ago

Owner: changed from axeld to jackburton

comment:7 by jackburton, 13 years ago

Component: GeneralUser Interface/InterfaceKit
Description: modified (diff)
Platform: All
Status: newassigned

comment:8 by jackburton, 13 years ago

Resolution: fixed
Status: assignedclosed

Fixed in hrev18837. Note that there are still problems, but a new bug should be opened for them.

in reply to:  8 comment:9 by jackburton, 13 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 kvdman, 12 years ago

Resolution: fixed
Status: closedreopened

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

comment:11 by ksmith, 12 years ago

Cc: ksmith 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.

in reply to:  11 comment:12 by jackburton, 12 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 jackburton, 12 years ago

Milestone: R1R1/alpha

comment:14 by stippi, 12 years ago

Resolution: fixed
Status: reopenedclosed

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.

Note: See TracTickets for help on using tickets.