• R/O
  • HTTP
  • SSH
  • HTTPS

nvdajp: List of commits

NVDA with Japanese branch


RSS
Rev. Time Author
af9463c 2006-11-24 00:06:00 mdcurran <>

Basic support for mozilla windows. For now it loads content in to a virtual buffer, but there is not yet any support for pressing enter on links etc. Works ok with mozilla firefox 1.5 but mozilla firefox 2 seems to give focus to this caret object all the time and this seems to stuff up the virtualBuffer since it needs to be a direct ancestor of the object with focus to work. VirtualBuffer objects now take an NVDAObject as a parameter, rather than a window handle. Window handles are still used to set virtualBuffers and get them, but virtualBuffers can now be matched on windowClass,Role or windowClass,None, rather than just window class, but since we make an NVDAObject to find out the role, we may as well pass it to the virtualBuffer object rater than the virtualBuffer object later making the same NVDA object if it needs it.

9974b7c 2006-11-22 09:32:51 mick <>

Now states in NVDAObjects are handled a bit different. There is now two propertyes (allowedPositiveStates and allowedNegativeStates). These properties control what on states should be reported, and what off state should be reported. This now means that checkboxes can say not checked when ever they are spoken, rather than just when their state changes. Also list items now say not seleced when ever they are spoken (and they are of course not selected). It would be also possible, if people wanted it, to have list items say nothing for selected, and say not selected for not selected, this would be more like certain other screen readers.

e0c4b1b 2006-11-22 06:47:31 mick <>

Ok, also get rid of import lang from virtualBuffers.__init__.py. Hopefully now it will run. Also Fixed uup NVDAObject_textBuffer and NVDAObject_editableTextBuffer and NVDAObject_ITextDocument so that they all create variables that they need in __init__ rather than defining them in the actual class. As far as I am aware, in python that should work, but it has seemed lately that changing the value of one of these class-defined variables in one instance has been reflected in the other instances. In short, when using notepad after wordpad, there were major problems.

74ac898 2006-11-22 05:54:49 mick <>

Sorry, forgot to add characterSymbols.py. Also deleted the no longer needed lang.py.

571ccfc 2006-11-20 20:00:14 mick <>

Deleting lang files and its directory, I have personally got a back up of them if we really do want to go back to using this old way.

259c0c3 2006-11-20 19:57:58 mick <>

Finally decided to use gettext instead of my own lang implementation. File encodings were causing a lot of trouble. Now all messages through out the files are now in full, and they are with in an _() function. NVDA.pyw calls gettext.install('nvda') and that maps the correct function in to python as _(). Language files are going to have to be all written again, though in the long run, it should work much nicer for everyone for keeping them up to date. Also, changed textProcessing.py a bit so it handles blank strings much better, and made NVDA say *all* symbols that are under the cursor, new line, carage return etc, but when arrowing up and down over blank lines it still says blank of course. Also created one characterSymbols.py which contains a dictionary of symbols to _() names, and also it contains a blankList list, that has all the symbols that should be reported as blank for when speaking a line that only contains these characters.

f5bf255 2006-11-20 14:51:04 mick <>

NVDA_textBuffer now has speakCharacter, speakWord and speakLine methods. These now use another new method called speakTextRange. SpeakTextRange speaks a range of text, but also speaks any formatting changes with in that range. So now when you move by word, or move by line, or start a say all, and you have formatting changes being reported in your config, they will speak as they are passed. This currently works great in wordpad and other ITextDocument controls, but MS Word has a problem so its pretty much disabled for MS Word for now. There is no way to jump to the end of some text that is all formatted the same. A new config option has been added to [documentFormatting] that is trackWhileReading ... this is boolean, if true, then the new format changes code will work while speaking (word line, say all etc) and if false, the old code will be used instead, formatting changes will only be mentioned if the cursor actually passes over it.

987ba63 2006-11-18 22:02:10 mick <>

VirtualBuffers have been moved from virtualBuffers.py to their own virtualBuffers directory. Like NVDAObjects, there is a baseType.py for the base virtualBuffer object, and then files containing higher-level virtualBuffers ... so far, MSHTML.py is there. Eventually some form of mozilla support will be written, when I can darn get that IServiceProvider tlb.

91ee812 2006-11-18 21:30:39 mick <>

