Date   

Re: How to set focus?

=?ISO-2022-JP?Q?=1B$B9b=4082=22=1B=28J?=
 

Thanks and sorry. The object is not created by myself.

On Thu, 16 Sep 2021, Rui Fontes wrote:

Date: Thu, 16 Sep 2021 23:17:32 +0100
From: Rui Fontes <rui.fontes@tiflotecnia.com>
Reply-To: nvda-addons@nvda-addons.groups.io
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] How to set focus?
Hello!


self.text_ctrl_1.SetFocus()

and in the same line, to make a button the default button:

self.button_OK.SetDefault()


Rui Fontes



Às 22:42 de 16/09/2021, 高生旺 escreveu:
In a dialogue, how to automatically set focus on a specified button?
What's the syntax?
Thanks!




Re: How to set focus?

Rui Fontes
 

Hello!


self.text_ctrl_1.SetFocus()

and in the same line, to make a button the default button:

self.button_OK.SetDefault()


Rui Fontes



Às 22:42 de 16/09/2021, 高生旺 escreveu:

In a dialogue, how to automatically set focus on a specified button?
What's the syntax?
Thanks!




How to set focus?

=?ISO-2022-JP?Q?=1B$B9b=4082=22=1B=28J?=
 

In a dialogue, how to automatically set focus on a specified button?
What's the syntax?
Thanks!


Re: Help for UIA

Alberto Buffolino
 

Joseph Lee, il 16/09/2021 20.45, ha scritto:
Have you looked at Outlook app module's UIAGrid class? I'm thinking you can adopt that class and look at how one can navigate columns in there.
Alberto:
Hi Joseph,
thanks for suggestion, it could be useful, but I already resolved with column navigation, indeed.
I asked about FindAll for list search: I'm able to search using IAccessible, but I have problems to force focus/selection when finished.
Alberto


Re: requesting review: Spellcheck

Locutor Antonio Cezar
 

Hello. I bought Timspell+ for a long time, but I can not work with him and NVDA to write in Portuguese, because timspell+ interferes with typing special characters, very common in words accentuated in Brazilian Portuguese, as well as Spanish, among other languages. This problem occurs in almost all applications, where I would like to use Timyspell+, and the developer even went to install the NVDA, after I reported the problem for it, but never found a correction for this, or at least ever It has made available to me, so that it is not possible to work with Timyspell+ Time Spellcheck with NVDA. It seems to me that with Jaws, Timspell+ can work as expected, but I do not have the money to buy Jaws, and I also prefer to work with NVDA, even if you have to give up a Real SpellCheck team. So much is that it has been a long time since I have the Jaws installed here, not even in the 40 minuts mode function. Anyway, who knows Fawaz Abdul Rahman can implement the Time Real SpellCheck in the add-on created by it for NVDA users, as suggested by me... Thanks.



Locutor Antonio Cezar

Em 16/09/2021 15:53, Timothy via groups.io escreveu:

On Thu, Sep 16, 2021 at 02:29 PM, Locutor Antonio Cezar wrote:

If it is possible to implement the spelling verification in real time, this will be really wonderful!.

For spell-checking as you type, tinySpell seems to be the ideal solution. Note that with this solution that you have to uncheck "Handle keys from other applications" under NVDA's keyboard settings, otherwise the correction of mistyped words will go awry.

Timothy


Re: requesting review: Spellcheck

Timothy
 

On Thu, Sep 16, 2021 at 02:29 PM, Locutor Antonio Cezar wrote:

If it is possible to implement the spelling verification in real time, this will be really wonderful!.

For spell-checking as you type, tinySpell seems to be the ideal solution. Note that with this solution that you have to uncheck "Handle keys from other applications" under NVDA's keyboard settings, otherwise the correction of mistyped words will go awry.

Timothy


Re: Help for UIA

 

Hi,
Have you looked at Outlook app module's UIAGrid class? I'm thinking you can adopt that class and look at how one can navigate columns in there.
Cheers,
Joseph

-----Original Message-----
From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Alberto Buffolino
Sent: Thursday, September 16, 2021 11:27 AM
To: nvda-addons@nvda-addons.groups.io
Subject: [nvda-addons] Help for UIA

