microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
108.34k stars 6.4k forks source link

[Quick Accent] Select multiple languages #21261

Open htcfreek opened 1 year ago

htcfreek commented 1 year ago

Description of the new feature / enhancement

Currently you can select "All available" or a specific language. It would be helpful and nice if you can select multiple languages to have more than one but not all of them. For example, German and Currency.

Scenario when this would be used?

When you need only some of the languages.

Supporting information

No response

joosniz commented 1 year ago

Having to go through all the "Quick" Accents when you just need two or three languages makes the name a little ironic, wouldn't you say? 😉 Here's a couple options for the implementation I can think of off the top of my head.

Option 1. A checkbox list. Perhaps the simplest solution.

Option 2. An input field with suggestions where you can add languages as if they are tags. Type "sp" and see Spanish in the list, select the result to add it to the field. It gets added as a tag that you could remove with a small X button. Press the field to see all languages, and select another langue to add that one as a tag as well.

marqustd commented 1 year ago

This one would be really nice. I need only Polish and Swedish, looking for a specific letter among 7 very similar is quite frustrating...

seatrout commented 1 year ago

Can I add my support for this? I use Swedish, German, and French. and have no use for the vast majority of the suggestions offered for many vowels. On the other hand, when I limit the selection to Swedish, there are a couple of letters missing (é and ü) which, though rare, certainly are used sometimes (I had a boss called Krüger when I lived there)

antondd commented 1 year ago

I find the new feature "sort by usage frequency" helps already to get the characters used to the first positions, but yes, selecting only the needed languages (for me German and French) would be the best solution.

htcfreek commented 8 months ago

I support this enhancement. I would like to try to work on this. Though before starting is this something we want to add, i.e. would the UX for this work?

Originally posted by @SKPG-Tech in https://github.com/microsoft/PowerToys/issues/30320#issuecomment-1848666644

@SKPG-Tech Great to hear. (For your information I have deduplicated all issues against this here. So this issue is the new tracking issue.)

Feel free to start work on it and open a PR. This will be a great enhancement. I can imagine to have a checklist of all available languages with a "uncheck/check all" button on the settings page.

If you have any questions or need any help please don't worry to ask.

CarlGao4 commented 8 months ago

Is it possible to add custom charsets?

htcfreek commented 8 months ago

Is it possible to add custom charsets?

@CarlGao4 It should be. But your request is tracked in #20312.

SKPG-Tech commented 8 months ago

@htcfreek I've found this in the Community Toolkit, do you think it would fit the requirements? I think it is better than having a list of checkmarks

ApplicationFrameHost_sUVBA6C8tW

htcfreek commented 8 months ago

I've found this in the Community Toolkit, do you think it would fit the requirements? I think it is better than having a list of checkmarks

ApplicationFrameHost_sUVBA6C8tW

As @niels9001 is our main ux designer, let's ask him.

niels9001 commented 8 months ago

@htcfreek @SKPG-Tech I think the TokenizingTextBox is not the ideal control to be used here, as it's more meant as a textbox.

I'd say a ComboBox with multiple selection would be ideal, but we don't have that in WinUI yet: https://github.com/microsoft/microsoft-ui-xaml/issues/263

Other things that come to mind, is the language selection in W11 Settings where each card would be a language. image

But maybe the easiest is to have a SettingsExpander and have a ListView as its content like this:

image

htcfreek commented 8 months ago

@niels9001 , @SKPG-Tech I like the idea of having a SettingsExpander with checkbox ListView. We should make colapsed by default.

@SKPG-Tech, are you working on it now?

SKPG-Tech commented 8 months ago

@htcfreek Sorry, I forgot about this for some time. I'll look into it later this week, perhaps. But yes, I do plan on implementing this soon. Again, sorry for disappearing randomly 😅

htcfreek commented 8 months ago

@htcfreek Sorry, I forgot about this for some time. I'll look into it later this week, perhaps. But yes, I do plan on implementing this soon. Again, sorry for disappearing randomly 😅

@SKPG-Tech No worries.

SKPG-Tech commented 6 months ago

Sorry, I'm resigning from this. If anyone wants to do this, go right ahead.

catwithbanana commented 5 months ago

Chiming in to agree with the need for this feature. My only option for covering all of the characters I need right now is to select "All available," which creates an absolute mess of characters. The ability to select multiple languages or arbitrary character lists is badly, badly needed.

echeifet33 commented 4 months ago

As a note as to why this is really needed, I just updated PowerToys so now a bunch of new language sets have been added for me. When I QuickAccent for "e" on my laptop, the bar doesn't fit on my screen. I can't see my most frequently used accents as they get cut off! If I could remove the Hebrew vowels or some of the Latin accents, this would not be an issue.

X-shoucheng commented 4 months ago

And anyone are still working on the feature? I especially hope this feature can be done.

albertvaka commented 4 months ago

+1. I type in 3 non-English languages, so I have to resort to the very broad "all available" character sets option, while really I would only need a few extra characters.

PesBandi commented 2 months ago

Hello everyone, in case someone intends to work on this I want to suggest using a wrap panel instead of a list view, considering the large number of languages. image

SpaceWarriorR commented 1 month ago

Really hoping someone manages to make this change, it would be really useful.

htcfreek commented 1 month ago

Hello everyone, in case someone intends to work on this I want to suggest using a wrap panel instead of a list view, considering the large number of languages. image

@PesBandi Wondering if you like to work on it?

I like your suggestion.

And for logical reasons I wonder if we should update All available to "special cgaracters" so that this only includes the characters that does not match to any other category. (Because selecting all checkboxes including an "all character sets" category that is not really the sum of all other sets feels odd.)

PesBandi commented 1 month ago

Hello @htcfreek, sorry for the late response.

And for logical reasons I wonder if we should update All available to "special cgaracters"

Yes of course, I just didn't notice it when I changed the ComboBoxItems to CheckBoxes.

Wondering if you like to work on it?

I didn't intend to, but I can look into it. I am not confirming that I will complete it in a reasonable amount of time, but there's a chance I might (if I have some free time). If anyone else wants to work on this feel free to do so.

Also another thing I realized, CheckBoxes probably aren't the best idea. The ViewModel code for 38 CheckBoxes would be pretty long. I suggest using a CheckedListBox.