Age | Commit message (Collapse) | Author |
|
|
|
I had reserved the last spot for "Add new theme/alphabet", but
then abandoned that feature for v1. But forgot to rip out the
code handling it.
Bump version number to 1.0.1.
|
|
* Windows installer now set up to use MSVC redistributables, not
MinGW ones.
* The Board popup's "Edit..." button should be disabled when the
popup is empty (i.e., the only choice is to add one, which is
in the popup).
|
|
|
|
|
|
Windows build uncovered a bad assumption about QTextStream
supporting atEnd(), and the stream needed to be explicitly set to
UTF-8.
|
|
|
|
|
|
So, basically, the dictionary is queried to see if it's
"English-like". Which is to say that it uses the same
alphabet. If so, then it will fall back to use twl06
strategies, minus the superleaves (the so-called
"default_english"). Otherwise, it uses "default" strategies,
which right now is simply a worths file that sets the
blank to be 30.
It's not great. But better than before.
|
|
I wanted to throw this in a background thread, and I
will, but for now, we need to get something out the
door, and this seems sensible anyway.
Couple of other bug fixes...
* Add a copyright.
* Popup menu says "Add new lexica..." but should say
"Add new lexicon...".
* Copyrights were refusing to wordwrap, thus forcing
the settings pane to be wide.
|
|
* Start using g++ 4.8 and clang.
* Fix missing -std=c++11 flags.
* Builds which failed torched remaining builds, which meant more iteration.
Now, they recover and continue correctly.
* Remove some clang compiler warnings generated by Qt files out of my control.
|
|
|
|
|
|
|
|
* All dictionaries are now in v1 DAWG format.
* Three corrupt dictionaries were removed.
* Implement a way to tag dictionaries for copyright purposes.
* CSW15 is now a thing.
|
|
* Fix a number of remaining bugs in the lexicon dialog.
* Fix an error reading the v1 DAWG.
* Improve the word counting mechanism.
* Make sure the lexicn dialog properly selects and loads
its dictionary after it's done.
* Implement deleting of user dictionaries.
* Clean up dictionary info text in lexicon dialog.
* Disable gaddag generation...still have to fix that up
to happen at sensible times and with user notification.
|
|
Get enables and disables right, efficient computation
of word counts, etc.
|
|
Now prints better stats. Now loads the
dictionary you're editing. Now disables the
Delete button at appropriate times.
|
|
Words are loaded and hashed. Duplicates are
discovered. Alphabets are dealt with. Merging
of multiple word lists works. This is good stuff.
Saving the resulting dictionaries has not been
tried, yet, and the gui code for saving needs to
be finished off, yet.
|
|
|
|
V1 DAWGs now include an alphabet.
Begin creating DAWGs which extend other DAWGs.
In general, laying the groundwork for plain text import
to DAWG.
|
|
The 'crosses' code for checking "fit between" plays was
using a 32-bit integer as a bitfield. Now it's using C++
bitfields (including the C++11 all() operation...hopefully
that doesn't cause any problems).
This removes another place in the code that was limiting
alphabets to 32 letters.
|
|
Need to add a user interface, but gaddags are now
auto-generated if they can't be found.
Some specific improvements here:
* FixedLengthString gained a pop_back member.
* Add code to allow v1 gaddags and v0 dawgs to work
together.
* Change memory allocation of dawgs and gaddags to
be dynamic (the old limit didn't accommodate the
ridiculously large Polish dictionary in the gaddag)
* The Settings class now knows a bit about generating
gaddags. This will be important for giving UI feedback.
* Fixed several places using filenames which should be
using string, not UVString.
* Dawg/GaddagFactory should have been using
UVString, not QString. My misunderstanding.
|
|
|
|
Basically the same thing I just did to the DAWG files,
now done to GADDAGs. Also, add hashing, and
make sure GADDAGs only load if their hash matches
that of the DAWG files.
|
|
Should be UTF8. Thanks to Vlado Makys for pointing
this out.
|
|
Make reader and writer for the new format, while
maintaing compatibility with the old. Things to
note of the new format...
* Now has a header, with version number, MD5, and word count.
* No longer has terminator bit. Nodes are terminated by
a non-zero playability.
* Which means letters have one more bit. So we can now
support more than 32 letters. Important for Slovak alphabet.
Also, various cleanups and refactorings.
|
|
If we're going to start writing these into user directories,
then we'd better start versioning them so we don't end
up generating bugs in the future.
LexiconParameters::loadDawg() implements a tiny
class factory which allows backward compatibility
of DAWGs. I'll soon be adding a "version 1" in
addition to the legacy "version 0". For now, version 1
is just dummied in.
|
|
|
|
Same thing I just did for the gaddag code I'm now doing
for the dawg code. While I was at it, I made some
improvements to the dawg code...
* Instead of adding multiple cross-checks for various
kinds of node metadata, there's now only one cross-
check...a hash applied to each node.
* Some useless variables/members have been excised.
* Add ability to do a word count (cryptohash coming soon).
* Make it possible to call generate() and writeIndex()
multiple times without corrupting the dictionary.
|
|
A few things from my last commit needed to be
fixed or improved.
|
|
Prepping to build the gaddag maker into the quacker ui.
Built a new class called GaddagFactory to do this and
cleaned up the code a bit.
makegaddag still builds exactly as it did before.
|
|
|
|
Moved Settings::populateComboFromFileNames() to be a
static method, then invoked it from the lexicon dialog.
|
|
* Files can now be loaded from user directory as well
as app directory.
* Edit lexicon dialog has been added, and pretty much
all of the GUI elements framed out. Not actually
implemented, yet.
* Embiggen the board configuration dialog.
* Some bits of code refactoring.
|
|
Delete functionality is now inside of the edit dialog.
Which will make things less messy when other
edit dialogs are introduced.
|
|
|
|
* Fix compiler warnings
* Add Visual Studio 2013 solution
* Tweak .pro files
* Most importantly, rename main 'quackle' project to
'libquackle' to avoid solution-level name conflict. This
only affects the VS build.
|
|
|
|
This allows Quackle to respond to system file open
events. So, if .gcg is associated with Quackle, then
double-clicking a .gcg file will now make it open in
Quackle (whether it's running or not). And drag and
drop, etc.
This definitely fixes issues trying to open files with
double-click on Mac. Windows doesn't have the
.gcg association set up yet, so code is untested
there, but it should be platform independent.
|
|
This fixes the various issues with needing to
code-sign data files. And simplifies the process
of building and preparing to code sign considerably.
|
|
|
|
|
|
|
|
|
|
|
|
Which requires a bunch of craziness to ease the process of
code-signing.
|
|
|
|
|
|
|