Version Info

Flazzle 1.6.3b (April 2007)

  • Fixed various problems relating to restricted user accounts

Flazzle 1.6.2b (January 2007)

  • Fixed physical files in cmnTasks.py, dbsCache.py, dbsFlzDB.py, FileTypes.py and flsManage.py
  • Fixed non-implemented commands causing the error reporting system to pick them up by using nrExceptions in dbsRemote.py
  • Fixed encoding problems in _dtaISOCodes.py
  • All upload connections are now shown in a submenu in cmnTasks.py to allow faster uploading to other archives
  • Hopefully fixed an infinite loop bug in ctlHtmlNative.py and flsSearch.py
  • Converted ctlPreview.py to use IE and CSS/XHTML
  • Invalid categories/duplicates are now derived from nrExceptions in dbsFlzDB.py
  • Fixed renaming categories in dbsRemote.py
  • Changed language selection to use gradients in dtaChooser.py to allow for a more 'unified' look
  • Fixed Albanian ISO code and Vietnamese variant in dtaLanguages.py
  • Rewrote a lot of the 'hints' in FileTypes.py for dictionary preview windows to be more up-to-date
  • Removed the default "Upload" connection setting in flsConfig.py as it's no longer relevant
  • Fixed connection sorting in flsConfig.py and netLogin.py
  • Removed the notebook from launch windows in flsLaunch.py to reduce clutter
  • Fixed font download issues in flsMain.py, fntFontFallback.py
  • Fixed various preview-related problems in flsManage.py
  • Fixed question column bug in flsSimple.py
  • Fixed escaping Unicode names in fncFileEsc.py
  • Fixed GetShownFields() in fncFormat2.py
  • Added swapping of Readings and Word columns in fncLoadSave.py to allow Pinyin to be combined with Chinese Hanzi using HanDeDict automatically
  • Fixed pasting of Unicode values in inpTxtStyled.py
  • Largely rewrote srvSerialize.py to allow writing of very large dictionaries. There still needs to be some changes in fncFormat2.py, though for very large columns
  • Added fallback to Format from Format2 if a MemoryError occurs in wzdExport.py
  • Fixed remembering last folder directory in wzdImport.py
  • Fixed various bugs in zipFile.py

Flazzle 1.6.1b (January 2007)

  • Rewrote artProvider.py to give proper tracebacks on exceptions/to not use wx.ArtProvider to attempt to debug some errors I've been receiving through the error system. It now uses a global 'getbitmap'
  • Added an experimental Flazzle-Setup-Filtered.iss to remove all of the inputs and stuff like multimedia to reduce the size to be around ~7mb less at 10mb. I've restored the original file, though, as I think stability is more important for now.
  • Fixed various flashcard bugs in cmnTasks.py and flsSimple.py including flashing when there are no flashcards in a level and fixing the sound bugs when there isn't a previous question
  • Changed dbsRemote.py back to not using threads for connections for the time being
  • Made exception handling system more tolerant when the exception system itself dies in excExcept.py
  • Rewrote generation of filetype information for documentation system in FileTypes.py
  • Improved msw.remap error handling in flsMain.py
  • Connections are now closed after use in netURL.py
  • Added website generation script to WebsiteGen.bat

