vCardz_i an address book/contact list program

Started by John Z, August 01, 2021, 04:25:26 PM

Previous topic - Next topic

John Z

#15
Well I finally got everything fixed that broke when implementing the manifest for version 6.0.0 controls.
It was a surprise, but shouldn't have been I guess, that an upgrade to newer control version impacted (adversely)
the original program capabilities.  Thanks Micro$oft.

Anyway version 2.6.3.1 is released on SourceForge for those interested in vcf, xml, or json contact cards.
All Pelles C version 11, except the inclusion of XLSXio DLL for exporting to XLSX files.  I could have written this too
as I did for ODF format ODS spreadsheet but decided to give it a try.  It works well for simple output, see attachment
Found at https://sourceforge.net/projects/xlsxio/  but is also on Github at https://brechtsanders.github.io/xlsxio/

If you find a similar vcard program that does more than mine let me know how much they charge you... :)
https://sourceforge.net/projects/vcardz/   (15K+ downloads, 155 countries)

One tip - always use the resource file to include the manifest.

John Z

John Z

Version 2.7.2 of this Swiss army knife of vcards is using Pelles C v12 and tested on Win 11.
https://sourceforge.net/projects/vcardz/

Over 16k downloads and 161 countries (over the lifetime of course).

It is still 32 bit.  Working on a 64 bit version mostly complete except for the zip portion for ODS.

Anyway if you need to do almost anything with vcards in vcf, xml, or json format try it out.
It also can create QR's from vcard data or your own entered text.

John Z

John Z

#17
vCardz_i Version 2.7.3 of this Swiss army knife of vcards (VCF, XML and JSON) using Pelles C v12 and tested on Win 11 - includes a 64 bit version as well as 32.

New Dark Mode added. :)

John Z

John Z

#18
vCardz_i updated to version 2.8.2 with a few new features 7/4/2024.


Executable download at https://sourceforge.net/projects/vcardz/

Lifetime downloads 18,010 across 166 countries  :)

All just Pelles C 64 bit now.

John Z

John Z

vCardz_i updated to version 3.0.0 with new features and fixes 01/06/2025  Pelles C 64 bit

Executable download at https://sourceforge.net/projects/vcardz/

This is the 'Swiss army knife' of vcards (vcf, json, and xml) all versions.

Hopefully it survives WIN11 24H2

John Z

Quin

#20
Hi John Z,
Very cool looking program you've got here! I do have some feedback though:
1. It's impossible to shift+tab through your edit fields; I can only press tab to move forward.
2. Only the first character is selected in the fields by default, not the full text. This makes my screen reader only read the first letter that's typed there, and typing to override the selection is weird. I'd recommend using 0, -1 for EM_SETSEL's parameters.
3. The window I saw for half a second or so before the application came up said it's open source. Where can I find the source code?
Thanks, and excellent work!
Use the assembly, Luke.

John Z

Hi Quin,

1) Yes shift+tab is not implemented. I'll consider.

2) First character selection was a design decision because the window is in read only mode.  Clicking in any text field and NVDA will read the label and the full text in the field. (I was testing it after I tested the calendar program).  In Edit mode the full text in the field is selected when tabbing.

3) Earlier versions sources have been released both VB and C code, so far I have not released the current version.  I'm a bit hesitant to do so.  I'll think about it though.

It has features for vision impaired persons, the window can grow to any size up to the full screen size and the font size can grow with it.  Colors can be selected that are easy to read.  It's own dark mode can be chosen.  Any field can be spoken by clicking in it and pressing F10.  F11 and F12 will read out a full name and address, F11 at standard speed, F12 at a slower rate, without NVDA...


John Z

Quin

Hi John,
I would recommend firing up NVDA and trying to use your app entirely without a mouse. While NVDA does technically support the mouse we blind users almost never actually use it. I've learned from object navigating around your window that there are many controls I am unable to access with the tab key, such as the radio buttons, the list of phone numbers, etc.
I'm also unsure what you mean about the whole selection being read when tabbing in edit mode, it always only reads the first character here.
Thanks!
Use the assembly, Luke.

