Jump to content
Eternal Lands Official Forums
Alia

Selection in text_field

Recommended Posts

There is odd situation with input_line in code design. For some reason we use different code for

editing input line when cursor is in it and when it is not. Further more, there is some common code

in functions 'text_input_handler' and 'root_key_to_input_field', which is called from the former one.

 

I'm quite sure it is possible to eliminate such duplications, that can cause more severe problems

than this with selection.

 

I think it might be done this way: first we check keys that should be treated differently and then pass

key to keypress_handler of input_line text_field.

Ok, i'll check if this'll work.

P.S.

I hope client will support ctrl-ins / shift-ins as well as ctrl-c / ctrl-v :happy:

Well, in any case you should be able to redefine them in keys.ini . However, I'll probably add additional key combos K_COPY2 and K_PASTE2 mapping to ctrl/shift-insert .

Share this post


Link to post
Share on other sites
Well, in any case you should be able to redefine them in keys.ini . However, I'll probably add additional key combos K_COPY2 and K_PASTE2 mapping to ctrl/shift-insert .
This makes me wonder if it's worth going to a more KDE-esque style where you can assign multiple key combos to a task... I intend to try to come up with a hotkey editing GUI at some stage, so I may take that approach then.

 

In either case, I sent Grum an ICQ message, but I dunno if he even uses ICQ anymore, so: When you hit escape or enter to send a message, the highlight selection on the input widget isn't reset, and I think it should be. (Unless this was fixed in CVS within the last few hours; in which case just ignore this part :happy: )

Share this post


Link to post
Share on other sites
Well, in any case you should be able to redefine them in keys.ini . However, I'll probably add additional key combos K_COPY2 and K_PASTE2 mapping to ctrl/shift-insert .
This makes me wonder if it's worth going to a more KDE-esque style where you can assign multiple key combos to a task... I intend to try to come up with a hotkey editing GUI at some stage, so I may take that approach then.

May be worthwhile, but perhaps only when you start fiddling with the code anyway. I know the K_*2 hack isn't pretty, but it's the easiest solution for a rare problem (if you can even call it that).

In either case, I sent Grum an ICQ message, but I dunno if he even uses ICQ anymore, so:

Gah, haven't run Kopete in two years. I'll see if I can remember my acoounts/passwords :blink:

When you hit escape or enter to send a message, the highlight selection on the input widget isn't reset, and I think it should be. (Unless this was fixed in CVS within the last few hours; in which case just ignore this part :happy: )

Known problem (see above), will fix.

Share this post


Link to post
Share on other sites

Bug! (Or just a limitation/shit feature of the EL widgets/windowing code)

 

In console mode, open the Encyclopedia (CTRL+E). With the mouse over the ency. window, click and drag (like you were selecting text in the enyc.); and move the mouse cursor (whilst still dragging) outside of encyc. window, over the console text and watch as you highlight the text under the window (you can also drag back over the ency. window)!

 

HTH!

Share this post


Link to post
Share on other sites

Okay, I have just committed a bit of code that potentially adds Copy/Paste support on Windows. The problem is that I don't have any Windows machines to test it with, so it's entirely unknown if it'll do anything. If any Windows developer wants to try it out, I'd lie to know if

* it even compiles, and

* it works :), and if not

* what I did wrong :cry:

 

Since I did shuffle some code around, it's possible that I broke the OSX build too, but fortunately Florian will probably let me know within the next half hour if I did :)

 

EDIT: Placid, for the moment let's just say that you discovered a... new feature... or something. Okay? :laugh:

Edited by Grum

Share this post


Link to post
Share on other sites

Since I did shuffle some code around, it's possible that I broke the OSX build too, but fortunately Florian will probably let me know within the next half hour if I did :)

Still compiles :)

Share this post


Link to post
Share on other sites
EDIT: Placid, for the moment let's just say that you discovered a... new feature... or something. Okay? :)

I was going to let you do that, until I just used text highlighting in the notepad and because of the (awful) mouse-over handling of widget focus, it is even more apparent :|

 

Sorry, but it's kinda nasty to use right now...

 

EDIT; grammar...

Edited by Placid

Share this post


Link to post
Share on other sites
* it even compiles, and
No.

 

* it works :), and if not
Kinda hard if it doesn't compile. ;-)
* what I did wrong :D
Ifdef'd out the SDL include under Windows. Eh?? o.O

 

Once the #ifndef WINDOWS is removed, it a) compiles and B) works fine.

 

Fix committed. :-P

 

Since I did shuffle some code around, it's possible that I broke the OSX build too, but fortunately Florian will probably let me know within the next half hour if I did ;)
LOL!! I love the fact it was 2 minutes. Nice work!

Share this post


Link to post
Share on other sites

Ifdef'd out the SDL include under Windows. Eh?? o.O

Ah, missed that. It's a leftover from the times that only X needed SDL. Thanks for fixing it.

Since I did shuffle some code around, it's possible that I broke the OSX build too, but fortunately Florian will probably let me know within the next half hour if I did ;)
LOL!! I love the fact it was 2 minutes. Nice work!