Flazzle 1.6b (January 2007)

  • Made modifications to on-demand module loading system when building using py2exe to make loading Flazzle 2-3x faster (YMMV) in fncFile.py
  • Fixed extra newlines in setup script making setup .exe larger by changing setup.py and Flazzle-Setup.iss to strip them
  • Moved Flazzle archive to multiple flzarchives.xml.bz2 to allow auto-combining with flashcards and HanDeDict in dbsRemote.py and cfgConfigDefaults.py
  • Added option to copy select characters together instead of a character per line in chrGrid.py
  • Removed Flazzle's time limit, and replaced with a 15 day pro trial followed by feature limitations
  • Removed various columns to the search at the bottom of the screen in the character palette which weren't considered useful, for example searching by (Kangxi Radical).(Additional Strokes) when there's a GUI which is faster and easier to use
  • Added the flashcard part back as-is for now into cmnTasks.py, dbsFlzDBFlash.py and flsSimple.py
  • Added HTTP POST and GET support to ctlHtmlNative.py. I plan to extend this, for example searching in online dictionaries when I have time, in a later release :-)
  • Fixed wx.Panel overridden causing wx.Panel to be different to wx.Panel in ctlHtmlNative.py causing class derivation problems
  • Improved speed of popups in ctlLabels.py and htmDispResults.py
  • Improved import speeds by indexing on-the-fly (it used to get dictionary indexes on first search) in dbsFlzDB.py
  • Improved SQLite import performance speeds by roughly 30-50% in dbsFlzDB.py and fncFormat.py due to custom decoding causing large numbers of UnicodeDecodeErrors
  • Fixed various group-related problems in dbsFlzDB.py
  • Fixed various exception-related problems in excExcept.py
  • Re-added flashcard statistics to flsManage.py
  • Added multi-threaded HTML generate/display operations to flsSearch.py and htmDispResults.py to improve performance
  • Fixed delimited text import problems in fncFunctions.py
  • Made 'Readings' column use Chinese font for Mandarin/Cantonese in fncLoadSave.py
  • Fixed 'NoneType has no attribute SetFocus' in inpTxtStyled.py linking IE hacks to ctlHtmlNative.py
  • Added experimental HttpPost() to netURL.py
  • Added flashcard permissions back into srvPerm.py
  • Changed wzdConnect.py to show password as hashed when using RemoteUrl as a protocol
  • Added optional console setup to setup.py for alpha releases
  • Added genHanDeDict.py to allow auto-generation of new HanDeDict releases
  • Various archive changes: split archives into flashcards, dictionaries and HanDeDict for easier maintanence
  • Fixed manual submitting of bug reports/feature requests in excExcept.py
  • Added locale info to excExcept.py to assist with solving bugs in the future
  • Fixed diskfree blank problem for already hashed drives in infMemory.py
  • Moved flash.py to flsMain.py
  • Added RegNow banners/descriptions to Docs
  • Added new Flazzle program icons and updated website banner
  • Moved different parts of Flazzle to separate exe files instead of using commandline options: WorldEdit -> Edit.py, WorldPalette -> Palette.py, WorldLearn -> Learn.py, WorldInput -> Input.py
  • Removed all Chinese inputs (e.g. Korean, Vietnamese Classical and Cantonese) from the installer in Flazzle-Setup.iss to reduce download times. They are still included with Flazzle using Unihan though, so they just need to be unpacked on first use
  • Added UniqueId to cfgConfigDefaults.py so that I can identify bug reports by a specific computer. It doesn't report an IP address, so I don't think it should be a privacy problem. It's just a 'magic cookie' number, i.e. generated randomly on first use
  • Converted various exceptions to nrExceptions. This allows, in most cases, to determine whether a report is a bug or raised intentionally, e.g. a permission error
  • Removed cfgPropertiesDlg.py requirement from cfgInputConfig.py
  • Added popup menus to print and save as to e.g. allow print preview in flsMain.py. chrMain.py, flsEditor.py, flsLaunch.py and flsSearch.py have also been updated to reflect this change
  • Added icons to print and save as menus in flsMain.py by updating ctlMenuBuild.py
  • Removed various test/modules+files which are no longer useful which include ColorPanel.py, ctlBusy.py, ctlGroups.py, flash.exe.manifest, fncFunctions3.py, fncSaveAs.py, images.py, ImportWizard.py, glbGlobalStorage.py, ScrolledWindow.py, pyjedit.ico, tstBitmapBtn.py, tstButtons.py, tstDBDialects.py, tstEdtGridCustEditor.py, tstExcept.py, tstExportWizard.py, tstExtraDBTest.py, tstJapaneseCode.py, tstJapaneseGoto.py, tstLatex.py, tstListCtrlDnD.py, tstPorts.py, tstPytunnel.py, tstSQLAlter.py, tstSrvSerialize.py, tstTemplate.py, tstToolbar.py, tstUndoRedo.py, tstWP_tabs.py, ttsFestival.py, updOnlineUpdate.py, usrLDAP.py, usrLDAPSource.py, usrOtherAuth.py
  • Moved curry from various modules to fncFile.py
  • Added cptGetAllCols.py, which gets all columns in order/provides a compatibility layer for earlier file formats
  • Fixed irritating IE focus grab bug in ctlHtmlNative.py
  • Removed IDX caching from dbsCache.py
  • Fixed kinterbasdb/firebird path bug in dbsFlzDB.py
  • Fixed crash when a database-related error occurs in dbsFlzDB due to an infinite loop in __getattr__
  • Removed FakeCursor from dbsFlzDB.py
  • Fixed various fls caching and download corruption problems in dbsRemote.py
  • Hopefully improved reliability of SQLite when connection errors occur in dbsSQLite.py
  • Added font fallback system to alphabet and accemt selector characters in dtaChooser.py
  • Added centralized excExcept.py exception handling and automatic bug reporting system that should allow me to respond to problems more quickly
  • Fixed blank menu separator problem in flsBkmark.py
  • Fixed weird initial state bug for Sapi5 speech voices in flsConfig.py
  • Added much improved column resizing algorithm which remembers between sessions to flsEditor.py
  • Fixed index problem relating to alphabetic sorting in flsGroups.py and flsUsers.py
  • Added upload menu item to flsMain.py
  • Moved indexing to hard disk files in mscIndex.py and flsSearch.py to improve performance
  • Added new on-demand import system with a progressbar in flsMain and fncFile.py which should improve load times dramatically
  • Improved error handling for loading corrupted files in fncFormat2.py
  • Fixed fncTextImport.py fake FlzDB problem
  • Disabled GetOffset() in fntFont.py to improve performance
  • Removed search message in htmDispResults.py
  • Moved version info to infVer.py
  • Added Windows memory info to infMemory.py
  • Removed UTF-8 BOM from inpBySoundGen.py to allow reading of internal transliteration systems by the new php4-based support system
  • inpChineseDict.py now only imports the requested Chinese dialect rather than all at once to improve performance
  • Chinese input now gives live pinyin conversion as typed to allow slightly faster input
  • Moved BySound module to inpModBySound.py from inpInput.py
  • Fixed scrambled paste bug in inpTxtStyled.py
  • Improved resize after font change in config dialog in inpTxtStyled.py and flsConfig.py
  • Moved filter password code in wzdConnect.py to mscFilterPass.py
  • Moved remove duplicates from list code from fncFunctions.py to mscRemDupes.py
  • Added HttpPost() to netURL.py to allow submitting of error reports
  • Updated registration text in regRegistration.py
  • Updated web links to be dynamic, so that internal versions link to 127.0.0.1 and release versions link to www.flazzle.net in tstWP.py, flsMain.py webbrowser2.py and updTtsDownload.py
  • Hopefully fixed pytts going to sleep after standby problem in ttsTTS.py
  • Fixed "NoneType has no attribute 'Bind'" error in ttsTTS.py
  • Fixed UcdShelveConv.py with new import system
  • Removed wzdWizards.py requirement in wzdExport.py
  • Changed 'Flashcard' to 'Dictionary' in wzdImport.py
  • wzdTextExport.py now pre-encodes characters with the selected encoding and replaces unencodable characters with question marks
  • Fixed mfc71.dll problem in setup.py
  • Added 'Unpack.py' to manually unpack Chinese/Japanese inputs
  • Moved Flazzle archive to Website/download directory
  • Added various support documentation to website
  • Added new php-based Support.php for the support documentation that should be much more maintainable, allow versions corresponding to Flazzle releases and be themed using FlazzleNew.1. Cleaned up code in artProvider.py
  • Fixed multilingual usernames in cfgConfig.py by using wx.StandardPaths() instead of os.path.expanduser('~'), which doesn't seem to be Unicode compliant
  • Changed database to be SQLite by default instead of Firebird
  • Fixed 'deleted' errors in cfgPropertiesDlg.py, flsUsers.py, flsGroups.py
  • Fixed dialogs not centered in flsManage.py, ctlLicense.py
  • Fixed weird Mac OS X 'library routine called out of sequence' error in flash.py
  • Added font language comments to Flazzle-Setup.iss
  • Changed ViewInBrowser() to use a system-specific temp directory instead of C:\Temp to make work on Mac OS X
  • Added Mac OS X fixes in ctlLabels.py and inpTxtStyled.py
  • Disabled header on search virtual listctrl in ctlListCtrl.py
  • Fixed popupwindows on mac in ctlPopups.py, inpInput.py, inpCandidates.py
  • Fixed messaging system encoding errors in dbsFlzDB.py
  • Moved initialization of index to _InitIdx in dbsFlzDB.py and added support for SQLite in dbsSQLite.py
  • Added GetMyPref() and SetMyPref() stubs in dbsRemote.py to allow basic debugging on Mac OS X
  • Vastly improved SQLite speed (as much as 30x what it was before!) for inserting entries in dbsFlzDB.py and dbsSQLite.py by adding native executemultiple() rather than executing and converting each command individually from Firebird to SQLite incurring a massive performance penalty
  • Changed ISO codes to use threads and getting them in the background
  • Fixed "invalid item index" error in flsBkmark.py on Mac OS X
  • Improved performance and stability of flsLaunch.py by removing Windows-specific hacks on Mac OS X
  • Added 'live' searching to flsSearch.py and limits to improve speed
  • Disabled annoying 'deleting file' and 'opening file' messages in fncFile.py
  • Added Mac OS fallbacks and localized names to fntFontFallback.py
  • Added character palette icon to main in htmHome.py and flsLaunch.py
  • Fixed multiple skip glitches in inpFakeKeyEvent.py
  • Removed notebook hacks in inpInput.py and flash.py and replaced the notebook ctrl with a generic, more maintainable one
  • Added Mac OS X support for virtual keyboards in inpVirtualKeyboard.py
  • Fixed backslash plague bug in plistlib.py when encoding to Unicode escapes
  • Registration in regRegistration.py is much more pretty now
  • Fixed tts in ttsTTS.py
  • Fixed apply changes and initial import dialog state in usrApplyChanges.py and wzdImport.py
  • Modified website to be more minimalistic and blend in with the new blog theme and should be much more maintainable now
  • Added 24x24 icons for Mac OS X
  • Moved flash.py to flsMain.py
  • Added RegNow banners/descriptions to Docs
  • Added new Flazzle program icons and updated website banner
  • Moved different parts of Flazzle to separate exe files instead of using commandline options: WorldEdit -> Edit.py, WorldPalette -> Palette.py, WorldLearn -> Learn.py, WorldInput -> Input.py
  • Removed all Chinese inputs (e.g. Korean, Vietnamese Classical and Cantonese) from the installer in Flazzle-Setup.iss to reduce download times. They are still included with Flazzle using Unihan though, so they just need to be unpacked on first use
  • Added UniqueId to cfgConfigDefaults.py so that I can identify bug reports by a specific computer. It doesn't report an IP address, so I don't think it should be a privacy problem. It's just a 'magic cookie' number, i.e. generated randomly on first use
  • Converted various exceptions to nrExceptions. This allows, in most cases, to determine whether a report is a bug or raised intentionally, e.g. a permission error
  • Removed cfgPropertiesDlg.py requirement from cfgInputConfig.py
  • Added popup menus to print and save as to e.g. allow print preview in flsMain.py. chrMain.py, flsEditor.py, flsLaunch.py and flsSearch.py have also been updated to reflect this change
  • Added icons to print and save as menus in flsMain.py by updating ctlMenuBuild.py
  • Removed various test/modules+files which are no longer useful which include ColorPanel.py, ctlBusy.py, ctlGroups.py, flash.exe.manifest, fncFunctions3.py, fncSaveAs.py, images.py, ImportWizard.py, glbGlobalStorage.py, ScrolledWindow.py, pyjedit.ico, tstBitmapBtn.py, tstButtons.py, tstDBDialects.py, tstEdtGridCustEditor.py, tstExcept.py, tstExportWizard.py, tstExtraDBTest.py, tstJapaneseCode.py, tstJapaneseGoto.py, tstLatex.py, tstListCtrlDnD.py, tstPorts.py, tstPytunnel.py, tstSQLAlter.py, tstSrvSerialize.py, tstTemplate.py, tstToolbar.py, tstUndoRedo.py, tstWP_tabs.py, ttsFestival.py, updOnlineUpdate.py, usrLDAP.py, usrLDAPSource.py, usrOtherAuth.py
  • Moved curry from various modules to fncFile.py
  • Added cptGetAllCols.py, which gets all columns in order/provides a compatibility layer for earlier file formats
  • Fixed irritating IE focus grab bug in ctlHtmlNative.py
  • Removed IDX caching from dbsCache.py
  • Fixed kinterbasdb/firebird path bug in dbsFlzDB.py
  • Fixed crash when a database-related error occurs in dbsFlzDB due to an infinite loop in __getattr__
  • Removed FakeCursor from dbsFlzDB.py
  • Fixed various fls caching and download corruption problems in dbsRemote.py
  • Hopefully improved reliability of SQLite when connection errors occur in dbsSQLite.py
  • Added font fallback system to alphabet and accemt selector characters in dtaChooser.py
  • Added centralized excExcept.py exception handling and automatic bug reporting system that should allow me to respond to problems more quickly
  • Fixed blank menu separator problem in flsBkmark.py
  • Fixed weird initial state bug for Sapi5 speech voices in flsConfig.py
  • Added much improved column resizing algorithm which remembers between sessions to flsEditor.py
  • Fixed index problem relating to alphabetic sorting in flsGroups.py and flsUsers.py
  • Added upload menu item to flsMain.py
  • Moved indexing to hard disk files in mscIndex.py and flsSearch.py to improve performance
  • Added new on-demand import system with a progressbar in flsMain and fncFile.py which should improve load times dramatically
  • Improved error handling for loading corrupted files in fncFormat2.py
  • Fixed fncTextImport.py fake FlzDB problem
  • Disabled GetOffset() in fntFont.py to improve performance
  • Removed search message in htmDispResults.py
  • Moved version info to infVer.py
  • Added Windows memory info to infMemory.py
  • Removed UTF-8 BOM from inpBySoundGen.py to allow reading of internal transliteration systems by the new php4-based support system
  • inpChineseDict.py now only imports the requested Chinese dialect rather than all at once to improve performance
  • Chinese input now gives live pinyin conversion as typed to allow slightly faster input
  • Moved BySound module to inpModBySound.py from inpInput.py
  • Fixed scrambled paste bug in inpTxtStyled.py
  • Improved resize after font change in config dialog in inpTxtStyled.py and flsConfig.py
  • Moved filter password code in wzdConnect.py to mscFilterPass.py
  • Moved remove duplicates from list code from fncFunctions.py to mscRemDupes.py
  • Added HttpPost() to netURL.py to allow submitting of error reports
  • Updated registration text in regRegistration.py
  • Updated web links to be dynamic, so that internal versions link to 127.0.0.1 and release versions link to www.flazzle.net in tstWP.py, flsMain.py webbrowser2.py and updTtsDownload.py
  • Hopefully fixed pytts going to sleep after standby problem in ttsTTS.py
  • Fixed "NoneType has no attribute 'Bind'" error in ttsTTS.py
  • Fixed UcdShelveConv.py with new import system
  • Removed wzdWizards.py requirement in wzdExport.py
  • Changed 'Flashcard' to 'Dictionary' in wzdImport.py
  • wzdTextExport.py now pre-encodes characters with the selected encoding and replaces unencodable characters with question marks
  • Fixed mfc71.dll problem in setup.py
  • Added 'Unpack.py' to manually unpack Chinese/Japanese inputs
  • Moved Flazzle archive to Website/download directory
  • Added various support documentation to website
  • Added new php-based Support.php for the support documentation that should be much more maintainable, allow versions corresponding to Flazzle releases and be themed using FlazzleNew.css
  • Added Report.php error report script to website for the new exception system
  • Updated website screenshots in scrnShots
  • Added Report.php error report script to website for the new exception system
  • Updated website screenshots in scrnShots
  • Added import system with progress to flash.py
  • Added font language option to cfgConfigFields.py
  • Fixed 'Insert' button in chrMain.py
  • Fixed PageExists storing wrapped text in ctlNtbMain.py causing duplicate pages to not be detected
  • Fixed files, media and sound in dbsFlzDB.py by encoding to base64 as SQLite doesn't allow storing NULL characters
  • Added flag icons to most languages in dtaChooser.py
  • Added speech to flsBkmark.py
  • Added print button to flsBkmark.py
  • Added updating of font heights to flsEditor.py and inpTxtStyled.py
  • Removed bookmark icon from editor
  • Added insert from file to record in flsEditor.py
  • Separated media and speech when playing in flsEditor.py
  • Fixed properties menu item causing hang when pressed twice in flsEditor.py
  • Added menu to individual items allowing choice of speak, play media or add bookmark to flsSearch.py
  • Fixed ForceRefresh parameters in flsSendKeys.py
  • Fixed accents window popups when space key pressed in inpTxtStyled.py
  • Separated media and speech in mmdPlay.py
  • Fixed some speech create problems in flsEditor.py and ttsTTS.py
  • Converted ctlHtmlNative.py to use ActiveXWrapper to allow extra commands, like print/print preview
  • Added duplicate check when creating new bookmark categories in dbsFlzDB.py
  • Removed splitter window from flsBkmark.py
  • Fixed printing of bookmarks/results in htmDispResults.py by hiding elements in the CSS
  • Changed print in flsSearch.py to print results rather than all words in a dictionary
  • Fixed various encoding to sys.stderr and sys.stdout problems in flash.py
  • Added logout to "Tools" menu in flash.py
  • Moved notebook code in flash.py to ctlNtbMain.py
  • Converted flash.py, wzdImport.py, wzdExport.py to new login dialog in netLogin.py
  • Added Flazzle WorldEdit icon to Flazzle-Setup.iss and removed Flazzle Input
  • Removed "Flazzle Upload" from cfgConfigDefaults.py
  • Removed cfgPropertiesDlg.NamedPanel from cfgInputConfig.py, wzdImport.py and fncTextImport.py to reduce maintanance
  • Removed Leitner levels from properties dialog in cfgPropertiesDlg.py
  • Fixed disabling Japanese/Chinese popup properties in cfgPropertiesDlg.py
  • Added case-insensitive sorting to column select in cfgPropertiesDlg.py
  • Fixed not automatically searching if changing ChcCols in chrMain.py when using in Japanese/Chinese modes
  • Removed 'Learn' from the menu in cmnTasks.py
  • Moved native HTML control to ctlHtmlNative.py from ctlHtml.py
  • Fixed ctlLabels.GetResults when no results returned
  • Fixed autoresizing of listctrls in ctlListCtrl.py when the list uses images
  • Fixed renaming vocab in dbsCache.py and flsLaunch.py caching problems
  • Removed flashcard code from dbsFlzDB.py
  • Fixed various Firebird connection problems in dbsFlzDB.py
  • Fixed creation of new archives in dbsSQLite.py GetUserNum() problem
  • Split auto-remembering of folders in GetVocabNamesWithCat() into SetLastFolder() in dbsFlzDB.py
  • Changed dbsGenCache.py to use a heading per category
  • Removed connection info from dbsGenCache.py
  • Added suppressing of cache read error messages if the user previously pressed 'Yes' in dbsRemote.py
  • Converted listings to use bz2 compressed plistlib files (XML) in dbsRemote.py to ease recovery when corruption occurs in a Flazzle archive
  • Fixed old connection settings corrupting vocab archives in netURL.py
  • Added commenting out to dtaLanguages.py and temporarily disabled Kazakh and Somali because of accuracy problems
  • Various language profile fixes for Vietnamese and Kurdish versions
  • Added error explanation to FileTypes.py and wzdImport.py when previewing raises an exception
  • Temporarily disabled PyJflash and Ding support in FileTypes.py because of major errors
  • Converted flsBkmark.py to use new HTML results in htmDispResults.py
  • Fixed modifying existing connections in flsConfig.py
  • Fixed notebook page images when launching flsConfig.py from WorldEdit
  • Added 'Paste Special' to flsEditor.py to allow reordering of columns
  • Changed UI notebook page from 'Dictionary/Flashcards' to 'Dictionary' in flsLaunch.py
  • Fixed items not selected in flsManage.py using remote mode when importing vocab
  • Turned off some threads in flsSearch.py when automatically searching to improve switching speed
  • Removed icon from flsSendKeys.DlgSelLang
  • Added CloseAll() to fncFormat.py to fix setup script accessing SQL files in exclusive mode in setup.py
  • Fixed outputting using fncFormat2.py, which was broken because of trying to join NoneTypes
  • Dramatically cleaned up fncFunctions.py
  • Fixed previewing of format2 files in fncNative.py
  • Fixed current directory changing problems when file dialogs change location in fntFont.py
  • Added filtering of comments to GetUnusualChars.py
  • Fixed font fallbacks for Japanese/All popups in htmDispResults.py
  • Variously compressed pngs to make them a little smaller
  • Fixed Kannada BySound accents not available in inpInput.py
  • Updates inpInputInfo.py descriptions and converted to delimited text from dictionaries to ease maintenance
  • Fixed background colour glitches when using WorldEdit in inpTxtStyled.py
  • Dramatically improved speed when working with large files when using WorldEdit in inpTxtStyled.py
  • Added backwards and forwards compatibility to Vietnamese inputs in inpVietInput.py by temporarily using Accent Selectors. I have eventual plans to use something like Telex or VIQR etc
  • Fixed various mode reset/refresh problems in inpVirtualKeyboard.py particulary relating to the 'alt' key
  • Removed mix button from flsEditor.py and mmdPlay.py
  • Rewrote netLogin.py. It isn't as pretty as the old one, but it should be less buggy/more maintainable and have more relevant options catering to specific protocols, e.g. FTP/HTTP passwords etc
  • Hopefully fixed getting size of 0 in netURL.py
  • Disabled timeout of 300 seconds in netURL.py to allow large downloads
  • Added encoding detection dialog to tstWP.py
  • Fixed program/save as icon in tstWP.py
  • Separated various functions in ttsTTS.py to make the bugs a bit more manageable
  • Fixed zero division error updTtsDownload.py
  • Fixed dict copy errors in wzdConnect.FilterPass
  • Fixed DlgConnect in wzdConnect.py for modifying existing connections
  • Disabled FTP account option in wzdConnect.py due to a type error expecting a long instead of a string. (Is this a bug in pycurl/cURL?)
  • Fixed double-renaming of downloaded vocab in wzdImport.py
  • Fixed KeyError when previewing native files in wzdImport.py
  • Reorganized most of the text on the main webpage and added input screenshots/descriptions to make things a bit easier for new users
  • Cancelled Flazzle WorldEdit with tabs. I tried with an alpha demo in tstWP_tabs.py, but I thought it felt too bloated/cluttered. So I've decided to prevent it from being released for now :)
  • (Committing ctlHtml.py, which was previously conflicting)
  • Removed "spacing" from tools menu in flash.py
  • Changed name of Flazzle Pro to be Flazzle WorldLearn for now, which should hopefully be a bit more obvious for first-time users
  • Fixed flsSendKeys.py init problem in flash.py
  • Started removing cfgPropertiesDlg.NamedPanel from cfgInputConfig.py etc because of maintenance and Mac OS X problems
  • Removed flashcards deck 1-5 from cfgPropertiesDlg.py, as the flashcard part has been (temporarily?) removed from Flazzle. I may add flashcards back again, but it will need to have an emphasis on being maintainable and more approachable for new users etc, because the old one was way too buggy :-)
  • Changed cfgPropertiesDlg.py to use Apps Hungarian notation to ease maintanence
  • Rewrote PnlFieldSelect in cfgPropertiesDlg.py with a CheckListCtrlMixin derived ctrl, which should fix the KeyError problems when showing/hiding multiple at once
  • Fixed WebKit in ctlHtml.py and fixed various IE bugs relating to live font changing
  • Fixed properties cancel problems by using copy.deepcopy(D) instead of D.copy() in dbsCache.py
  • Fixed updating language in dbsFlzDB.py when renaming columns
  • Fixed last category not being selected/not existing problems in dbsRemote.py, dbsFlzDB.py and flsManage.py
  • Changed default inputs to be onscreen keyboards in dtaLanguages.py and "Flazzle Specs.xls"
  • Added ability to disable config pages (e.g. Connections and Speech) for the new tstWP.py
  • The mix button in flsEditor.py was hidden
  • Improved speed of similar matches in flsSearch.py by around 6x! I enabled automatic similar searching if no other matches are found (it was disabled until enter was pressed before because it was too slow)
  • Fixed some activate graphical glitches under Windows in flsSendKeys.py
  • Added categories to fncFormat2.py. It currently doesn't work at a dbsFlzDB.py level, but it should be in the future
  • Separated fntFontFallback.py from wxPython to allow porting to other toolkits, e.g. Web frontends
  • Fixed GetUnusualChars.py for modifier letters in ICU transliteration system gathering
  • Moved font fallbacks to CSS in htmDispResults.py to allow automatic update of fonts
  • Cleaned up CSS substantially and added comments to htmDispResults.py
  • Changed description in infAbout.py
  • Fixed sending to popup window input controls in inpInput.py
  • Added multiline support to inpInput.py and inpTxtStyled.py
  • Added SetFontSize() and SetAlignment() to inpTxtStyled.py to allow basic formatting in tstWP.py
  • Fixed physical keyboard events not passed to onscreen keyboards in inpVirtualKeyboard.py. E.g., if the shift button is pressed, it updates automatically now
  • Added mapping of system keyboard keypresses to onscreen keyboards in inpVirtualKeyboard.py to allow speed typing if the user already knows a layout
  • Added SetValue() and started config for existing connections in wzdConnect.py
  • Fixed "NoneType has no attribute 'replace'" errors in wzdWizards.py when pasting and there isn't any data on the clipboard
  • Fixed Thai accents not in BySound directory
  • Added a new tstWP.py, which is probably going to be called something like "Flazzle WorldEdit" in the release version. It allows using the inputs inside of Flazzle for basic wordprocessing and copy/pasting into other programs, and has the eventual goal of replacing the buggy flsSendKeys.py
  • Fixed Filter.py wx.App not created bug
  • Fixed notebook page font in flash.py and flsLaunch.py
  • Cleaned up cfgConfigDefaults.py substantially and moved script names to FontFallbacks.txt
  • Changed cfgConfigDefaults.py, wzdConnect.py, dbsRemote.py to use pycurl instead of ftplib. Flazzle can now work with most proxies, including proxies with authentication in the config. In addition, it adds various other protocols including HTTPS, FTPS, FILE (and TFTP, but I don't recommended using it because of no security :)
  • Cleaned up cfgInputConfig.py, and converted to apps Hungarian notation
  • Fixed populating info if a character is already selected in chrMain.py
  • Added displaying of Unicode codepoints to chrMain.py, for example U+FFFF
  • Fixed on-demand loading of character palette if font for a given language, e.g. Japanese, isn't available
  • Fixed wx.CallAfter main loop freeze problem in cmnTasks.py
  • Added folder permissions dialog to cmnTasks.py
  • Added find-as-you-type to search in chrMain.py
  • ListCtrls in ctlListCtrl.py now fallback to the "All" font when using the LargeFont keyword
  • Removed RemoteFtp from various modules, including dbsFlzDB.py, flash.py and wzdExport.py, dbsRemote.py as both HTTP and FTP now use (more-or-less) the same interface via cURL
  • Temporarily disabled connection info when using generating manual download HTML in dbsGenCache.py
  • Added proxy options to flsConfig.py and cleaned separated network options to make them more maintainable
  • Added icons which indicate whether a connection is remote or local to flsConfig.py
  • Fixed resetting the fonts of preview/results windows in flsManage.py and htmDispResults.py
  • Hopefully fixed some threads overriding others in flsSearch.py
  • Partially fixed ord() of surrogate pairs in fncFile.py. May come back later
  • Disabled error message in flash.py when UserAbortError in fncFunctions.py is raised
  • Added a few hundred more font fallbacks for non-CJK languages in fntFontFallback.py
  • Fixed font download dialog displayed multiple times for a given language after resetting a font fallback language to default which was previously overridden when there was no default font found. Only for font download languages currently, for example Chinese, Japanese, Korean and Vietnamese Classical, but may be more later
  • Made various changes, mostly for the worse in netLogin.py :) However, I plan for this module to be rewritten to use the new connection architecture to reduce bugs and maintanance, so it shouldn't be a problem
  • Added a fallback to UcdShelveConv.py when searching for characters by name, similar to flsSearch.py. It tries exact, partial and then gives spelling suggestions if less than 10 results
  • Created a new font download dialog in updFontDownload.py, which allows either automatic, manual (using a web browser) or choosing another already installed font
  • Converted TTS and font download systems to allow authenticated proxies in updFontDownload.py and updTtsDownload.py
  • Rewrote wzdConnect.py wizard, adding additional proxy options for RemoteUrl and providing different options for LocalSqlite, Local, RemoteUrl and Remote
  • Fixed local import of vocab in wzdImport.py
  • Fixed renaming of vocab when using previous format in wzdImport.py
  • Fixed various font fallback problems. This has been changed in flash.py, chrMain.py, ctlControls.py, ctlLabels.py, ctlLicense.py, flsEditor.py, flsFlash.py, flsLaunch.py, flsManage.py, fntFont.py, inpAlphabet.py, inpCandidates.py, inpCharMap.py, inpCharSel.py, inpChineseInput.py, inpJapaneseInput.py, inpTxtStyled.py, inpVietInput.py, inpVirtualKeyboard.py
  • Turned off annoying IE navigate sound in ctlHtml.py
  • Fixed displaying license for local Flazzle files in ctlLicense.py and wzdImport.py
  • Added font fallback system to ctlPreview.py, so previews will now try to find the best font for that language using fntFontFallback.py
  • Added various SQLite optimizations in dbsFlzDB.py and dbsSQLite.py
  • Cleaned up dbsFlzDB.py 'GetVocabNamesWithCat' with 'GetVocabNames' in dbsFlzDB.py, as GetVocabNamesWithCat is no longer relevant
  • Removed 'Desc' and 'License' from dbsRemote.py to save space. Licenses are now displayed only when the vocab files are downloaded
  • Updated various languages with the new ICU transliteration systems in dtaLanguages.py
  • Added new file format to fncFormat.py, fncFormat2.py and fncNative.py. This format can be compressed with either zlib, gzip, bz2, or lzma (the default), and in the latter case, can produce files that are 2-3x smaller than the older format. The older SQLite format is still more conservative on CPU and memory though
  • Turned off GetDiff() in inpInput.py for BySound inputs when showing accent candidates window to fix complex Indic scripts where context is important
  • Fixed enter/tab presses in inpTxtStyled.py
  • Fixed various keycode changes in inpTxtStyled.py by referring them to the wxWXK_* values
  • Fixed rounding problems when magnifying and cleaned up inpVirtualKeyboard.py
  • Added CreateNewMultiple() to dbsFlzDB.py
  • Changed documents folder to use wx.StandardPaths.Get().GetDocumentsDir() in wzdImport.py
  • Fixed wizards being displayed off-screen in wzdWizards.py
  • Added fncFileEsc.py, which transliterates all non-Latin characters and replaces special characters to allow uploading to FTP etc and fixing the "common dialog failed with error 3002" problem when saving files with special characters
  • Updated dbsRemote.py to use fncFileEsc.py
  • Removed "Manage Flashcards" from Tools menu in flash.py
  • Cleaned up loading wizard images in artProvider.py
  • Resized wizard images to be 95% of the original size
  • Added public info to cfgConfigDefaults.py when using HTML download cache, e.g. server address, password etc
  • Disabled translit buttons by default in cfgConfigFields.py
  • Made various changes to allow updating to wxPython 2.7.1.3
  • Added double-click events and added GetValue() to chrGrid.py
  • Added configurable SzLPane and SzRPane in chrMain.py for the mini character palette
  • Removed folder-specific stuff in cmnTasks.py
  • Fixed properties dialog flicker problems after closing dialog in cmnTasks.py and cfgPropertiesDlg.py
  • Added tempfile2.py which creates a global, user-specific temporary location in the (Temp Dir)/Flazzle/(Hash of logged in username). The user is stored as a hash to attempt to prevent Unicode filesystem problems
  • Changed "Folder" text to be "Category" in ctlAddFolder.py
  • Added a registry hack which tries to automatically disable the IE 'click' sound under Windows
  • Changed various arguments to be lists rather than tuples to fix an interpretation problem in dbsCache.py
  • Added 'unofficial' tags to all old version vocab lists in dbsFlzDB.py
  • Added __ChkCatExists to dbsFlzDB.py
  • Removed various recursive subfolder code in dbsFlzDB.py and dbsRemote.py to make it more maintainable
  • Added ask before save dialog to dbsRemote.py to add confirmation
  • Added majorly improved error handling in dbsRemote.py
  • Fixed SNTP random timeout hang problems in dbsRemote.py when uploading to FTP
  • Incremented version to 'b' in dbsRemote.py
  • Changed Vietnamese default input to be CharSel for now in dtaLanguages.py
  • Fixed various preview hints in FileTypes.py which are no longer relevant
  • Fixed new folder toolbar icon in flsLaunch.py
  • Changed logout button to be a hyperlink in flsLaunch.py
  • Fixed slice encoding problems in flsSearch.py
  • Dramatically improved the speed of wildcard searching by around 5x in flsSearch.py by only performing regular expressions on possible matches
  • Added automatic ISO code conversion when editing/viewing items in flsManage.py
  • Added hash to flsManage.py so it only populates when vocab/categories changed
  • Fixed a thread race problem in flsSearch.py
  • Fixed multiple import/export in fncFormat.py and fncNative.py
  • Fixed importing bz2/lzma compressed vocab from RemoteFtp in fncFormat.py
  • Added overridden wx.CallAfter to attempt to detect and avoid "NoneType is not callable" error before they occur
  • Changed speak images to be bitmaps instead of pngs to improve performance in htmDispResults.py
  • Reduced GetCellQInfo() latency in htmDispResults.py
  • Fixed candidates window IndexError in inpCandidates.py
  • Added popup accents menu in inpInput.py for characters which can't be entered by another character from a-Z, i.e. modifier/combining characters
  • Fixed caps characters not accessable by accent selectors in inpTxtStyled.py
  • Fixed initial self.Column not available error in mSetStyle() for inpTxtStyled.py
  • Fixed sorting of folders in mscSort.py
  • Removed unmaintainable subfolder code in wzdExport.py/wzdImport.py
  • Added dbsGenCache.py to allow manual downloading of files from RemoteFtp via an HTML cache
  • Fixed transliteration crash which was introduced at the last minute in cfgConfigFields.py
  • Fixed initial state of LastTxt in flsSearch.py
  • Fixed various Mac OS X Webkit-based errors in ctlHtml.py
  • Removed "Getting Started" from the help menu in flash.py
  • Added transliteration for columns in cfgConfigFields.py, dbsFlzDB.py
  • Added 'Learn' menu item to cmnTasks.py
  • Fixed Freeze() and Thaw() in ctlListCtrl.py
  • Temporarily commented out caching for bookmarks in dbsCache.py
  • Added hopefully improved error handling/reporting in dbsRemote.py when the cache is downloaded but cannot be read
  • Moved the "active" bookmark category to the top of the list in flsBkmark.py
  • Removed the 'Input' tab in flsLaunch.py for now to reduce clutter
  • Added font fallback to lists and trees in flsManage.py
  • Fixed speaking/playing sounds in flsSearch.py and htmDispResults.py
  • Added "ctrl+backspace" clear text shortcut to inpTxtStyled.py
  • Added documentation to SVN to track changes
  • Reverted to native notebook controls under Windows in flash.py
  • Fixed most encoding print errors in flash.py by replacing unprintable characters/auto-encoding Unicode types to UTF-8 when outputting to sys.stdout and sys.stderr
  • Removed statusbar hacks in flash.py and flsSendKeys.py to improve Mac OS compatibility and maintainability
  • Added a separate beta wxMiniFrame to chrMain.py when clicking on the insert characters icon in inpInput.py
  • Fixed updating main icons in chrMain.py when using from main window
  • Added a new simplified flashcard viewer in flsFlash.py. This will probably eventually replace flsSimple.py
  • Added WebKit support and added much improved IE native control including fixing javascript in ctlHtml.py
  • Fixed VListCtrl.ClearSel() in ctlListCtrl.py under Windows
  • Added a stripe effect to previews in ctlPreview.py similar to the new search interface
  • Fixed GetIdx() in dbsCache.py
  • Fixed remote state after uploading in dbsRemote.py. Subsequent commands should work now
  • Removed Tab-Separated export support from FileTypes.py. It now has a dedicated export wizard
  • Almost totally rewrote the launch interface in flsLaunch.py to have a more task-based and maintainable interface
  • Changed default flashcard to be dictionary images and changed category root text to be "Categories" instead of "Flashcards" to represent the changed direction of Flazzle towards a generic learning program rather than just flashcards
  • Almost totally rewrote the search interface in flsSearch.py. It now uses the native HTML control for that platform, e.g. Internet Explorer or Webkit. Direct HTML is not currently allowed for security reasons, though limited tags may be added in the future. Popups are handled by javascript. This also allows reuse for a possible online edition of Flazzle
  • Speed of similar matches in flsSearch.py is now orders of magnitude faster
  • Moved TestPanel back into flsSimple.py, at least until I can move all of the code across. The eventual plan is to phase this interface out, though, in favour of HTML controls
  • Added striping to results in htmDispResults.py
  • Added new, popup-window based accent selectors to inpCandidates.py, inpCharSel.py etc.
  • inpTxtStyled.py was refactored into separate parts which should make it more maintainable in the future
  • Fixed various text-to-speech special cases in ttsTTS.py
  • Fixed mailto:// links in webbrowser2.py
  • Added database caching for common commands in dbsCache.py to flash.py to dramatically reduce network latency when working in remote network mode
  • Added live changing of fonts. This means that the fonts should change instantly when changing in the config in fntFont.py and flsConfig.py
  • Fonts are now cached to reduce memory and loading times
  • Removed ctlControls.py and ctlLabels.py
  • Added a native ie HTML window to ctlHtml.py for the new search interface
  • Added GetMyUserNum() to allow unique caching in dbsFlzDB.py and dbsCache.py
  • Fixed cancelling import of vocab in dbsRemote.py
  • Added htmDispResults.py with a much improved search interface and largely rewrote flsSearch.py
  • Removed hackish TestPanel from flsSimple.py, and will be favoring html-based widgets from now on to allow code re-use between Flazzle Pro and Flazzle Server
  • Substantially reduced loading time of Flazzle. It should be a third-half faster loading!
  • All of the ISO639-3 pickle files removed in favor of a smaller and faster file in iso639_3.tab
  • Removed UnicodeData.txt, Blocks.txt and Scripts.txt to source directory to save on download time
  • Fixed wx.GetApp().SetAppName() error in cfgPaths.py
  • Fixed various grid resize-related bugs in chrGrid.py
  • Updated chrMain.py to use indexes when filtering Japanese radicals, which should be around 2-3 times faster
  • Improved index error tolerance in dbsFlzDB.py
  • Fixed connections not displayed after adding in flsConfig.py
  • Fixed a search bug which caused multiple results to sometimes be corrupted
  • Added global ismac() to fncFile.py
  • Updated fncFormat.py to allow multiple categories/flashcards etc
  • Fixed MS Gothic overriding MS Mincho in fntFontFallback.py due to Mac duplicates overriding Windows
  • Updated inpPytranslit.py to include all of the new native transliterators added to ICU: Syriac, Armenian, Thaana, Georgian
  • Changed "Get Vocabulary Submitted by People Like Yourself" to "Get Previously Submitted Vocabulary and Dictionaries" because I thought it was deceptive
  • Added various icons to the header of website sections
  • Mostly fixed IE website problems with PNGs by rewriting the tags and converting to PHP
  • Cleaned up code in artProvider.py
  • Fixed multilingual usernames in cfgConfig.py by using wx.StandardPaths() instead of os.path.expanduser('~'), which doesn't seem to be Unicode compliant
  • Changed database to be SQLite by default instead of Firebird
  • Fixed 'deleted' errors in cfgPropertiesDlg.py, flsUsers.py, flsGroups.py
  • Fixed dialogs not centered in flsManage.py, ctlLicense.py
  • Fixed weird Mac OS X 'library routine called out of sequence' error in flash.py
  • Added font language comments to Flazzle-Setup.iss
  • Changed ViewInBrowser() to use a system-specific temp directory instead of C:\Temp to make work on Mac OS X
  • Added Mac OS X fixes in ctlLabels.py and inpTxtStyled.py
  • Disabled header on search virtual listctrl in ctlListCtrl.py
  • Fixed popupwindows on mac in ctlPopups.py, inpInput.py, inpCandidates.py
  • Fixed messaging system encoding errors in dbsFlzDB.py
  • Moved initialization of index to _InitIdx in dbsFlzDB.py and added support for SQLite in dbsSQLite.py
  • Added GetMyPref() and SetMyPref() stubs in dbsRemote.py to allow basic debugging on Mac OS X
  • Vastly improved SQLite speed (as much as 30x what it was before!) for inserting entries in dbsFlzDB.py and dbsSQLite.py by adding native executemultiple() rather than executing and converting each command individually from Firebird to SQLite incurring a massive performance penalty
  • Changed ISO codes to use threads and getting them in the background
  • Fixed "invalid item index" error in flsBkmark.py on Mac OS X
  • Improved performance and stability of flsLaunch.py by removing Windows-specific hacks on Mac OS X
  • Added 'live' searching to flsSearch.py and limits to improve speed
  • Disabled annoying 'deleting file' and 'opening file' messages in fncFile.py
  • Added Mac OS fallbacks and localized names to fntFontFallback.py
  • Added character palette icon to main in htmHome.py and flsLaunch.py
  • Fixed multiple skip glitches in inpFakeKeyEvent.py
  • Removed notebook hacks in inpInput.py and flash.py and replaced the notebook ctrl with a generic, more maintainable one
  • Added Mac OS X support for virtual keyboards in inpVirtualKeyboard.py
  • Fixed backslash plague bug in plistlib.py when encoding to Unicode escapes
  • Registration in regRegistration.py is much more pretty now
  • Fixed tts in ttsTTS.py
  • Fixed apply changes and initial import dialog state in usrApplyChanges.py and wzdImport.py
  • Modified website to be more minimalistic and blend in with the new blog theme and should be much more maintainable now
  • Added 24x24 icons for Mac OS X
  • Fixed inability to change spacing for box 5 in cfgSpacingDlg.py
  • Rewrote indexing of vocab in dbsFlzDB.py so searches should be much faster now
  • Moved Firebird hacks into a central location to reduce code clutter when using SQLite
  • Cleaned up code in flash.py, ctlFindReplace.py, flsBkmark.py, flsEditor.py, flsSearch.py, flsSendKeys.py, flsSimple.py to use apps Hungarian (not system!) notation inline with other code
  • Changed default new database to be SQLite instead of Firebird, as it's faster for single user. Firebird will still be available for a while though, as SQLite doesn't allow multiple write connections at once, which is important for Flazzle server in cfgConfigDefaults.py
  • Added index downloading in dbsFlzDB.py for fuzzy dictionary searching
  • Fixed an inheritance problem with the download cache in dbsRemote.py
  • Substantially improved speed of dbsSQLite.py
  • Moved inpInputTextCtrl.py to inpInput.py to shorten code
  • Dramatically improved accuracy of searches when no results in flsSearch.py - first: it tries exact, second: it tries 'starts with' and third: checks for like words/spelling errors using difflib and gives suggestions.