Hi all,
I'm trying to extend ColumnsReview to Outlook messages list.
Unfortunately, "shell.application" method used in Explorer (and suggested by Robert) is not working here.
In particular, I have a UIA list l and an index i.
How I can jump to list item with index i using l.UIAElement.FindAll? I have to build a UIA condition with index, but it's not so simple as I said 😤
Thanks.
Alberto


Re: requesting review: Spellcheck

Locutor Antonio Cezar
 

Hello. It's been a long time since I dreamed of an add-on spellcheck. As NVDA always knows which keys we are typing, you would not be able to include time real spelling check, which could be enable/disable with a shortcut keys. So I would be able to check the orthographic errors in applications that do not count on such a function, such as Notepad and Notepad ++, for example. If it is possible to implement the spelling verification in real time, this will be really wonderful!. My eternal gratitude for your idea of ​​creating this add-on for us! ... Thank you.



Locutor Antonio Cezar

Em 16/09/2021 14:45, Fawaz Abdul rahman escreveu:

Hello,
We are thrilled to announce a new add-on for the NVDA screen reader.
From readme:
"The purpose of the addon is to find and correct the spelling errors quickly in a written text; additionally, you can create a list of words called personal dictionary; the words in which will be added to the suggestions list of the misspelled words."
The addon was developed by Musharraf Omar and me under his guidance.
download the addon from:
the repo at:
Looking forward to hearing your suggestions and feedback.
best regards


Help for UIA

Alberto Buffolino
 

Hi all,
I'm trying to extend ColumnsReview to Outlook messages list. Unfortunately, "shell.application" method used in Explorer (and suggested by Robert) is not working here.
In particular, I have a UIA list l and an index i.
How I can jump to list item with index i using l.UIAElement.FindAll? I have to build a UIA condition with index, but it's not so simple as I said 😤
Thanks.
Alberto


requesting review: Spellcheck

Fawaz Abdul rahman
 

Hello,
We are thrilled to announce a new add-on for the NVDA screen reader.
From readme:
"The purpose of the addon is to find and correct the spelling errors quickly in a written text; additionally, you can create a list of words called personal dictionary; the words in which will be added to the suggestions list of the misspelled words."
The addon was developed by Musharraf Omar and me under his guidance.
download the addon from:
the repo at:
Looking forward to hearing your suggestions and feedback.
best regards


Re: Regarding GitHub actions

Noelia Ruiz
 

Hi Abdel:

Take account the following: my default branch for add-ons is named main, not master, in consideration to some recommendations and people who consider the master word as potentially racist or less precise than main. Now GitHum default branches are named main if we create a new repo.
Also, you may choose, instead of pushing tags created locally, just to use the manualRelease.yaml workflow. This has a workflow dispatch event, what means that we can run it manually from GitHub, where a form appears for this purpose, or just locally with GitHuB ClI installed as follows: from our repo (in cmd): gh workflow run manualRelease.yaml -f version=numberversion.minor, then enter, what is more comfortable than creating and pushing a tag, unless you need to annotate this tag. Also the release description goes in changelog.md. Of course you can change the workflows to adapt them to your needs.
As you aknowledge, Mesar contributed GitHub workflows used by me and created some of them himself. And I am contributing this community since he encouraged and helped me, and I am very honoured for this.
PS: In the next days I"ll suggest to use the existing subgroup of this list, dedicated to add-on commits. We send commits to a personal mailing list owned by me, but I think that people may want to use the existing subgroup of this central mailing list. GitHub notifications can be sent to an only-receive form that I will create for this. Kind regards

Enviado desde mi iPhone

El 16 sept 2021, a las 9:50, Abdel <abdelkrim.bensaid@free.fr> escribió:

Hi Noelia,

I just associated my 3 addons (dayOfTheWeek, mp3DirectCut and sayCurrentKeyboardLanguage) with the new GitHub action workflow.

So I deleted the "appveyor.yaml" file as it has become useless.

I pushed a new tag and the add-ons was correctly added in the "Releases" section of my personal repos.