VirtualBuffers have been changed so that when a window is passed to virtaulBuffers, it checks it, and all its ancestors to see if there is a virtaulBuffer object class that is for the window class of any of these windows. This means that a virtaulBuffer no longer only can exist on the window with focus, but now any of the windows in direct ancestral line with the focus window. Also, api.executeScript, api.keyHasScript have ben changed so now the appModule is checked to see if it handles the key, if not, then if the virtualBuffer handles the key, if not then, if the focus object handles the key. Because of this NVDAObjects_virtaulBuffer is no longer necesary since virtaulBuffer keys are now handled completely in virtaulBuffers. NVDAObject_link (None,ROLE_SYSTEM_LINK) has been added, which makes the value blank, not the url, and it also handles visited links and reports them.

4b839ec 2006-11-17 20:57:10 mick <>

This commit completely rewrites NVDA objects.
They are now split in to files in the NVDAObjects directory, and they have been reorganized in terms of their inheritence.
All get and set methods in NVDAObjects have an equivalent property.
Even though most NVDAObjects still rely on MSAA, MSAA itself isn't built in to the base NVDAObject, but now is NVDAObject_MSAA.
There are a lot of changes, though hopefully it will be much much easier to read, either by the direct source code, or with a py doc viewer.
Also over all responsiveness has been much improved by filtering out even more unneeded MSAA events. Try something like holding down left arrow in the windows explorer address bar while at the start of the line... it no longer takes seconds to catch up.
VirtualBuffer.py has been renamed to virtualBuffers.py, and it also has propertys for all its get and set methods.
There may be one or two errors floating around after this commit, please bare with me while they are all cleaned up.
Let me know of any you find.

fc53696 2006-11-16 13:23:21 mick <>

Took out self.Raise() from onExitCommand of gui.mainFrame. It wasn't needed, and I'm not sure how it got there. The exit dialog has no parent, therefore has nothing actually to do with the mainFrame window. Also, the NVDA window, when shown is now centered on the screen and is about 300 by 300 in size. Can't remember if I actually specifically mentioned that in a previous commit.

2c651fa 2006-11-16 10:32:22 mick <>

Update to documentation

3d1469e 2006-11-15 23:32:14 mick <>

Added Cleverson's ptb language files. However, They had to be all converted to utf-8. Now lang.py reads in all language files as utf-8 so that all strings with non-ascii symbols are handled properly as unicode strings. The utf-8 start byte is not set on these files at the moment so windows text editors won't probably see them as utf-8 by default. Not sure how well python handles that byte or not. Added a toggle speak punctuation script (insert+p).

2ce744e 2006-11-15 18:25:19 mick <>

