Commit graph

1240 commits

Author SHA1 Message Date
Konstantin Isakov 0d8c606e4c * Use more standard isspace() instead of more non-standard isblank(). 2009-04-17 22:59:30 +00:00
Konstantin Isakov f732015547 * Workaround for another narrow-wchar issue when building on Windows. 2009-04-17 22:42:22 +00:00
Konstantin Isakov 4953e7bd10 * Use Folding::isWhitespace() for whitespace checks when parsing article tags.
It's richer and doesn't depend on iswblank()'s existence and/or
  implementation.
2009-04-17 22:34:45 +00:00
Konstantin Isakov 6f205a5d13 *! Use our own custom isDslWs() function to do whitespace checks for Dsl
content, since this must never be locale- or os-specific -- rather than
   that, it is set only by the official Dsl compiler software. Besides,
   not all OS/runtimes/versions actually have iswblank() function at all.
2009-04-17 22:29:06 +00:00
Konstantin Isakov 5d8aa29a97 + Add missing libraries. Why were they missing is a subversion mystery. 2009-04-17 18:25:53 +00:00
Konstantin Isakov f07030deba - Drop convertChainToWstrings(), it's not used anymore. 2009-04-17 14:09:53 +00:00
Konstantin Isakov 629a138f7e + Dictionary::stemmedMatch() added, and is now used for word suggestions when
no translations were found.
2009-04-17 13:51:50 +00:00
Konstantin Isakov 3d41751636 + Precompiled third-party libraries and their headers added for Windows
targets.
2009-04-17 12:02:50 +00:00
Konstantin Isakov c79e91d8a3 * Make all requests work asyncronously for Dsl, Bgl and Stardict file formats. 2009-04-16 11:33:12 +00:00
Konstantin Isakov 273429efe1 *! Limit the amount of items shown in the TOC of context menu to 20 maximum,
so they don't overwhelm everything.
2009-04-14 18:35:27 +00:00
Konstantin Isakov 32fe5dff9e * A lot of changes aimed to make lookups faster and to reduce startup times. 2009-04-14 16:35:47 +00:00
Konstantin Isakov 68c5c73b37 * Fasten up loading times by opening Babylon file only when indexing it. 2009-04-14 13:25:16 +00:00
Konstantin Isakov 1c2e28159c *! Fix proxy problems by constructing it with the right type from the start.
Squid now works.
2009-04-13 17:31:05 +00:00
Konstantin Isakov 5e7f41a64e + Options to open tabs in background and open tabs after the current one added. 2009-04-13 12:51:25 +00:00
Konstantin Isakov 92280c0534 *! Fix ExternalViewer crashing when the tab which spawned it gets closed while
it's still running.
2009-04-12 23:53:13 +00:00
Konstantin Isakov 8162a662b6 *! Decode the encoded url correctly for auto-pronounce feature. 2009-04-12 23:07:45 +00:00
Konstantin Isakov efcb495165 * Instead of clearing the translation line when pressing Esc, we merely
select all its text. This allows both making new query or refining
  the old one easily.
2009-04-12 22:36:47 +00:00
Konstantin Isakov 181e4e155c * Capitalize 'Morphology' in Russian translation. 2009-04-12 22:23:25 +00:00
Konstantin Isakov 61888beb2b * The program version is now propagated to the program; and it now ends up
showed in the About dialog.
2009-04-12 22:02:15 +00:00
Konstantin Isakov 14ed53ac65 * Better Russian translations for Sound dirs. 2009-04-12 20:55:02 +00:00
Konstantin Isakov 11bc46b7af + Implemented the ability to change program's language.
* Russian translation updated to include new strings, others were fixed
  a bit.
2009-04-12 20:46:25 +00:00
Konstantin Isakov ce365f386b * Russian translation updated.
* Basic support for translations added, along with the changes necessary to
  accommodate to it.