Flazzle 1.5b (September 2006)

  • Pre-imported Japanese/Chinese inputs added to installer to remove the delay before using these languages
  • Changed SAPI4 and Agent text-to-speech engines to use CLSIDs to allow for usage on non-english versions of Windows in cfgConfigDefaults.py, flsConfig.py, ttsSapi4.py, ttsTTS.py and updTtsDownload.py
  • Fixed multiple text in cfgConfigFields.py and cfgFontChoose.py
  • Fixed selection problems in chrGrid.py: block, cell and row/columns are now work properly
  • Added information to chrMain.py when in Japanese mode when no Japanese definition exists to show that it a definition has a Chinese bias
  • Removed buggy colour detection code in ctlStatusBar.py
  • Added MovBkMrk() to dbsFlzDB
  • Changed various Syriac languages to use a phonetic instead of standard layout
  • Added move and delete to bookmarks in flsBkmark.py
  • Substantially cleaned up the Sapi4 code to use dictionaries. It should actually be maintainable now!
  • Fixed text-to-speech movement buffer causing delays in ttsTTS.py when moving main window
  • Made various website changes
  • Added icons to mixer menu in sndAudio.py
  • Fixed recording in mmdPlay.py
  • Shortened Georgian BySound character selection
  • Added 'tonal mark' detection to inpCharSel.py
  • Added play and record to menu in flsEditor.py
  • Disabled label editing in flsBkmark.py
  • Fixed last character chopped off in dtaUnicodeScript.py
  • Removed Russian keyboard for Tajik Cyrillic in dtaLanguages.py
  • Disabled cell editing in chrGrid.py
  • Added 'copy' and 'select all' to chrGrid.py
  • Fixed artProvider for character palette
  • Fixed total line count of Flazzle in Filter.py. FWIW, it's now at around 60k :-)
  • Added type conversion of columns to dbsFlzDB.py and cfgConfigFields.py between Unicode text with newlines and replaced newlines so dictionaries like WordNet should work now
  • Updated script ranges for ConScript unofficial Unicode scripts in Scripts.txt
  • Changed 4092 character limit of columns to 10000 in dbsFlzDB.py. Past around 12000, may not be able to fix for now though as this seems to be a Firebird limitation
  • Added property enforcing to dtaLanguages.py to remove errors including wrong BySound system, wrong font type, wrong Unicode block ranges, input types and onscreen keyboards
  • Fixed various errors in the profiles of Amazigh, Burmese, Cantonese, Cree, Dakelh, Ethiopic, Greek, Inuktitut, Lao, Malayalam, Mandar, Mandarin, Ojibwe, Punjabi, Sanskrit, Sekani, Tagalog, Tamasheq, Tamazight, Vietnamese Classical, Yi and removed Urdu from dtaLanguages.py
  • Moved ClsBkmark into flsBkmark.py so that all bookmark logic is separated
  • Added mix, play, record and bookmarks button to flsEditor.py
  • Removed the side panel from flsEditor.py for now. May add option to add back later
  • Added an allow/deny checkbox in flsGroups.py
  • Fixed various serious sizing glitches in flsSimple.py
  • Fixed Tifinagh ambiguities in inpBySound.py and replaced with with the Neo-Tifinagh scheme, which is used in Morocco. I may add more later
  • Fixed Armenian Western, Buginese, Coptic and Osmanya ambiguities in inpBySound.py
  • Totally removed Canadian syllabics languages, Glagolitic and Mongolian due to too many problems from inpBySound.py
  • Moved BySound HTML generation into inpBySoundGen.py due to recursive import problems
  • Fixed accent selector font fallback problems for latin characters in inpCharSel.py. It now falls back to the "All" font for all latin characters, and the configured font for other characters
  • Fixed window focus problems for viewer in inpInputTextCtrl.py
  • Changed Lao to fallback to a basic, i.e. not richtext control in inpTxtStyled.py
  • Added Canadian syllabics file, inpSyllabics.py to replace an ambiguous system used in inpBySound.py which was automatically generated. Added sytems include Blackfoot, Carrier, Chipewyan, Cree East, Cree West, Cree West (Ontario Swampy), Dogrib, Inuktitut, Naskapi, North Slavey, Oji-Cree, Ojibwe, Sekani, South Slavey
  • Added new screenshots to website
  • Added individual character searching to chrMain.py for both All and Chinese/Japanese. For example, entering "e" will find "latin small letter e"
  • Fixed displaying of, e.g. Cherokee and around ~30+ other scripts: where the Windows richtext control can't display scripts, it now reverts to the standard control in ctlLabels.py
  • Added more swearwords to the detection in ctlPreview.py and hopefully decreased false positives
  • Fixed CharMap for canadian syllabics languages in dtaLanguages.py
  • Increased overflow limit in flsSearch.py
  • Added information bar to flsSimple.py when checking wrong
  • Added GetMyParent to glbGlobal.py
  • Moved viewer into a separate window for now
  • Shortened long flashcards finished message in flsSimple.py
  • Fixed "the first word is wrong" message when no words types in flsSimple.py bug
  • Partially fixed font fallback for Japanese in inpJapaneseInput.py when entering only Kanji reverts to Chinese fonts
  • Fixed speech playing twice in mmdPlay.py
  • Moved character selectors into inpCharSel.py, cleaned up code and grouped like characters under a common menu
  • Updated some screenshots for website
  • Removed editor foldpanel for now in flsEditor.py
  • Fixed "NoneType has no attribute 'sleep'" error in flash.py when exiting
  • Significantly sped up sendkeys and chrmain initialization in flash.py
  • Added -chrmain option to start Flazzle Character Palette and merged into flash.py
  • Changed version to be Flazzle 1.5b
  • Fixed config problems when cancel is pressed in flsConfig.py
  • Moved EastAsianWidth.flz into Src/ directory as it isn't used and just takes up space
  • Added script and block caching in Scripts.flz and Blocks.flz to reduce memory usage
  • Fixed a minor speed-related bug in chrGrid.py
  • Fixed initial selections in chrMain.py
  • Fixed not being able to flash for deck 5 in cmnTasks.py and flsSimple.py
  • Added a three dimensional border to ctlControls.py and ctlFoldPanel.py
  • Fixed clearing selections in ctlListCtrl.py for virtual search control
  • Changed bookmarks to be per-flashcard rather than global in dbsFlzDB.py
  • Fixed __init__ problem in dtaChooser.py so Flazzle Input should work again now
  • Changed Mandar to be uncommon in dtaLanguages.py
  • Added caching to dtaUnicodeBlock.py and dtaUnicodeScript.py
  • Fixed font and various speed problems in flsBkmark.py
  • Fixed statusbar problems in flsSendKeys.py
  • Fixed graphical alignment problems in flsSimple.py for stripe effect to match the HTML windows
  • Changed eval to be exec in fncFile.py because eval doesn't work from threads
  • Added Chinese, Japanese, Korean and Vietnamse fallback to Arial Unicode MS. May add more later
  • Added GetUnusualChars.py, which gets all accented characters in the BySound systems external to Flazzle in ICU
  • Changed glbGlobal.py's GetActiveWindow to get the top window to prevent deleted window problems in import etc
  • Changed ctlPopups namespace in inpCandidates.py to prevent recursive import problems
  • Changed Chinese/Japanese input count for import in inpChineseDict.py and inpJapaneseDict.py
  • Removed per-Cyrillic hacks in inpInputTextCtrl.py
  • Fixed some accented characters not displayed for BySound in inpInputTextCtrl.py
  • Changed accent selectors to statictexts (again!) I may just rewrite this part as it's unmaintainable :-)
  • Fixed backspace IMEActive problems when reverting from IME candidates mode
  • Cleaned up UcdShelveConv.py to save time when generating Unicode data
  • Filtered Adobe Photoshop source files
  • Turned off ucd_version in UcdShelveConv.py as overriding the unicode version makes some modules cease to function
  • Fixed various tab changing problems with character selectors in flash.py
  • Changed the input config text colour
  • Added browsing by Unicode script in chrMain.py
  • Added FourCornerCode searching in chrMain.py
  • Vastly improved search accuracy for Chinese and Japanese in chrMain.py
  • Fixed some Japanese radicals not available/having too many strokes in chrRadical.py
  • Japanese frequency detection much more sophisticated. Only skips characters when all of IICore, JGrade and JFrequency not available
  • Changed information dialog to be a question dialog when deleting files/folders in cmnTasks.py and flsLaunch.py
  • Added allow all groups by default to ctlAddFolder.py and dbsFlzDB.py and simplified
  • Speedups in ctlHtml.py relating to font size estimation
  • Changed searching in dbsFlzDB.py to always use wildcard matching (* and _)
  • Added alpha bookmarks to dbsFlzDB.py and added flsBkmark.py
  • Fixed case sensitivity in dtaUnicodeBlock.py for Linux
  • Added jMemorize support to FileTypes.py and fncJMem.py
  • Fixed various selection problems in flsSearch.py. Still a bit buggy though
  • Fixed Cypriot, Deseret, some Ethiopic syllables, Gothic, Kharoshti, Linear B, Ogham, Old Italic, Old Persian Cuneiform, Osmanya, Thaana character selection, Ugaritic in inpBySound.py
  • Added automatic HTML doc generation in inpBySound.py
  • Changed back to wxButtons in inpInputTextCtrl.py for CharSel for now, until I have time to fix it
  • Added larger Japanese IME dictionary in SKK-JISYO.ML
  • Fixed Vietnamese in statusbar in inpVietInput.py
  • Fixed value reset in netLogin.py when using RemoteURL
  • Added bookmark functions to permissions in srvPerm.py
  • Fixed tab select before close delay in flash.py
  • Fixed CharSel parent problems when opening multiple from flsManage.py in flash.py and inpInputTextCtrl.py
  • Increased reliability of cfgConfig.py and plistlib.py by saving to check integrity, escaping invalid characters and going back to defaults when loading fails
  • Added multiple selection operations in cfgConfigFields.py
  • Changed the background colour of invalid characters, blank characters and the grid background in chrGrid.py
  • Fixed division by zero errors in chrGrid.py
  • Added info pane to chrMain.py which shows all Unihan, Kanjidic and character database info
  • Added radical pane to chrMain.py and added searching by radical/stroke
  • Added standard KangXi radicals to chrRadical.py
  • Fixed searching for SQLite in dbsFlzDB.py
  • Disabled threading for dtaISOCodes.py to fix path change problems
  • Updated dtaUnihan.py with new columns for Unihan 5.0d to allow direct pasting from Excel, which saves time
  • Fixed centering on parent in flsGroups.py and flsUsers.py
  • Added conversion to actual Unicode data from Unicode surrogate pairs
  • Fixed data conversion problems for SQLite in fncFormat.py for Linux etc
  • Added resistance to encoding problems by replacing invalid chars in inpDepChineseDict.py, inpJapaneseDict.py, fncFunctions.py, fncFunctions2.py and fncTextExport.py both when saving and loading
  • Fixed Macedonian (FYROM) encoding problems in inpVirtualKeyboard.py
  • Temporarily disabled Cyrillic for BySound in inpInputTextCtrl.py as it doesn't work properly just now
  • Fixed styling problems when ending SKK mode for the Japanese IME in inpTxtStyled.py
  • Added fuzzy matching for unicode characters in UcdShelveConv.py
  • Updated Unihan.flz to include new columns, data and support the full ~70,000 character range (in surrogate pairs, unfortunately!)
  • Disabled local caching for speech voices in updTtsDownload.py to prevent corruption (hopefully)
  • Added manual speech download button to updTtsDownload.py
  • Added information dialog that speech voices are downloading in the background
  • Added basic support for characters in the Unicode Supplementary Plane in dtaUnicodeBlock.py, UcdShelveConv.py
  • Added surrogate pair support to SMP characters for global unichr function in fncFile.py
  • Fixed live changing of fonts in chrMain.py and chrGrid.py
  • Updated SMP characters in UnicodeData.pkl
  • Fixed notebook page change events for wxGTK in flash.py
  • Moved _dtaISOCodes.py into a pickle-based file
  • Changed all paths to be absolute for Linux
  • Added Vietnamese Classical font to cfgConfigDefaults.py
  • Moved all HTML windows into ctlHtml.py
  • Updated Blocks.txt to Unicode 5.0
  • Changed editor gradient to be blue in ctlFoldPanel.py
  • Fixed styling for textctrls in ctlLabels.py and inpTxtStyled.py for wxGTK
  • Hopefully fixed a crash in ctlPopups.py related to font thread safety
  • Filtered swear words in ctlPreview.py
  • Fixed binary data problems in dbsSQLite.py
  • Added nice stripe effect to dtaChooser.py
  • Added roughly ~50 more languages to dtaLanguages.py and updated BySound for around 50 existing languages
  • Added icons to editor right click menu
  • Substantially redesigned the website and CSS
  • Dramatically increased Flazzle's speed by caching in cfgConfig.py
  • Added caching to dtaUnicodeBlock.py to increase performance
  • Fixed the text ctrl focus problems in inpTxtStyled.py for wxGTK
  • Moved all html windows into ctlHtml.py
  • Added an alpha character palette dialog in chrMain.py and chrGrid.py
  • Fixed column fallback where type not found in fncLoadSave.py
  • Fixed type not found crashing in fncStarDict.py by defaulting to Unicode
  • Increased GetTextExtentY performace by around 20x in fntFontFallback.py
  • infAbout.py should be much more pretty now
  • Moved accent selectors to be embedded in statusbar in inpInputTextCtrl.py
  • Added combining character decanicalization to convert them back to single characters in inpTxtStyled.py, inpInputTextCtrl.py and flsSimple.py
  • Changed accent selector backgrounds in inpInputTextCtrl.py
  • Reverted to bzip2 in srvSerialize24.py, though it's around a 10th larger to make it work on Linux
  • Fixed updTtsDownload.py crashing under Linux. Still doesn't do anything though
  • Improved tolerance in wzdTextExport.py
  • Added UcdShelveConv.py, which adds support for most of Unicode 5.0 and provides generic SQL storage with a dict-like interface
  • Changed the statusbar to allow insertion of actual controls in ctlStatusBar.py
  • Added global file closing on deletion in fncFile.py
  • Added MonitorClip.py which is mostly useless :-)
  • Fixed writing license in Filter.py
  • Fixed exception handling for UserAbortError in flash.py
  • Added support for SQLite to dbsFlzDB.py
  • Added tab images to cfgPropertiesDlg.py and flsConfig.py
  • Added icons to menus in cmnTasks.py and flash.py
  • Started simplification of ctlAddFolder.py
  • Unified the flsManage.py interface into main
  • Added 'add folder' button to flash.py
  • Fixed showing a single license for subfolders when importing from remote in wzdImport.py
  • Added icon support to ctlMenuBuild.py
  • Removed '00-database-X' from previews in ctlPreview.py
  • Added various semicolons to dbsFlzDB.py to support SQLite
  • Added lzma support to dbsRemote.py
  • Removed unneeded info from dbsRemote.py
  • Fixed HTML hints for multiple selections of folders/flashcards in FileTypes.py for the preview windows
  • Added stripe to connections and font windows in flsConfig.py
  • Added save delimited text global menu itms in flsEditor.py
  • Fixed auto-sizing of columns in flsGroups.py and flsUsers.py
  • Fixed recursive loop in flsSearch.py
  • Added case insensitive checking in flsSimple.py
  • Added a new, custom set of transliteration systems to inpBySound.py where unavailable in icu. Added scripts include: Armenian, Bopomofo, Buginese, Buhid, Canadian Syllabics, Cherokee, Coptic, Cypriot, Deseret, Ethiopic, Georgian, Glagolitic, Gothic, Hanun?, Kharoshthi, Linear B, Mongolian, Myanmar, Ogham, Old Italic (Etruscan), Old Persian Cuneiform, Osmanya, Syriac, Tagalog, Tagbanwa, Tai Le, Thaana, Tifinagh (Berber), Ugaritic, Yi, Braille Patterns
  • Added a new, less space consuming textctrl to inpTxtStyled.py
  • Disabled updTtsDownload.py for other platforms, e.g. Linux
  • Added a nice glossy look to the website