Improved responsivness (especially in places like the start menu, by intergrating NVDAThreads in to core.py and getting rid of the NVDAThreads module all together. Now core.executeFunction places the function in one of 4 queues (keyboard, mouse, speech, user interface, speech or config). There isn't anything sepcial about these queues, it just makes sure that all the different parts of the system get a good go at execution. Previously there was a possiblity to get bogged down with a whole bunch of just one type of function in a row. NVDAThreads.addGenerator is now core.newThread. I think now this is a good compremize between the whole core queues and the newer code for supporting execution and threads with in the one physical thread so that com and other thread-sensitive stuff still works.

2bab951 2006-11-15 11:27:21 mick <>

Added scripts moveMouseToNavigatorObject (insert+numpadDivide) and moveNavigatorObjectToMouse (insert+numpadMultiply) to the default appModule.

b9b1afc 2006-11-14 22:24:46 mick <>

Fixed problem in MS Word appModule where it wasn't saying the current column of a table ... there was a small typing error.

3a93894 2006-11-14 22:09:34 mick <>

The default nvda.ini now has synth set to "auto" in the speech section. If setDriver in synthDriverHandler detects "auto", it will check the availability of a pre-set list of synths and when it finds one that is available it uses it. The order is currently sapi5, sapi4, viavoice (most likely to least likely).

2509ef7 2006-11-14 21:51:24 mick <>

synthdriverHandler now has an isDriverAvailable function, which calls a new function in all the synth driver modules called check. Check is expected to check for any files or registry entries that can prove that the synth is really installed. getDriverDescription has been added to synthDriverHandler, it gets the description variable from a certain synth driver. (description and check are global to the synth driver, not with in the synthDriver class). getDriverList in synthDriverHandler has been updated to check to see if the synth is available. If it isn't, it isn't added to the list. In short, the synthesizer dialog now only shows synthesizers you currently have on your system, and each item in the list is now a name and a description.

7cb42e0 2006-11-14 09:01:47 mick <>

When registering an NVDAObject, you now need to supply a processID (as well as a windowClass and role). This now means that NVDAObjects chosen from the dynamicMap are only chosen if the processID of the IAccessible object matches. Meaning If appModules register their own NVDAObjects, these new NVDAObjects will only be used if the processID of the object is correct. To do this registerNVDAObjectClass and unregisterNVDAObjectClass now take processID as their first parameter. appModuleHandler.load now takes name, window and processID as parameters, and each appModule class takes window and processID as its parameters.

6fb0a0b 2006-11-14 07:35:28 mick <>

Added generate_comInterfaces.py. Run this to generated all currently needed com Interfaces before you either run NVDA for the first time, or when you are getting ready to make it in to an executable. Perhaps setup.py can handle this?

68bf14a 2006-11-13 23:49:47 mick <>

Changed messages in Excel appModule to use lang.messages. Temporarily fixed crashes in MS Word. The edit fields in MS Office dialogs are RichEdit20W windows ... usually you can get an ITextDocument by asking for their native object model ... it works with Outlook Express ... though in these dialogs it returns an object model, but it doesn't conform to ITextDocument at all ... so for now _MSOffice appModule (common module for all word and Excel etc) registers NVDAObject_edit for RichEdit20W windows, overriding the default ITextDocument. NVDAObject_edit at least doesn't crash, it can read the value, but cursoring doesn't read... will work this out properly. Also deleted all the .pyc files from the comInterfaces directory, for now you will get a really big pause before IE and Word starts while they are generated on your system. Soon I will write a script that can be run once before using NVDA... this script can be run before packageing NVDA in to binary form also.

a29e99b 2006-11-13 16:33:14 mick <>

consoleWindowClass and ITextDocument NVDAObjects now move the reviewCursor to the caret location when they initialize. Also fixed some problems with the event that notifies the NVDAObject about when the caret moves.

9d69dc4 2006-11-13 15:16:05 mick <>

Some fixes to NVDAObject_ITextDocument. Some problems came up with sayAll after making the changes so that NVDAObject_edit would be compatible with both edit fields and static text fields (as far as moving by line, word and charcter goes).

63ab6a6 2006-11-13 12:14:51 mick <>

Updates to documentation.

d6a70cd 2006-11-13 11:36:08 mick <>

static text objects can now be reviewed by line, word and character. This now means finally we can read arou own about dialog box properly :p

0c8e060 2006-11-13 10:58:04 mick <>

All the script_review key bindings have been taken out of the individual NVDAObjects and placed in the defalt appModule. Each of these now calls a script_review function that (if existing) calls a review function on the current navigator object. This means that now you can properly review by line word or character, any object you have currently navigated to with the insert numpad commands.

2a35282 2006-11-13 10:11:47 mick <>

Fixed some speech silencing problems in Excel when arrowing around cells (Coordinates, [has formula] and cell text are all collected in to one string and sent to the synth.)

65be34c 2006-11-13 09:56:31 mick <>

Fixed bug that was causing tooltips and help balloons not to speak (event_showObject in NVDAObject_tooltip needed to be event_show). Fixed a possible bug with virtualBuffers where a virtualBuffer was getting generated just to see if it exsted ... now api.py uses isVirtualBufferWindow before trying to get it.

4f860d6 2006-11-12 23:43:11 mick <>

Fixed bug where NVDA window would stay around after saying no to exit dialog. Exit dialog is now created as a top-level window, as in its parent is None. This seems to work.

fdf1068 2006-11-12 22:58:24 mick <>

This may be temporary, but does seem to work ok, at least better than what it was before. Reimplemented insert+n (showGui) but difference is its still the window with the menuBar. NVDA now starts with the window completely hidden, according to the user, not there at all. If you press insert+n it makes the window show, if you press alt+fr or close icon etc, the window hides again. NVDA can be exited now with either insert+q or exit on the NVDA menu, not alt+f4. Eventually we can have a system tray menu, but at least for now, the window can be gotten rid of completely.

Show on old repository browser