2009-04-12 19:41:58 +00:00
Konstantin Isakov ff19ae1fbb + Added Russian translation file (by Andrey Cherepanov, courtesy of ALT Linux) 2009-04-12 16:48:40 +00:00
Konstantin Isakov 654057b94d +! Under Windows, hide the audio playback program's label too. 2009-04-12 16:34:04 +00:00
Konstantin Isakov 1160e742cb + Add 'table of contents' navigation into the right-button mouse menu. 2009-04-12 16:22:42 +00:00
Konstantin Isakov e55826463d + Add escapeForJavaScript() function, to be used later. 2009-04-12 11:28:56 +00:00
Konstantin Isakov 744b02c217 *! Switch to QUrl for url encoding for better escaping. 2009-04-12 11:27:43 +00:00
Konstantin Isakov 1f3580f03d *! Revert back to load() from setUrl(), since it turned out the latter didn't
support saving scroll positions when going back and forth.
2009-04-11 20:37:11 +00:00
Konstantin Isakov 4e30ba7778 + The ability to press scan popup modifiers shortly after the selection was
made added.
2009-04-11 16:44:14 +00:00
Konstantin Isakov 6c36e5db45 *! Use binary mode for reading dictd index files under Windows. 2009-04-11 14:02:31 +00:00
Konstantin Isakov ed2876d7b2 *! Properly escape all ampersands in tab names. 2009-04-10 21:37:16 +00:00
Konstantin Isakov 7ea278db55 * Rework the Preferences UI to use tabbed interface. 2009-04-10 21:23:27 +00:00
Konstantin Isakov c7126a0281 + Ability to play the first audio reference by clicking on the 'Pronounce word'
button in main window or in scan popup added. It is also possible to
  configure the program to do that automatically.
+ It is now possible to specify which program to use for audio file playback.
2009-04-10 21:07:03 +00:00
Konstantin Isakov 3cafe23d3a * Clean up scanpopup a bit by removing diacritic and prefix matches lists,
replacing them by a simple list of matches, limited to 20 first items.
2009-04-10 15:52:08 +00:00
Konstantin Isakov aeaad6ad80 + Introduce a delay before hiding the window after the mouse had left the
window for the scan popup, allowing the mouse to come back shortly.
2009-04-10 13:56:38 +00:00
Konstantin Isakov 03736c2193 * Give groups numerical ids and switch to use them everywhere instead of names
to identify them.
2009-04-10 12:48:40 +00:00
Konstantin Isakov 118034beb8 * For popup, trim both whitespace and punctuation for the input word. 2009-04-09 23:33:37 +00:00
Konstantin Isakov 94570b5430 *! Better regexp for stem selection from the analysis results. 2009-04-09 23:16:07 +00:00
Konstantin Isakov 625e4988ec + Add add/close/next/prev tab keyboard shortcuts (Ctrl-T, Ctrl-W, Ctrl-PageDn, Ctrl-PageUp). 2009-04-09 22:11:38 +00:00
Konstantin Isakov e41ad3126b + Sort prefix matches by their lengths, the smaller the better. 2009-04-09 22:09:38 +00:00
Konstantin Isakov 32b7e9f9c8 +! Add a space between the language and its dialect names. 2009-04-09 22:07:02 +00:00
Konstantin Isakov 55749e23c2 + On Linux, add standard dictd path to the default config if it exists. 2009-04-09 19:03:28 +00:00
Konstantin Isakov bd3563fcea * Switch to Html::preformat() from the use of the <pre> tag for 'm'- and l'-
typed StarDict articles. This makes those articles wrap.
2009-04-09 18:58:40 +00:00
Konstantin Isakov 9df2db4011 + Support for dictd files (.index/.dict(.dz)) added, among with other small
accompanying changes.
2009-04-09 18:50:49 +00:00
Konstantin Isakov ccd235e9c3 + If a word is known by a spellchecker, it now shows up in the word search
results. To signify that it's merely a morphological match, it is shown in
  italic, unless it was also returned by other dictionaries.