The stable branches of these 3 personal repos are now also linked with the stable branch of the same repos on nvdaaddons.

Thanks to @mhameed and you for this beautiful work.

Kind regards,
Abdel.

Le 11/09/2021 à 11:41, Noelia Ruiz a écrit :
OK. I'll make several pull request grouping them about tasks, for
example, one for linting with setup.cfg, one for checking translations
automatically, etc, so Joseph and other reviewers can discuss changes
appropiately.
I may improve GitHub workflows before this.


2021-09-10 21:43 GMT+02:00, Abdel <abdelkrim.bensaid@free.fr>:
Hi Noelia,

You wrote :

Also, should be this included in the addon template as an optional
feature, like the version parameter, for example?
Why not, I think it could be very interesting.

Kind regards,
Abdel.

Le 09/09/2021 à 10:21, Noelia Ruiz a écrit :
Hello: since you made Appveyor to work for add-ons management, in case
you are interested, feel free to look at our clipContentsDesigner
add-on, used as an example in my Wiki article about GitHub Actions:

https://github.com/nvdaaddons/nvdaaddons.github.io/wiki/GitHubActions

Of course, everybody is welcome to improve my workflows or my wiki
articles.

Oleksandr provided a workflow and configuration to check annotations
using Mypy, since he provided typing annotation for
clipContentsDesigner:

https://github.com/nvdaes/clipContentsDesigner

Also, should be this included in the addon template as an optional
feature, like the version parameter, for example?

Kind regards

2021-09-09 10:03 GMT+02:00, Abdel <abdelkrim.bensaid@free.fr>:
Hi all,

I just looked at the official documentation
<https://docs.github.com/en/actions> for managing workflows in GitHub
Action.

@Noelia:

You're right, I also find that they are very usefull and have a great
advantage, is that we do not have to create an account in other
platforms, such as AppVeyor for example.

Everything is very well managed by GitHub.

Kind regards,
Abdel.















Re: Regarding GitHub actions

Abdel
 

Hi Noelia,

I just associated my 3 addons (dayOfTheWeek, mp3DirectCut and sayCurrentKeyboardLanguage) with the new GitHub action workflow.

So I deleted the "appveyor.yaml" file as it has become useless.

I pushed a new tag and the add-ons was correctly added in the "Releases" section of my personal repos.

The stable branches of these 3 personal repos are now also linked with the stable branch of the same repos on nvdaaddons.

Thanks to @mhameed and you for this beautiful work.

Kind regards,
Abdel.

Le 11/09/2021 à 11:41, Noelia Ruiz a écrit :
OK. I'll make several pull request grouping them about tasks, for
example, one for linting with setup.cfg, one for checking translations
automatically, etc, so Joseph and other reviewers can discuss changes
appropiately.
I may improve GitHub workflows before this.


2021-09-10 21:43 GMT+02:00, Abdel <abdelkrim.bensaid@free.fr>:
Hi Noelia,

You wrote :

Also, should be this included in the addon template as an optional
feature, like the version parameter, for example?
Why not, I think it could be very interesting.

Kind regards,
Abdel.

Le 09/09/2021 à 10:21, Noelia Ruiz a écrit :
Hello: since you made Appveyor to work for add-ons management, in case
you are interested, feel free to look at our clipContentsDesigner
add-on, used as an example in my Wiki article about GitHub Actions:

https://github.com/nvdaaddons/nvdaaddons.github.io/wiki/GitHubActions

Of course, everybody is welcome to improve my workflows or my wiki
articles.

Oleksandr provided a workflow and configuration to check annotations
using Mypy, since he provided typing annotation for
clipContentsDesigner:

https://github.com/nvdaes/clipContentsDesigner

Also, should be this included in the addon template as an optional
feature, like the version parameter, for example?

Kind regards

2021-09-09 10:03 GMT+02:00, Abdel <abdelkrim.bensaid@free.fr>:
Hi all,

I just looked at the official documentation
<https://docs.github.com/en/actions> for managing workflows in GitHub
Action.

@Noelia:

You're right, I also find that they are very usefull and have a great
advantage, is that we do not have to create an account in other
platforms, such as AppVeyor for example.

Everything is very well managed by GitHub.

Kind regards,
Abdel.












About math output in braille?

=?ISO-2022-JP?Q?=1B$B9b=4082=22=1B=28J?=
 

Once paste mathml to winword, NVDA can speech the equation with enable word UIA.
But how to change braille output to Nemeth braille code?


Re: How to get working directory?

Abdel
 

Hi Robert, Rui and all,

This thread reminds me of a message a response I sent to Alberto on the band about this a few years ago now :

https://nvda-addons.groups.io/g/nvda-addons/message/5813

Kind regards,
Abdel.
Le 14/09/2021 à 23:40, Robert Hänggi a écrit :

I'm glad that it is working.
Cheers
Robert

On 14/09/2021, Rui Fontes <rui.fontes@tiflotecnia.com> wrote:
Hello Robert!


Many thanks! With two small corrections, it works beautifully in last
Alpha versions of NVDA and Windows 10 in portuguese...

The corrections are in the:

api.controlTypes.Role.PANE #because of changes in controlTypes

and

focusedItem.path # in Python 3 we do not need the encoding...


        fg = api.getForegroundObject()
        # We check if we are in the Windows Explorer.
        if fg.role != api.controlTypes.Role.PANE and
fg.appModule.appName != "explorer":
            return
        # self.shell = self.shell or
ct.client.CreateObject("shell.application")
        self.shell = COMCreate("shell.application")
        # We go through the list of open Windows Explorers to find the
one that has the focus.
        for window in self.shell.Windows():
            if window.hwnd == fg.windowHandle:
                focusedItem=window.Document.FocusedItem
                break
        else: # loop exhausted
            return
        # Now that we have the current folder, we can explore the
SelectedItems collection.
        targetFile= focusedItem.path


Best regards,

Rui Fontes
NVDA portuguese team


Às 21:56 de 13/09/2021, Robert Hänggi escreveu:
Rui, you will probably have to adapt the code.
I wrote it for 2.7.
Some import statements might also be missing, after all it is only an
excerpt.

from comtypes.client import CreateObject as COMCreate
import api
import os

(global class definition would go here)

def script_sayValue(self, gesture):
fg = api.getForegroundObject()
# We check if we are in the Windows Explorer.
if fg.role != api.controlTypes.ROLE_PANE and fg.appModule.appName !=
"explorer":
return
#self.shell = self.shell or ct.client.CreateObject("shell.application")
self.shell = COMCreate("shell.application")
# We go through the list of open Windows Explorers to find the one
that has the focus.
for window in self.shell.Windows():
if window.hwnd == fg.windowHandle:
focusedItem=window.Document.FocusedItem
break
else: # loop exhausted
return
# Now that we have the current folder, we can explore the
SelectedItems collection.
targetFile= focusedItem.path.encode('mbcs')
(snip)

Cheers
Robert

On 13/09/2021, Rui Fontes <rui.fontes@tiflotecnia.com> wrote:
Hello!


@Abdel

Even it was not what the person wants, I myself need that...


@Robert Hänggi, you wrote:Why not using the com interface?
It gives you the selected or focused file in the explorer, if that is
what you want.
There are also some functions for the mentioned special folders, if I
don't err.


I need the full path of the file even in the special folders...

Can you gave me some topics to start?


Rui Fontes


how to use

Às 16:34 de 13/09/2021, Abdel escreveu:
Hi Rui,

Thanks for these explanations, you are right.

We'll wait if it corresponds to what the person is asking for.

Kind regards,
Abdel.

Le 13/09/2021 à 16:01, Rui Fontes a écrit :
Hi Abdel!


If the folder is Downloads, Documents, Images and so on, it will not
work...

The address copied is only Downloads, Documents and so on... Never
c:\users\user\downloads...


To the other folders, it is possible to use:

        path = ' '
        focusObj = api.getFocusObject()
            # If the focus is on windows explorer, gets the address
