esitarski / CrossMgr

Cyclo Cross Management Application
MIT License
41 stars 21 forks source link

ImportImpinjFile time fields formatting #26

Closed rkantos closed 4 years ago

rkantos commented 5 years ago

Please see the gif below... When typing in colon to the Race Start Time field the input can no longer be put in properly without opening the window again. Also mistyping something to Import Data Time Adjustment will also make it impossible to use it without opening the window again.

CrossMgr Impinj import bug

esitarski commented 5 years ago

What platform are you using? I don't see the problem on Windows. Is it a Linux or Mac?

On Tue, Jun 25, 2019 at 8:39 AM rkantos notifications@github.com wrote:

Please see the gif below... When typing in colon to the Race Start Time field the input can no longer be put in properly without opening the window again. Also mistyping something to Import Data Time Adjustment will also make it impossible to use it without opening the window again.

[image: CrossMgr Impinj import bug] https://user-images.githubusercontent.com/16664350/60098781-f7b40180-975e-11e9-9ea5-4f692c8e70b2.gif

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/esitarski/CrossMgr/issues/26?email_source=notifications&email_token=AABGXKNUJ55DR3DGOZLXEVDP4IGYNA5CNFSM4H3H3TNKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G3RESGQ, or mute the thread https://github.com/notifications/unsubscribe-auth/AABGXKJI4KZ6LY75R24KQALP4IGYNANCNFSM4H3H3TNA .

--

Edward Sitarski

rkantos commented 5 years ago

What platform are you using? I don't see the problem on Windows. Is it a Linux or Mac? On Tue, Jun 25, 2019 at 8:39 AM rkantos @.***> wrote: Please see the gif below... When typing in colon to the Race Start Time field the input can no longer be put in properly without opening the window again. Also mistyping something to Import Data Time Adjustment will also make it impossible to use it without opening the window again. [image: CrossMgr Impinj import bug] https://user-images.githubusercontent.com/16664350/60098781-f7b40180-975e-11e9-9ea5-4f692c8e70b2.gif — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#26?email_source=notifications&email_token=AABGXKNUJ55DR3DGOZLXEVDP4IGYNA5CNFSM4H3H3TNKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G3RESGQ>, or mute the thread https://github.com/notifications/unsubscribe-auth/AABGXKJI4KZ6LY75R24KQALP4IGYNANCNFSM4H3H3TNA . -- Edward Sitarski

Ah, yes, I am using Ubuntu 16.04.6 with Python 3.6.8... Also I am using wxPython-4.0.6-cp36-cp36m-linux_x86_64.whl from here which I now think might be the cause: https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04/

mbuckaway commented 4 years ago

Please attempt to recreate the problem with the current AppImage build. If this is still an issue, I will look at it. Unfortunately, some the WxPython entry validation code doesn't work on Mac/Linux. I've had to create workarounds for other dialogs/programs.

rkantos commented 4 years ago

Please attempt to recreate the problem with the current AppImage build. If this is still an issue, I will look at it. Unfortunately, some the WxPython entry validation code doesn't work on Mac/Linux. I've had to create workarounds for other dialogs/programs.

I tried with the latest .42 version by running of from the native python files of the master branch, like I have been running CrossMgr on Linux always. The problem still appears. I think the problem only occurs when something in the field is under selection (hilighted). Then it is possible to overwrite or remove everything in the field. Maybe it would be best to just not allow hilighting / selecting the contents in the text field and always put the cursor before the first character/digit in the field on the first click to retain proper copy-paste functionality with the fields. On the second click to the field, one could then click on any part of the string.

I see this way there wouldn't need to find out what formatting options of a particular wxPython build work for whichever platform, but could instead limit the functionality of the fields to the minimum necessary.

esitarski commented 4 years ago

Fixed in CrossMgr 3.0.43 by switching to an EditCtrl for Mac and Linux rather than MaskedEdit, which only works for Windows. This is a known wxPython toolkit problem, but no one has fixed it for years. I tried, but it is too convoluted for me to follow.

mbuckaway commented 4 years ago