2009-04-09 15:27:34 +00:00
Konstantin Isakov b7bdc65a57 + Hunspell-based morphology added. 2009-04-09 14:15:01 +00:00
Konstantin Isakov da663b426b +! Require "word" parameter to be passed to gdlookup:// requests, thus
skipping some erroneous empty requests from underparsed wikipedia articles.
2009-04-09 11:35:45 +00:00
Konstantin Isakov fb27328334 + Pressing Esc clears the translation line and gives it keyboard focus. 2009-04-08 22:25:46 +00:00
Konstantin Isakov 01a0ee113c + Add fullcase folding phase when ranking words in wordFinder.
+ Add Folding::trimWhitespaceOrPunct() function, which will be used later.
2009-04-08 21:22:50 +00:00
Konstantin Isakov 41b312074c + Folding algoritms now incorporate punctuation and whitespace folding.
+ When headwords contain multiple words, each of them is indexed now.
+ Wordfinder now employs an intelligent, rank-based sorting algoritm.
2009-04-08 16:02:12 +00:00
Konstantin Isakov 2fd495677c *! A quick fix for 'duplicate case value' due to short wchar under Windows. 2009-04-07 22:22:32 +00:00
Konstantin Isakov 59433a6750 *! Another missing include added for Fedora build to succeed. 2009-04-04 23:02:58 +00:00
Konstantin Isakov c632d72e77 * Make 'Sound Dirs' description arguably more simple. 2009-04-04 22:11:22 +00:00
Konstantin Isakov fb00a5bedf +! #include <stdint.h>, should fix build problems on some systems. 2009-04-04 21:31:14 +00:00
Konstantin Isakov 107c75ce3c + When making the default config file, try the usual places for StarDict's
WyabdcRealPeopleTTS and add it as a SoundDir if it's there.
2009-04-04 19:20:09 +00:00
Konstantin Isakov b7bb7895bf *! Fixed a bug where leading blanks in a filename would hang the program
while determining the corresponding file type.
2009-04-04 16:32:40 +00:00
Konstantin Isakov 8c1ac1a2fb + Support for Sound Dirs (arbitrary dirs full of audio files) added. 2009-04-04 16:06:06 +00:00
Konstantin Isakov 21332f57b0 *! Spelling fix: Russain->Russian Wiktionary. Sorry dudes. 2009-04-04 12:18:54 +00:00
Konstantin Isakov edeff037fc + Add most popular default path for StarDict dictionaries on Windows to the
list of paths if it exists.
2009-04-03 23:40:39 +00:00
Konstantin Isakov 2c72f45625 +! Add support for clipboard copying operations in article views. 2009-04-03 21:57:23 +00:00
Konstantin Isakov 129e922138 + Save main window's state and geometry on exit and restore it back on
startup.
2009-04-03 21:24:07 +00:00
Konstantin Isakov 6f20c0ffa7 *! Fix bad indices generation on 64-bit systems. 2009-04-03 20:03:18 +00:00
Konstantin Isakov 2fbb7d9895 + Proxy server configuration is now supported. 2009-04-03 17:10:27 +00:00
Konstantin Isakov 3bbae73093 +! Add support for UTF16 surrogate pairs in a Dsl reader. 2009-04-03 14:04:56 +00:00
Konstantin Isakov 3bb9df7a4c - Deactivate forced coredumps. 2009-04-03 12:53:35 +00:00
Konstantin Isakov 741a2042b7 *! progam->program spelling fix. Thanks to Vladimir Dolzhenko. 2009-04-02 19:11:54 +00:00
Konstantin Isakov b2ddf5f2b1 *! When replacing wiki links' underscores with spaces, don't replace them
in fragment ids (after the # in url).
2009-04-01 18:59:31 +00:00
Konstantin Isakov 594f4dd2d0 * Use a better regexp for matching and removing underscores from wiki links.
This one works for any written language.
2009-04-01 12:23:16 +00:00
Konstantin Isakov c32a12afb9 + Make groups resistant to losing dictionaries when they got moved or
otherwise change their ids by saving their names, too, and falling back to
  matching each group dictionary against name instead of id when no ids match.
2009-04-01 12:00:28 +00:00
Konstantin Isakov 4a99ce281f + Allow navigating down to the word list from the translation line and back
by pressing Down or Up keys, respectively.
* Pressing Enter on the translation line directly translates what is typed
  there now, irrespectively of whether there are any word matches or not.
2009-03-29 17:38:54 +00:00
Konstantin Isakov 9539e1557d * Bump the version number up to 0.7 2009-03-29 13:44:18 +00:00
Konstantin Isakov 9e40b9f7a7 * Change default preferences to provide more features by default.
! Fix a bug where closeToTray field wasn't initialized.
2009-03-29 13:43:37 +00:00
Konstantin Isakov 9ae4e57bb8 + Show the 'wait' message when loading dictionaries and the main window is
shown.
+ Propagate and display any exception happened while loading dictionaries.
2009-03-29 13:34:39 +00:00
Konstantin Isakov 66fb8b51c1 * Update intro text with regard to the fact that paths can now be recursive. 2009-03-29 12:26:54 +00:00
Konstantin Isakov 31a06ade12 + Paths can now be optionally set as recursive. 2009-03-28 22:37:03 +00:00
Konstantin Isakov 0bf68b6883 * Do not react on item activation in wordList, since item selection changing
is fully enough. They were interfering badly, causing double-reloads and
  sometimes even pagefaults somewhere inside webkit.
2009-03-28 17:19:54 +00:00
Konstantin Isakov 3c4f8830d8 + Open resource zipfile on construction of .dsl and use it thoughout all of its
lifespan to read resources from it. Turns out, opening zipfile is the slowest
  part, so we save on this by doing it only once.
2009-03-28 17:16:12 +00:00
Konstantin Isakov cb85c1981d +! When rendering an article, check whether the sound is present in a zipfile
or not when deciding if to insert a search audio link or a direct one.
2009-03-28 16:16:56 +00:00
Konstantin Isakov 02fac7263e * Load .dsl resources asyncronously -- they don't even have any shared
structures.
2009-03-28 16:06:00 +00:00
Konstantin Isakov 517c58b695 * Cancel the corresponding dictionary request upon the network request
destruction.
2009-03-28 15:59:39 +00:00
Konstantin Isakov 3523031a6d + Support for .dsl resources contained in a .zip file named dictname.files.zip.
libzip is therefore a dependency now.
2009-03-28 12:35:52 +00:00
Konstantin Isakov e0911e999b * When creating new config under Linux, add all /usr/share/stardict/dic
subdirs to the list of dirs.
+ Populate mediawikis list (but don't enable any) when upgrading config.
2009-03-27 10:48:44 +00:00
Konstantin Isakov 65da954da2 * Switch to use Qt's own hashing support instead of having our own private Md5
implementation.
2009-03-26 19:15:00 +00:00
Konstantin Isakov 7859daaff6 * Major dictionary interface rework. Dictionaries now return Request objects
which can provide results asyncronously, be discarded prematurely etc. This
  work touches just about every piece of exiting code.
+ On top of the new interface, MediaWiki (Wikipedia) support was added.
* Some other small fixes might went along.
2009-03-26 19:00:08 +00:00
Konstantin Isakov b2b9798663 + a "noResults" property style option added for translateLine 2009-03-26 16:37:00 +00:00
Konstantin Isakov 10e4caa8e1 + Wikipedia stylesheet data added
+ gderrordesc style description added
2009-03-26 16:35:49 +00:00
Konstantin Isakov b151013c35 + Add a wiki icon flag. 2009-03-26 15:44:15 +00:00
Konstantin Isakov ef68f7a93c * Use correct transform from local 8-bit filename encoding to QString
(this caused some files to being reindexed each time).
2009-02-09 22:49:44 +00:00
Konstantin Isakov 27f5e814f7 * "the each"->"each" 2009-02-09 19:39:58 +00:00
Konstantin Isakov 96215766c8 * Don't use documentMode under Windows since we're having some problems with
the definition frame.
2009-02-09 01:08:52 +00:00
Konstantin Isakov 0dfc699a30 * Rework the way temporary files are handled so they'd work under Windows
without locking issues.
2009-02-08 21:54:19 +00:00
Konstantin Isakov 050a989da8 * reading->ready typo fixed. 2009-02-08 21:32:33 +00:00
Konstantin Isakov 2264df6716 * Hide groups combobox when there are no groups in scan popup window. 2009-02-08 21:26:35 +00:00
Konstantin Isakov 956b7cfaee * Add minimize button to the "Initialing" window. 2009-02-08 21:03:36 +00:00
Konstantin Isakov c12aa385f8 * Make the "initializing" dialog non-closable. 2009-02-08 20:55:28 +00:00
Konstantin Isakov 9b1816d887 Use larger-sized image for the program icon. 2009-02-08 20:29:23 +00:00
Konstantin Isakov 5068b3b8f3 + Scan popup can now be turned on and off.
+ Tray icon context menu implemented.
2009-02-08 20:20:02 +00:00
Konstantin Isakov 00ac1e235c + Add some initial welcome text and help. 2009-02-08 18:35:29 +00:00
Konstantin Isakov cbd2577225 * GPL->GNU GPL 2009-02-08 18:34:48 +00:00
Konstantin Isakov 62cb2479ed * The default stylesheets are now embedded into the program itself. It is
still possible to amend them by creating external ones, though.
2009-02-08 17:21:46 +00:00
Konstantin Isakov 2f27e8d9e6 + Indicate that the user should be anticipating the result when scan popup
is searching for the translation.
2009-02-08 16:50:18 +00:00
Konstantin Isakov c23e1351f4 + Smart placement of the popup window implemented. 2009-02-08 16:35:30 +00:00
Konstantin Isakov d32fd02217 + Implement "in new tab" context menu choices in article view. 2009-02-08 15:49:17 +00:00
Konstantin Isakov 71c736f35f Use desktop services to open all types of files but the audio ones. 2009-02-08 14:40:26 +00:00
Konstantin Isakov e3bb365473 * Only use PlaySound for "gdau" links (Windows only) 2009-02-08 14:09:39 +00:00
Konstantin Isakov d917ae8896 + Help menu implemented.
+ Translations are shown whenever user presses enter or clicks a word in list.
2009-02-08 14:02:27 +00:00
Konstantin Isakov 61943519c1 * Make the popup window itself be movable; fix the associated with the gripping
and moving problems.
2009-02-06 18:43:07 +00:00
Konstantin Isakov 12c49065e5 * Quiet the dictionary.hh warnings. 2009-02-06 18:38:19 +00:00
Konstantin Isakov 79901d0414 + Save the popup size across program restarts. 2009-02-06 17:16:33 +00:00
Konstantin Isakov abc6d30d7c + Implement saving and restoring of the last chosen groups. 2009-02-06 17:04:11 +00:00
Konstantin Isakov 8e43a81592 * Make "search" audio links be bound by the current group. 2009-02-06 16:19:05 +00:00
Konstantin Isakov c2977cf9a1 + Support for sound playback under Windows added (limited to .wavs though). 2009-02-06 15:37:37 +00:00
Konstantin Isakov 2fa0c3b57b * Popup now autohides in Windows normally. 2009-02-06 13:05:25 +00:00
Konstantin Isakov 9789b3892c Added an icon to the Windows executable. 2009-02-06 11:54:27 +00:00
Konstantin Isakov 5d5a393265 + Basic preferences and their editing added.
+ Basic tray icon support added.
+ Program icon added (one of the Qt Linguist icons, actually).
2009-02-05 20:55:00 +00:00
Konstantin Isakov bbc9901cce Fix the enum definition. 2009-02-05 17:09:34 +00:00
Konstantin Isakov cbfa6d2f74 Support for testing key modifiers under Windows added. The default modifier key
in Windows build is Ctrl now.
2009-02-05 16:56:57 +00:00
Konstantin Isakov 4bae99aeb5 Mass-update email to point to a @berlios one. 2009-02-05 14:21:47 +00:00
Konstantin Isakov 626934c0cc Initial support for mouseover feature in Windows added. 2009-02-02 20:28:53 +00:00
Konstantin Isakov 3f245cb58a Support for ETO_GLYPH_INDEX in ExtTextOutW() function added. This makes
Firefox 3 work.
2009-02-02 20:24:25 +00:00
Konstantin Isakov 18b355cda3 Win32-specific mouseover dll sources added, taken directly from StarDict
codebase with minimal modifications.
2009-02-02 19:26:39 +00:00
Konstantin Isakov 1a5a4daa52 When searching for resource files, allow them to be not only in the dictionary
directory, but also in the dictionary-name.files/ subdirectory.
2009-02-02 15:02:57 +00:00
Konstantin Isakov e9799ba248 FsEncoding has got a basename() function. The Lsa module now uses it instead
of the system/local one. The implementation of FsEncoding::dirname() was also
changed to stop relying on the system version.
2009-02-02 15:01:48 +00:00
Konstantin Isakov 4c29464c09 Windows-specific build directives added. 2009-02-02 01:35:19 +00:00
Konstantin Isakov b675289f68 Provide local implementation of the GNU variant of basename() under Windows. 2009-02-02 01:18:21 +00:00
Konstantin Isakov 13d0637357 Provide local implementation of wcscasecmp() under Windows, where it's non-
existent.
2009-02-02 01:10:16 +00:00
Konstantin Isakov 9f41c3304a Adopt to a different prototype of the iconv() function under Windows. 2009-02-02 01:04:39 +00:00
Konstantin Isakov 8c71d4e4a1 Convert Qt's paths to native separators. This ensures normal work of native
file access functions under Windows.
2009-02-02 01:01:28 +00:00
Konstantin Isakov 49abfcbb10 Fix compilation under Win32. 2009-02-02 00:59:14 +00:00
Konstantin Isakov 33a2c8f705 Our own local, locale-independent version of isspace() is introduced and is
now used to handle utf8 strings. This fixes problems where the stock function
was mangling some utf8 strings under Windows.
2009-02-02 00:56:58 +00:00
Konstantin Isakov c8406798af Add missing "b" flag to read the resource files under Windows correctly. 2009-02-02 00:52:54 +00:00
Konstantin Isakov 360a1001c0 Win32 support added. 2009-02-02 00:44:38 +00:00
Konstantin Isakov 89c2e3318d Saner choice for the frameless window type; no more window activating which
used to unnecessarily steal focus.
2009-02-01 05:15:25 +00:00
Konstantin Isakov f31693dac9 Ctrl was not the best choice -- use Win instead. 2009-02-01 04:47:34 +00:00
Konstantin Isakov 2be1c2b375 Scan popup functionality implemented, among with other small improvements.
For now, the modifier key is hardcoded to be Ctrl.
2009-02-01 00:08:08 +00:00
Konstantin Isakov 2e8cb955c8 Applied a patch from Heinz van Saanen to fix several missing #includes. 2009-01-30 01:20:37 +00:00
Konstantin Isakov faeacaff3e Implement asyncronous word finding. 2009-01-29 19:16:25 +00:00
Konstantin Isakov 17b90a3cca Typos fixed. 2009-01-29 16:37:29 +00:00
Konstantin Isakov eb3cb3656d Disable the noisy unfinished popup window. 2009-01-29 01:17:59 +00:00
Konstantin Isakov c05781368b Created /trunk/src and moved everything there. 2009-01-28 20:55:45 +00:00