Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Qt6 complains about the versions of the static function signatures
we’re using for generating various QMessageBoxes.
Except for the “Show plaintext board” dialog, which seems to
be having some “special” issues in Qt6.
|
|
|
|
That was super painful. It seems that some of the Quackle types that
have custom operator==() give fits to the MOC compiler when those
types are used as arguments for slots and/or signals (or maybe it's
only when they're connected in a certain way...frankly, I never did
figure this out precisely to my satisfaction). The compilers provide
very little help in resolving this problem.
Once I understood the problem, VS22 was giving me just the tiniest
morsel, enough that I could hunt down the offending slot/signal
(it wasn't even giving me the name of the slot/signal...just the type
it was trying to use). I've changed all offending functions to use
const pointers to types instead of const references, and this makes
Qt happy.
I couldn't find any info on the web directly about this, but here's
the closest I did find, which suggests that this is related to
increased functionality in Qt6 regarding reflection.
https://forum.qt.io/topic/141434/
This fixes my VC++22 x86-64 build. Hopefully it fixes all of the
others, too.
|
|
* Remove all uses of `using namespace std` from header files (although a
few specific cases of things like `using std::vector` remain)
* Move all existing uses of `using namespace std` in cpp files to after the
header includes
* Make coordinating changes so it builds again.
Qt6 builds on Windows were breaking because of namespace collision between
std::byte and some version of `byte` in one of Qt's namespaces. That breakage
is now fixed.
It would be good to systematically clean up all `using` declarations in header
files to ensure nothing is leaking out, but that's for another time.
|
|
QTextStream::setCodec() is no longer a thing in Qt6. Most of
our call are to set the codec to UTF-8, which happens to be the
default encoding in Qt6. So make a macro so this can compile
in both Qt5 and Qt6.
|
|
Some of the signals we’re using aren’t supported or working
in Qt 6. Refactor for things that are working and
documented.
|
|
|
|
* Replace std::random_shuffle() with std::shuffle().
* Populate switch statements which were checking the
Move enums, but not Move::PlaceError.
* endl -> Qt::endl for QTextStream usage.
* QString::SkipEmptyParts -> Qt::SkipEmptyParts
* QLabel::pixmap() now takes Qt::ReturnByValue
* Use QElapsedTimer where appropriate.
|
|
If a play was made from tiles not on the rack, it brings up the
"Verify Play" dialog, to which one of the options is to cancel the
play. But canceling the play didn't work. Now it does.
|
|
Rereleasing with just a couple of bug fixes, and may need to be able
to tell the difference between releases in the wild.
|
|
Mostly signed/unsigned/size_t mismatches, except for one
case treating a bool as an integer.
|
|
Most are Qt4-isms, except where noted.
* Replaced QFontMetrics::width with QFontMetrics::horizontalAdvance,
conditionally as the latter wasn't even introduced until Qt 5.11.
* QColor::light and dark instead of QColor::light and dark.
* QString() instead of QString::null.
* std::sort instead of qSort
* QTreeWidgetItem::setSelected instead of QTreeWidget::setItemSelected.
* QFileDialog::setOption(QFileDialog::DontConfirmOverwrite) instead
of QFileDialog::setConfirmOverwrite(false).
* QDrag::exec instead of QDrag::start.
|
|
Re-sort copyrights so newer ones show up first.
Exclude copyright.txt lines from about box if they don't have
an actual copyright.
|
|
Add NASPA logo for its dictionaries.
Add a separator between settings and copyright for clarity.
Tighten up vertical spacing in the settings panel.
|
|
|
|
Also, extend copyright to 2019.
|
|
When going back to edit history, typing a
phoney correctly brought up a dialog, but
indicating you wanted to cancel the phoney
play didn't stop the play from going down,
or a subsequent computer player from making
its play.
|
|
|
|
|
|
|
|
Start Championship Player, then exit while
the player is still thinking could crash.
|
|
|
|
|
|
Now builds on Qt 5.9.1, and works on Mac, Windows, Linux.
|
|
Port quackle to Qt 5.5
|
|
|
|
Also, fix a typo and remove dead code.
|
|
When the message box that says you made a play which uses tiles
not on your rack comes up, it now has a third option...switch to
player with unknown tiles. So, you'll get this message box at
most once per player if you choose that option.
|
|
|
|
Found a crash where you enter "ex 4" twice,
and it would crash. This led me to look up
how this was implemented, and it wasn't
very robust. It also didn't save properly in
the GCG. So I created a new move type
which I called a BlindExchange and implemented
it throughout the system.
|
|
A checkbox in the preferences dialog now allows
you to configure Quackle so that plays with illegal
words which are left unchallenged score zero.
Obviously, off by default. But useful for entering
games as part of the Marty Gabriel/Scott Garner
world record scoring attempt. This is apparently
what the Guinness folks are looking for.
|
|
A few character encoding things that had still been
missed, and preliminary support for
#character-encoding in GCG files.
|
|
Okay...I think this fixes all file streams to be UTF-8 except
for GCGs, which require less trivial effort.
|
|
|
|
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.
|