of the folder.
        if 'explorer' in focusObj.appModule.appModuleName:
            hForeground = api.getForegroundObject().windowHandle
            h = self.findDescendantWindow(hForeground, 1001)
            if not h:
                h = self.findDescendantWindow(hForeground, 41477)
                h = self.findDescendantWindow(h, "Edit")
            if h:
                obj = NVDAObjects.IAccessible.getNVDAObjectFromEvent
(h, -4, 0)
                if getwindowsversion().major == 5: # windows xp.
                    path = obj.value
                else:
                    name = obj.name


Rui Fontes


Às 22:49 de 12/09/2021, Abdel escreveu:
Hi,

I think the person is talking about the current directory in Windows
Explorer.

You can use "Ald + D" to switch to the address bar.

If that doesn't work, press "F4" or "Control + L".

Then, to copy the address, tab twice and you will find the path copy
choice in the context menu.

Is this what you are looking for?

Kind regards,
Abdel.

Le 12/09/2021 à 13:03, Lukasz Golonka via groups.io a écrit :
On Sun, 12 Sep 2021 18:52:41 +0800 (CST)
"高生旺" <coscell@gmail.com> wrote:

In file explorer I can choose any folder.
Are you asking how to get name of the folder opened in Windows
Explorer?
If so in what opened folder are you interested in? Perhaps if you
would
tell us what you want to achieve in the end we would be able to
assist you
better.

< That folder is the working directory.

Not really.  Working directory is per process i.e. os.getcwd
retrieves a
working directory of a calling program. There is no such thing as a
working directory global to  Windows.











Re: For Alberto: can the community declare Columns Review as stable add-on?

Alberto Buffolino
 

Noelia Ruiz, il 15/09/2021 19.52, ha scritto:
Hi, I"m here. I"ll do it later or tomorrow, no later. See you soon.
Alberto:
perfect!
Thanks Noelia :)
Alberto


Re: For Alberto: can the community declare Columns Review as stable add-on?

Noelia Ruiz
 

Hi Alberto: it"s done. You can accept the invitation to the add-ons org repo to push changes in org stable branch, so new messages can be translated.

Enviado desde mi iPhone

El 15 sept 2021, a las 19:52, Noelia Ruiz via groups.io <nrm1977=gmail.com@groups.io> escribió:

Hi, I"m here. I"ll do it later or tomorrow, no later. See you soon.

Enviado desde mi iPhone

El 15 sept 2021, a las 15:51, Alberto Buffolino <a.buffolino@gmail.com> escribió:

Cyrille via groups.io, il 15/09/2021 14.18, ha scritto:
You should check you have a stable branch in your repo and ask your add-on to be translated on this list.
Alberto:
ok, stable branch is ready.
@nvdaes / Noelia, if you read, can go the steps further?
I have already updated .mdwn on screenReaderTranslations\website\addons, with tags dev and stable.
Alberto








Re: For Alberto: can the community declare Columns Review as stable add-on?

Noelia Ruiz
 

Hi, I"m here. I"ll do it later or tomorrow, no later. See you soon.

Enviado desde mi iPhone

El 15 sept 2021, a las 15:51, Alberto Buffolino <a.buffolino@gmail.com> escribió:

Cyrille via groups.io, il 15/09/2021 14.18, ha scritto:
You should check you have a stable branch in your repo and ask your add-on to be translated on this list.
Alberto:
ok, stable branch is ready.
@nvdaes / Noelia, if you read, can go the steps further?
I have already updated .mdwn on screenReaderTranslations\website\addons, with tags dev and stable.
Alberto





Re: How to get working directory?

Rui Fontes
 