Tested CrossMgr 3.43 under Linux and Mac OSX using the Github release. Used the Properties Tab->General info. Attempted to change the time Scheduled Start, and could not enter a time if the : was erased.

Was this control used replaced everywhere in the application?

esitarski commented 4 years ago

All is good. HighPrecisionTimeEdit is a class defined by CrossMgr. The rest of the app uses the class, so, the fix is only required in one place.

On Thu, Jan 2, 2020 at 11:04 AM Mark Buckaway notifications@github.com wrote:

Tested CrossMgr 3.43 under Linux and Mac OSX using the Github release. Used the Properties Tab->General info. Attempted to change the time Scheduled Start, and could not enter a time if the : was erased.

Was this control used replaced everywhere in the application?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/esitarski/CrossMgr/issues/26?email_source=notifications&email_token=AABGXKI46GRPMD3I3VCNPULQ3YGANA5CNFSM4H3H3TNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH6V4JA#issuecomment-570252836, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABGXKI3WNY36WZVQXFGQO3Q3YGANANCNFSM4H3H3TNA .

--

Edward Sitarski

mbuckaway commented 4 years ago

That's fantastic. Except you missed the part where it doesn't work. May I suggest installing the Linux version on your basement linux machine, and try it.

esitarski commented 4 years ago

Can you be more specific? All the HighPrecisionTimeEdit was fixed, which was the bug report. A code scan revealed that masked.TimeCtrl was being used in a number of places, and I just got converted them to my standard class.

On Thu, Jan 2, 2020 at 1:44 PM Mark Buckaway notifications@github.com wrote:

That's fantastic. Except you missed the part where it doesn't work.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/esitarski/CrossMgr/issues/26?email_source=notifications&email_token=AABGXKJ6EU4YDVP3W4P5VYDQ3YYYFA5CNFSM4H3H3TNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH7B4YA#issuecomment-570302048, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABGXKNYLDGWGZBSWBDMRMTQ3YYYFANCNFSM4H3H3TNA .

--

Edward Sitarski

mbuckaway commented 4 years ago

Tested CrossMgr 3.43 under Linux and Mac OSX using the Github release. No, you can't test this one Windows.

The control does not work on Mac and Linux...even with the changes.

The solution has been to remove these "fancy controls" on Mac/Linux and use a standard text box, and do validation after the fact. This is what I had to do with CrossMgrImpinj.

rkantos commented 4 years ago

I can also confirm that the change isn't working on Linux.. Since the bug seems to occur most reliably when highlighting the selection fields.. Maybe there would be a way to disable highlighting in at least some of the windows containing this MaskedEdit.

The solution has been to remove these "fancy controls" on Mac/Linux and use a standard text box, and do validation after the fact. This is what I had to do with CrossMgrImpinj.

Is it possible to make a pr of your changes for Linux?

Regarding wxPython, the issue is referenced here https://github.com/wxWidgets/Phoenix/issues/639

mbuckaway commented 4 years ago

Regardless I what i tried, the only solution that worked was to remove any control that validated as the user typed....which really is unnecessary.

@rkantos if you have time, perhaps you can review it.

esitarski commented 4 years ago

Fixed. I wrote a custom non-fancy widget to edit times for Mac/Linux, but it had a problem with it. It should be fixed everywhere now.

On Mon, Jan 27, 2020 at 6:36 AM Mark Buckaway notifications@github.com wrote:

Regardless I what i tried, the only solution that worked was to remove any control that validated as the user typed....which really is unnecessary.

@rkantos https://github.com/rkantos if you have time, perhaps you can review it.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/esitarski/CrossMgr/issues/26?email_source=notifications&email_token=AABGXKOSI2EZ4QVTCCIWON3Q73BMVA5CNFSM4H3H3TNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJ7GKEI#issuecomment-578708753, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABGXKJI4MXMWE7DR63IMETQ73BMVANCNFSM4H3H3TNA .

--

Edward Sitarski

esitarski commented 4 years ago

The HighPrecisionTimeEdit widget is now working properly on all platforms. Closing this issue.