John Z

Quote from: Quin on April 30, 2025, 06:45:43 PMI would recommend firing up NVDA and trying to use your app entirely without a mouse.

Good idea now that I have NVDA installed.  Windows users get quite set in their/our ways with using the mouse.  Micro$oft worked long and hard to get us handicapped this way :)

Quote from: Quin on April 30, 2025, 06:45:43 PMI'm also unsure what you mean about the whole selection being read when tabbing in edit mode, it always only reads the first character here.

As long as the page is in View mode only the first character is selected in each field when tabbing.  Even though 'editing' can be done in the read only mode it is only a temporary edit useful only for the moment, and can't be saved.  This is by design so there is no question that it is not in edit mode.
There also is a toolbar button, right side, that shows the mode and when clicked will indicate read only mode and how to enter the true edit mode.  May seem clumsy at first but there are benefits IMO.


To enter the 'true' edit mode Main Menu item 'Edit' sub menu item 'Edit Current card' must be used.  When in this mode moving by TAB highlights the entire field entry, also as a clear clue the edit mode is active and edits can be saved.


John Z

Quin

Hi,
Ah, I see what you mean now. And yes, this does indeed highlight the whole selection.
The date control doesn't really read correctly, for example if you left/right arrow you're not told if you're now modifying the hour, minute, second...etc. But as far as I know this is not your fault, Microsoft just happens to be incompetent as hell and baked an inaccessible control into the OS...
"Oh but Copilot though! Shiny shiny!"
I digress though.
Use the assembly, Luke.

John Z

Hi Quin,

Upon further testing it looks like NVDA issues.  In that particular time control it works perfectly in the calendar program but only intermittently in vCard program date/time entry child window.  If using tab in the child process it can read at least the first entry.  If using up and down arrow it does seem to read out the Hour, minutes.... but using left or right it does not.  It often stops altogether.

Other issues with it
If a tool bar has a separator the audio readout is off by one or more toolbar buttons that is mouse over separator reads the immediate right toolbar button name, move to that it reads the next over - all shifted

Does not read the Date control window correctly at all.  Reads out semi random something, never the right date.

Sometimes just stops reading, especially with child windows, and child of child windows.

I'm making a few tweaks to vcardz_i to be a little better when using NVDA like removing the 1st character select in view mode.  Allowed tab to move to the e-mail and phone lists. Nothing done for the option buttons yet, those will need more thinking.

I doubt it can be totally perfect under NVDA though, considering the issues.

John Z


Quin

Hi John,
Thanks for all your work! I doubt it will be able to be made absolutely perfect, at least purely from yourself writing code, but I wonder if we can get NVDA/Microsoft/whoever has the broken implementation to fix the date control?
Use the assembly, Luke.

John Z

Hi Quin,

Version 3.1.1 in final testing now. It can be completely used by just using the keyboard.
If all goes well it will be posted soon.

Fixed forward tabbing in all dialogs to be logical.

Added reverse tabbing i.e. Shift+TAB.

Added an Option under Settings "Optimize for no Mouse" which when set will replace the calendar use (which is poor under NVDA) with a simpler dialog. 

Added headers to all tables in the help file.

Added using Ctrl+Tab to enter tabbing of the Option buttons. Also can Ctrl+Tab again to exit tabbing the Option buttons earlier than tabbing all the way through the last option button, which is when it exits back to the main anyway.

The main issue/bug with NVDA is when the mouse is used. It seems it does not always get the mouse position accurately, especially problems with calendar, toolbars, and menus with hot keys showing.  Now vCardz_i should be quite usable with NVDA.

Also remember vCardz_i itself can read out any data field by pressing F10, plus full name and address with F11 and F12 (slower).  I might consider adding the label too but NVDA already does that....

Appreciate all your inputs!

John Z

Quin

Hi John,
Glad to hear it, that's incredible! I look forward to testing it.
I wouldn't worry about NVDA and the mouse, I don't have a mouse connected to my PC and use keyboard commands to manipulate the mouse when I need to.
Use the assembly, Luke.