Hello Robert, here it is:


        global lastDir
        if lastDir == "":
            dDir = os.path.expanduser('~') # The main user folder
        else:
            dDir = lastDir
        dFile = ""
        frame = wx.Frame(None, -1, 'teste')
        frame.SetSize(0,0,200,50)

        dlg = wx.FileDialog(frame, _("Choose a file to convert"), dDir, dFile,
                wildcard = _("Convertible files (*.md;*.T2T)|*.MD;*.T2T"),
                style = wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
        if dlg.ShowModal() == wx.ID_OK:
            fname = dlg.GetPath()
            lastDir = os.path.dirname(fname)
        dlg.Close()

Rui Fontes



Às 15:49 de 15/09/2021, Robert Hänggi escreveu:

I would need the access for a foreign dialog.
However, the script for the own/custom dialog might still be useful.
Robert

On 15/09/2021, Rui Fontes <rui.fontes@tiflotecnia.com> wrote:
Hi!

@Albert, for my use it is not a problem since those dialogs report as as
app owner the app that have invoked them... In NotePad, press Ctrl+o to
display the open file window and you can see the app in execution is
still NotePad...

So, my script will say: You must be in a Windows File Explorer window...


@Robert, do you need to get the file selected in one of those open/save
dialogs invoked by one specific app or from a dialog invoked by your
script?

I have created an open file dialog to one of my add-ons in development
and I can get the full path of selected file...


Rui Fontes


Às 14:23 de 15/09/2021, Robert Hänggi escreveu:
Alberto, I would wish that there was a similar procedure for the
open/save dialogs.
WXWidgets has a (user) window message that can give you the currently
selected file, however, I wasn't successful in sending it from
"outside" the process.
There was also a procedure described on the AutoIt forum which works
essentially with the DropTarget interface.
It needed a dll from that forum which made it less attractive and the
code is quite complicated.
Unfortunately, I can't find it anymore.
Robert

On 15/09/2021, Alberto Buffolino <a.buffolino@gmail.com> wrote:
Robert Hänggi, il 15/09/2021 09.49, ha scritto:
I think the code is also used in the column review add-on for e.g.
searching for files.
Alberto:
yeah, and it still works very well today, thanks to your suggestion and
other valuable contributions from here :)
For Rui, be careful, this approach does not work in all contexts, surely
not in open dialog window; not very important for you, I think, but you
could want to warn users about it (I did it in ColumnsReview).
Alberto











Re: How to get working directory?

Robert Hänggi
 

I would need the access for a foreign dialog.
However, the script for the own/custom dialog might still be useful.
Robert

On 15/09/2021, Rui Fontes <rui.fontes@tiflotecnia.com> wrote:
Hi!

@Albert, for my use it is not a problem since those dialogs report as as
app owner the app that have invoked them... In NotePad, press Ctrl+o to
display the open file window and you can see the app in execution is
still NotePad...

So, my script will say: You must be in a Windows File Explorer window...


@Robert, do you need to get the file selected in one of those open/save
dialogs invoked by one specific app or from a dialog invoked by your
script?

I have created an open file dialog to one of my add-ons in development
and I can get the full path of selected file...


Rui Fontes


Às 14:23 de 15/09/2021, Robert Hänggi escreveu:
Alberto, I would wish that there was a similar procedure for the
open/save dialogs.
WXWidgets has a (user) window message that can give you the currently
selected file, however, I wasn't successful in sending it from
"outside" the process.
There was also a procedure described on the AutoIt forum which works
essentially with the DropTarget interface.
It needed a dll from that forum which made it less attractive and the
code is quite complicated.
Unfortunately, I can't find it anymore.
Robert

On 15/09/2021, Alberto Buffolino <a.buffolino@gmail.com> wrote:
Robert Hänggi, il 15/09/2021 09.49, ha scritto:
I think the code is also used in the column review add-on for e.g.
searching for files.
Alberto:
yeah, and it still works very well today, thanks to your suggestion and
other valuable contributions from here :)
For Rui, be careful, this approach does not work in all contexts, surely
not in open dialog window; not very important for you, I think, but you
could want to warn users about it (I did it in ColumnsReview).
Alberto












Re: For Alberto: can the community declare Columns Review as stable add-on?

Alberto Buffolino
 

Cyrille via groups.io, il 15/09/2021 14.18, ha scritto:
You should check you have a stable branch in your repo and ask your add-on to be translated on this list.
Alberto:
ok, stable branch is ready.
@nvdaes / Noelia, if you read, can go the steps further?
I have already updated .mdwn on screenReaderTranslations\website\addons, with tags dev and stable.
Alberto

1 - 20 of 16941