Me too :) I posted, went to another screen to start up EL, came back, reloaded, and there was the answer already! Priceless!

Share this post


Link to post
Share on other sites

Bug! (Or just a limitation/shit feature of the EL widgets/windowing code)

 

In console mode, open the Encyclopedia (CTRL+E). With the mouse over the ency. window, click and drag (like you were selecting text in the enyc.); and move the mouse cursor (whilst still dragging) outside of encyc. window, over the console text and watch as you highlight the text under the window (you can also drag back over the ency. window)!

 

HTH!

EDIT: Placid, for the moment let's just say that you discovered a... new feature... or something. Okay? :D

I was going to let you do that, until I just used text highlighting in the notepad and because of the (awful) mouse-over handling of widget focus, it is even more apparent :|

 

Sorry, but it's kinda nasty to use right now...

 

EDIT; grammar...

Okay, I've just checed in a patch that after a successful drag remembers the window from which the drag motion was started, and the widget that was dragged. This should fix the annoying issues with trying to copy and paste from the notepad while in console and scrollbar not working when the mouse leaves the window (very useful for the fine motion challenged people, like me). Note however that if dragging fails for any reason (no drag handler for instance), it will revert to the original behaviour, so the original issue with the Encyclopedia still stands. I'm just not sure if that's worth fixing.

Share this post


Link to post
Share on other sites
Okay, I've just checed in a patch that after a successful drag remembers the window from which the drag motion was started, and the widget that was dragged. This should fix the annoying issues with trying to copy and paste from the notepad while in console and scrollbar not working when the mouse leaves the window (very useful for the fine motion challenged people, like me). Note however that if dragging fails for any reason (no drag handler for instance), it will revert to the original behaviour, so the original issue with the Encyclopedia still stands. I'm just not sure if that's worth fixing.

 

Great, i'll check it out (excuse the pun :whistle:) tonight.

Share this post


Link to post
Share on other sites

The dragging works as expected, nice one! I did notice the text colour change if you highlight one block in the notepad that's above another. The section that isn't being selected changes to white, which is not the same elsewhere in the client.

 

Otherwise, it works well. Cheers!

Share this post


Link to post
Share on other sites

The section that isn't being selected changes to white, which is not the same elsewhere in the client.

That's a known bug, the code currently has no way of knowing what the original color was when it starts recolouring the text, so it cannot set it back to that colour. In the console it can simply search back in the string for a colour code byte, but those aren't used in the notepad.

Otherwise, it works well. Cheers!

Glad to be of service :)

Share this post


Link to post
Share on other sites
That's a known bug, the code currently has no way of knowing what the original color was when it starts recolouring the text, so it cannot set it back to that colour. In the console it can simply search back in the string for a colour code byte, but those aren't used in the notepad.

Interestingly, it does provide a function. The brown text (highlighted) is rather dark on my screen, so the text changing to white shows me what i'm not selecting. Moot point perhaps, but that bug is not all bad :)

Share this post


Link to post
Share on other sites
That's a known bug, the code currently has no way of knowing what the original color was when it starts recolouring the text, so it cannot set it back to that colour. In the console it can simply search back in the string for a colour code byte, but those aren't used in the notepad.

Interestingly, it does provide a function. The brown text (highlighted) is rather dark on my screen, so the text changing to white shows me what i'm not selecting. Moot point perhaps, but that bug is not all bad :happy:

Well, sorry to disappoint you, but I fixed the bug :icon13:

But yeah, perhaps we should make the normal color of the notepad text a bit lighter, I find it a bit hard to see the transition between selected and unselected text.

 

Anyway, I threw some stuff around, so if anything abnormal happens with printing text in general (not just selected text or the notepad), please let me know.

Share this post


Link to post
Share on other sites

Anyway, I threw some stuff around, so if anything abnormal happens with printing text in general (not just selected text or the notepad), please let me know.

Could this relate to a new bug I've started seeing. When a line of chat exactly fits on one line of screen, it appears not to be terminated correctly. All kinds of extra characters and colours are displayed and the client goes a bit crazy text chat wise. If not I'll investigate some more and report as a new bug. I'm using the latest CVS on Linux. I'm not using the windowed chat mode.

Share this post


Link to post
Share on other sites

Could this relate to a new bug I've started seeing. When a line of chat exactly fits on one line of screen, it appears not to be terminated correctly. All kinds of extra characters and colours are displayed and the client goes a bit crazy text chat wise. If not I'll investigate some more and report as a new bug. I'm using the latest CVS on Linux. I'm not using the windowed chat mode.

I can confirm the "All kinds of extra characters and colours are displayed" for windowed chat.

Share this post


Link to post
Share on other sites

I think I've found and fixed the bug (check the commit for a good laugh). I've not been able to test it though, so please report if there are still problems.

 

EDIT: managed to test it, everything seems normal.

Edited by Grum

Share this post


Link to post
Share on other sites

I think I've found and fixed the bug (check the commit for a good laugh). I've not been able to test it though, so please report if there are still problems.

EDIT: managed to test it, everything seems normal.

Yep, looks fixed to me too. Thanks. Classic bug :happy:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×