Flazzle 1.1 (June 2006)

  • Added fonts for most languages to the Flazzle-Setup.iss files for both Pro and Non-Commercial
  • Added a auto-download for Japanese, Chinese, Korean and Classical Vietnamese font that are too large
  • Fixed defaults not being remembered in cfgConfig
  • Added most of the relevant remaining Unicode scripts to the font section in cfgConfigDefaults
  • Fixed select columns in cfgPropertiesDlg
  • Fixed centering on parent in ctlFindReplace and flsUsers
  • Fixed exception handling in ctlLabels
  • Popups in ctlPopups are much faster now as the fonts are preloaded every 2 seconds from a thread rather than each time
  • Fixed basic operations for RemoteUrl/RemoteFtp in dbsRemote
  • Fixed popups for Korean in dtaLanguages and improved error handling in ctlPopups
  • Fixed initial sizing of rows for other font sizes in flsEditor
  • Fixed text-to-speech errors in flsSearch
  • Changed buttons to be native Windows controls in flsSimple
  • Added (uk) and (uK) conversion to (use Kana) and (use Kanji) respectively for the Edict loader
  • fntFontFallback should be much faster now
  • Fixed fonts in inpCandidates
  • Fixed initial sizing of the text ctrl in inpTxtStyled
  • Fixed AltGr function keys for Bengali in inpVirtualKeyboard
  • Removed duplicate L&H English voices in updTtsDownload
  • Updated license.rtf and license-nc.rtf to include font info
  • Added right click to flash
  • Added a virtual vocabulary list to ctlListCtrl
  • Fixed initial Leitner spscing for spacing dialog
  • Fixed preview error for other filetypes
  • Hopefully fixed wx.lib.wxpTag security vulerability
  • Massively rewrote flsSearch with a new three-paned operation
  • Fixed scrollbars in flsSimple
  • Fixed text import for badly formatted files
  • Changed hand cursor in flsLaunch to arrow when waiting
  • Fixed Vietnamese input for classic Windows
  • Added font fallback system to inpVirtualKeyboard
  • Fixed MS Agent initializing but not able to speak when speech voice is not installed
  • Fixed creating new connections with the new plistlib config
  • Fixed wzdImport license dialog display bug
  • Changed initial profile in wzdTextExport to be MS Excel
  • Fixed problem with py2exe and wzdImport.GetDefaultDir() returning home directory, rather than "My Documents" in import and export file dialogs
  • Moved ISO Codes into a separate file
  • Fixed Canadian Syllabics input for native Canadian Aboriginal languages
  • Fixed too many characters in a given range freezing the computer if too many (>800) characters in a character map range
  • Added benchmarking suite
  • Moved all list controls to ctlListCtrl
  • Changed speech icon in Launch
  • Fixed setup location+start menu folder to be "Program Files\Flazzle\Flazzle (Version)"
  • Fixed ogg vorbis recording and playing sounds
  • Added other export to non-commercial version
  • Fixed initial state for format selector
  • Updated added onscreen keyboards in dtaLanguages
  • Fixed other export filters in FileTypes
  • Added confirmation to overwrite files in fncFormat
  • Enter ends input for BySound in inpTxtStyled
  • Added change speech voice in flsConfig if none selected to mmdPlay
  • Added multiple possible answers to flashcards using '||'
  • Fixed blank dialog when all speech voices installed to updTtsDownload
  • Added spacing dialog
  • Updated exceptions and <> -> != for python 3000
  • Added multiple question answers
  • Added stripe effect to import listctrls
  • Fixed HTML in export other dialog
  • Fixed delimited text detection of e.g. UTF-8
  • Fixed zwnj etc in inpVirtualKeyboard
  • Added new files to SVN: cfgSpacingDlg, fncTextExport, mscBenchmark, plistlib, wzdTextExport
  • Added sorting of numbers where in the middle of text for folders/flashcards
  • Added text export profiles to cfgConfigDefaults
  • Removed cfgConfigObj
  • Changed cfgEditHTML's font to Arial Unicode MS
  • Added 'Save Text' option to home screen
  • Fixed sounds/videos for viewer
  • Hopefully fixed a major insert/delete corruption bug caused by incomplete transactions
  • Fixed remembering uncommon languages in dtaChooser
  • Made various changes to website
  • Fixed some language problems
  • Changed e-mail to support@flazzle.net instead of bugs@flazzle.net
  • Fixed borders in flsConfig
  • Sped up pasting dramatically when at last entry by calling dbsFlzDB.InsertEntries
  • Fixed ensuring visible for initial selected item in flsManage
  • Fixed loading badly formatted delimited text files in fncTextImport
  • Added Kyrgyz, Marathi, Punjabi, Serbian, Tatar, Uzbek in inpVirtualKeyboard
  • Fixed magnification in inpVirtualKeyboard
  • Added text export wizard
  • Moved text-to-speech config to flsConfig and made engines per-language
  • Converted to plistlib from configobj to reduce risk of config corruption
  • Fixed offset problem in viewer which chopped off the last question
  • Fixed paste error after showing clipboard error message
  • Disabled Leitner deck 5 quizzing to prevent data loss
  • Fixed error message error parent problems
  • Fixed ~500 limit of flashcards
  • Fixed import/export folder corruption issues
  • Upgraded to newest version of Firebird (may revert!)
  • Added keyboard shortcuts to editor for copy, cut + paste
  • Made 'groups' dialog a bit wider to show all text
  • Merged all of the file and flashcard menus and added support to multiple selections
  • Fixed renaming of flashcards/folders in manage with ISO tags
  • Fixed 'check' button in viewer
  • Fixed initial copy/paste problems in inpTxtStyled
  • Speaking now sets the focus back to the textctrl
  • Added folder sorting to mscSort
  • Added description text to netLogin e.g. initial or download
  • Fixed MS Agent problems using classic windows
  • Fixed renaming groups and added to srvPerm
  • Added romanized Japanese profile
  • Grayed out rename/delete if in '/'
  • Fixed renaming flashcards/folders in flsManage
  • Added CSS to fncHTMLCreate
  • Added relevant text to netLogin e.g. initial or download
  • Added 'some commands unavailable' message when logged into Ftp or Url initially in flash
  • Added name conversion in ctlFoldPanel for column types
  • Fixed rename/delete/change permissions of groups/users
  • Fixed removal of last admin group/user
  • Fixed paste (ctrl+v) for NC version
  • Increased delay for opening web pages in webbrowser2
  • Fixed folder import for remote
  • Fixed auto-creation of category problems for fncNative
  • Fixed showing licensing if no license
  • Added draw cards warning > 20 and exception > 80
  • Removed tooltips from ctlFoldPanel
  • Stripped whitespace from categories and flashcards in dbsFlzDB and dbsRemote
  • Added info on how many flashcards are scheduled for the future in flsLaunch
  • Experimented with autoresizing in flsEditor, but commented out for now
  • Fixed not removing duplicates where the font family is different but the same parameters when comparing the 'from' inputs to the 'to' inputs, e.g. Direct Input
  • Fixed speaking when a column is different than the 'Word' column in mmdPlay and flsEditor
  • Added ogg vorbis files (for real this time)
  • Fixed flsManage parent activation problems
  • Fixed text-to-speech speaking not checking to see if 'CreateTts' in queue

Flazzle 1.0 (May 2006)

  • (Initial Release)
bestrezult.com <body bgcolor="#ffffff" text="#000000"> <a href="http://searchportal.information.com/?o_id=65014&domainname=bestrezult.com">Click here to enter</a>. </body>