MyCharacters

Developed or developing a new product in PureBasic? Tell the world about it.
Little John
Addict
Addict
Posts: 4775
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: MyCharacters 1.00

Post by Little John »

HeXOR, thank you for your good suggestions!
I'll release a new version as soon as I possible.
HeX0R wrote: Fri Jun 14, 2024 6:41 pm [Edit]Apps, which ask me if I really want to close them are also a little "outdated" :mrgreen:
That is from a time, where the preference dialogs still had an apply button
Well, according to my experience, such a dialog sometimes can be very useful.
Obviouisly, you don't know some of my co-workers at our office. :mrgreen:
benubi
Enthusiast
Enthusiast
Posts: 215
Joined: Tue Mar 29, 2005 4:01 pm

Re: MyCharacters 1.00

Post by benubi »

I have noticed recently that new unicode symbols go beyond UTF16, like smileys that need two utf16 characters to be described.

But it seems to work anyway, since in case there are pairs you write both symbols at once, right? Then everything is fine.

Code: Select all

\uD83D\uDE0A
=> 😊
Little John
Addict
Addict
Posts: 4775
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: MyCharacters 1.00

Post by Little John »

benubi wrote: Sat Jun 15, 2024 11:58 am I have noticed recently that new unicode symbols go beyond UTF16
My program handles that automatically. Just enter e.g.

Code: Select all

\u1F60A
for this smiley: 😊
Little John
Addict
Addict
Posts: 4775
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: MyCharacters 1.01

Post by Little John »

Version 1.01 beta 1

Fixed
  • Removed keyboard shortcuts [Ins] and [Shift]+[Ins] in the main window. Were previously used for inserting characters and codes from this program into the target application. But [Shift]+[Ins] is normally used on Windows for pasting content from the clipboard.
Changed
  • Commands "New" and "Delete" moved from the main menu to the toolbar of the main window
  • In the "New" dialog, now you can enter the desired Unicode number or the corresponding character itself.
  • In the "New" and in the "Settings" dialogs, swapped positions of [OK] and [Cancel] buttons (according to the general convention).
  • In the "New" and in the "Settings" dialogs, [OK] now works as default button.
  • After changing the program's language, pressing [F1] now shows the proper language version of the help file (previously, a restart of the program was required for this to work).
  • Other small UI changes
  • Small internal changes
  • Documentation slightly improved
New
  • Keyboard shortcut [Ctrl]+[N] in the main window for new item
  • Keyboard shortcuts [Ctrl]+[Up] and [Ctrl]+[Down] in the main window for moving current item
  • Keyboard shortcuts [Ctrl]+[Ins] and [Shift]+[Ctrl]+[Ins] in the main window for copying character or code to the clipboard
  • Option in the settings for confirming program termination
Download of portable program version:
<removed>
Last edited by Little John on Sun Jun 30, 2024 10:23 am, edited 1 time in total.
User avatar
HeX0R
Addict
Addict
Posts: 1187
Joined: Mon Sep 20, 2004 7:12 am
Location: Hell

Re: MyCharacters

Post by HeX0R »

Wow, that makes it so much more intuitive now, perfectly for my needs!
Thanks a lot!
Little John
Addict
Addict
Posts: 4775
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: MyCharacters

Post by Little John »

Hi HeX0R, I'm glad that the program meets your needs. And thanks again for the good suggestions!

Version 1.01 beta 2

Fixed
  • In version beta 1, characters newly added to the list were always converted to upper case.
Changed
  • Replaced ImageGadgets for "New" and "Delete" with CanvasGadgets. These can get the keyboard focus.
  • After inserting a pair of related characters (e.g. quotation marks) into the target application, the caret is now set between the characters.
  • Stricter checking of code newly entered to the list: Any \u must be followed by a valid hexadecimal number (e.g. \uABXY is no longer accepted).
  • minor tweaks
New
  • After copying characters or code to the clipboard, a corresponding message is shown in the statusbar for 3 seconds.

Download of portable program version:
<removed>
Last edited by Little John on Sun Jun 30, 2024 10:27 am, edited 1 time in total.
User avatar
HeX0R
Addict
Addict
Posts: 1187
Joined: Mon Sep 20, 2004 7:12 am
Location: Hell

Re: MyCharacters

Post by HeX0R »

Cool!
Maybe one last wish from my side:
Since the list of characters got longer, and I didn't really take care of where exactly I've added new characters, they are now somewhat unstructured.
I edited the lst file to bring back a useful order, but an option to move existing entries would be better IMHO.
Maybe just a simple drag&drop to move entries around, or whatever fits you best.
Or just keep it as is, I can also edit the file, I don't think I have to add much more characters anyway.
Little John
Addict
Addict
Posts: 4775
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: MyCharacters

Post by Little John »

HeX0R wrote: Sun Jun 23, 2024 5:52 pm I edited the lst file to bring back a useful order, but an option to move existing entries would be better IMHO.
Maybe just a simple drag&drop to move entries around, or whatever fits you best.
You can use Ctrl]+[↑] and [Ctrl]+[↓] in the main window for moving the selectd item. :-)
User avatar
HeX0R
Addict
Addict
Posts: 1187
Joined: Mon Sep 20, 2004 7:12 am
Location: Hell

Re: MyCharacters

Post by HeX0R »

Damn!
Thanks
Little John
Addict
Addict
Posts: 4775
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: MyCharacters

Post by Little John »

Official version 1.01 (see first post of this thread).

New
  • Built-in support for the beautiful French language.
    Merci beaucoup to the author (who is mentioned in the language file)!
acreis
Enthusiast
Enthusiast
Posts: 204
Joined: Fri Jun 01, 2012 12:20 am

Re: MyCharacters 1.00

Post by acreis »

Hi,

Where can I find this progressbar with UTF8 characters?

Couldn't find by searching, maybe not the right words?

Thanks!

jacdelad wrote: Thu Jun 16, 2022 9:58 pm Hi Little John,
yesterday mk-soft postet a nice "hack" to show how to realize a fake progressbar within a ListIconGadget by using UTF8-characters. This led me to write a small program to explore the UTF8 character set, which let me find a lot of interesting characters abusable for other uses.
However, maybe you could consider integrating some "UTF8-Explorer" to explore and find the whole UTF8-Set.
Also I would like to suggest to create a preview with enlarged characters (I can barely see the ones coming predefined), maybe also different fonts and a preview how they look when you put two or three of them next to each other (that way I found out which characters looked best for the progressbar). This is what I would add.
User avatar
jacdelad
Addict
Addict
Posts: 1991
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: MyCharacters

Post by jacdelad »

Hi acreis,
this was ages ago, I don't remember. Basically use a Text gadget or text anywhere and place utf-8 character which symbolise blocks to create the fake progress bar.
Good morning, that's a nice tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Quin
Addict
Addict
Posts: 1122
Joined: Thu Mar 31, 2022 7:03 pm
Location: Colorado, United States
Contact:

Re: MyCharacters

Post by Quin »

I've got a bit of feedback on this too, as a screen reader user. I really like the idea, being able to pull up the window and just press enter to paste a particular character is super handy. Forgive me if these are already possible, from my limited tinkering I couldn't find how to do them:

Can you allow us to toggle the window with a customizable hotkey? The way I make this typically work in my app is by using RegisterHotKey_(), and having the hotkey:
* Show and focus the window if its hidden.
* Set it to the foreground if it's shown but not focused.
* Hide it to the system tray if it's focused and shown.

It would also be really nice if I could press a key, for example alt+control+c, and then customizable keys. For example, typing a dash (-) after pressing the key would type \u2013.

The main window has a couple accessibility oddities for screen readers too. The tray icon amazingly works great, but tabbing tends to just say "unknown" or "button" in a lot of cases. The core functionality Is usable, but I don't know much about the main window other than the list of characters and the insert button.

Over all I think this has a lot of potential and look forward to future versions!

Edit: just adding, thanks for the attention to detail as far as keyboard shortcuts go, that's something you don't even really see out of MS these days with UWp and WinUI apps... :(

Just a couple more thoughts. It would be nice if escape closed dialogs and also *hid* the main window to the tray. Editionally, the second text field in the new entry dialog is unlabeled. This isn't a big deal though, it's fairly self-explanatory.
Little John
Addict
Addict
Posts: 4775
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: MyCharacters

Post by Little John »

Hello Quin,

thanks for your detailed feedback!
Quin wrote: Can you allow us to toggle the window with a customizable hotkey? The way I make this typically work in my app is by using RegisterHotKey_(), and having the hotkey:
* Show and focus the window if its hidden.
* Set it to the foreground if it's shown but not focused.
* Hide it to the system tray if it's focused and shown.
1 & 2) You can optionally specify one of the function keys F2 to F11 as hotkey by passing it as commandline parameter when launching the program.
3) This can be done by pressing the system hotkeys [Win]+[down].
However, using the custom hotkey for toggeling the window state is an interesting idea. I need to think about it carefully.
Quin wrote: It would also be really nice if I could press a key, for example alt+control+c, and then customizable keys. For example, typing a dash (-) after pressing the key would type \u2013.
I'll think about it.
Quin wrote: The main window has a couple accessibility oddities for screen readers too. The tray icon amazingly works great, but tabbing tends to just say "unknown" or "button" in a lot of cases. The core functionality Is usable, but I don't know much about the main window other than the list of characters and the insert button.
I'm sorry to read that!
In addition to the list of characters and the insert button, the main window contains the following gadgets:
  • HyperLinkGadget with a customizable link to another character table (Windows built-in character table by default).
    When a custom character table is used here, the gadget's tooltip shows the link to the chosen character table.
  • CanvasGadget that contains an image showing a red cross.
    Its tooltip shows “Delete item”.
  • CanvasGadget that contains an image showing a green cross.
    Its tooltip shows “New item (Ctrl+N)”.
  • ButtonImageGadget that contains an image showing a burger menu.
    Its tooltip shows “Open menu (Shift+F10)”.
  • CheckBoxGadget with the caption “Always on top”.
  • StatusBar
What can I do here in order to assist the screen reader?
Quin wrote: Just a couple more thoughts. It would be nice if escape closed dialogs and also *hid* the main window to the tray. Editionally, the second text field in the new entry dialog is unlabeled. This isn't a big deal though, it's fairly self-explanatory.
I've also thought about using [Escape] for closing dialogs. However, the “Settings” dialog contains a ComboBoxGadget, and [Escape] is normally used for closing the list of a ComboBoxGadget. When I assign [Escape] as hotkey to the dialog, I think that wouldn't work anymore.
Using [Escape] (additionally to the system hotkey [Win]+[down]) for hiding the main window to the tray IMHO is a great idea.

In the “New item” dialog, above the left StringGadget there is a TextGadget with the content “Character or \uXXXX” and above the right StringGadget there is a TextGadget with the content “Comment”. I have no idea why the screen reader does not recognize it.
Quin
Addict
Addict
Posts: 1122
Joined: Thu Mar 31, 2022 7:03 pm
Location: Colorado, United States
Contact:

Re: MyCharacters

Post by Quin »

Here are a couple tips, based on your control descriptions:
  • HyperLinkGadget with a customizable link to another character table (Windows built-in character table by default). This might actually be a bug report for Fred... I noticed that these can't receive the keyboard focus some time ago.
  • CanvasGadget that contains an image showing a red cross.
    Its tooltip shows “Delete item”.
  • CanvasGadget that contains an image showing a green cross.
    Its tooltip shows “New item (Ctrl+N)”.
  • ButtonImageGadget that contains an image showing a burger menu.
    Its tooltip shows “Open menu (Shift+F10)”.
    Tooltips are only sometimes helpful to screen reader users, because we can turn them off. I for example choose to do this because there's very commonly an accessible label (probably IAccessible.accname in PB's case), and the tooltip just gets in the way. The biggest way to improve these controls would be to give them accRoles and accNames. For whatever it's worth, the ButtonImageGadget just needs a name, and I discovered that you can label those by calling SetGadgetText() to just set an accessible label, although isn't documented (I've also suggested accessible label settings as a feature request here).
  • CheckBoxGadget with the caption “Always on top”.
    This one shows up just fine, although it could maybe serve to be moved in the tab order, after the insert button etc.
  • StatusBar
    Accessible with a hotkey, no issue.
I've also thought about using [Escape] for closing dialogs. However, the “Settings” dialog contains a ComboBoxGadget, and [Escape] is normally used for closing the list of a ComboBoxGadget. When I assign [Escape] as hotkey to the dialog, I think that wouldn't work anymore.
You could always check the focused control and expanded state of the combo box, do that logic yourself, honestly this is how I'd do it, but I understand if you don't want to :)
In the “New item” dialog, above the left StringGadget there is a TextGadget with the content “Character or \uXXXX” and above the right StringGadget there is a TextGadget with the content “Comment”. I have no idea why the screen reader does not recognize it.
Also perhaps a Fred question, I've noticed a ton of weird problems with how accRole and stuff gets set on controls due to control positioning etc

Thanks so much for being willing to look at this!
Post Reply