summaryrefslogtreecommitdiff
path: root/quacker
AgeCommit message (Collapse)Author
2023-07-16Make UTF8-encoding of QTextStream work in Qt5 and 6.John Fultz
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.
2023-07-16QRegEx -> QRegularExpressionJohn Fultz
I think these changes would still be fine in Qt5, but are required for Qt6. Also DataLocation was deprecated in v6, AppLocalDataLocation is the same for both Qt5 and Qt6.
2023-07-16More Qt6-ish things that were probably a bad idea even in Qt5.John Fultz
2023-07-16Fix up some Qt signals.John Fultz
Some of the signals we’re using aren’t supported or working in Qt 6. Refactor for things that are working and documented.
2020-07-23Remove obsolete bullet point from "Helpful Hints" message box.John Fultz
2020-06-18A few miscellaneous typo fixesOliver Galvin
2020-06-17Xcode compiler warnings.John Fultz
* 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.
2019-08-11Fix devicePixelRatios on tile pixmap after dragging it.John Fultz
Apparently, when you serialize a pixmap through a QDataStream(), it loses track of its devicePixelRatio setting. End rule was that if, on a HiDpi screen, you dragged and dropped a tile within the rack, you'd get a tile that was larger than it should have been by a factor of the default pixel ratio. Solution is to simply reapply the pixel ratio to the newly created Pixmap after deserializing it in the drag-drop code.
2019-08-11Fix "Verify Play" dialog.John Fultz
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.
2019-08-06Fix cmake plist.John Fultz
2019-07-28Update version to 1.0.4.1.John Fultz
Rereleasing with just a couple of bug fixes, and may need to be able to tell the difference between releases in the wild.
2019-07-28Fix #87, make tiles high-res on HiDpi screens.John Fultz
QPixmap is still in actual pixels, so it needs to be created at devicePixelRatio() times its present size, in addition to having its own devicePixelRatio() set.
2019-07-22Fix cmake build to build Windows as Win32, not a console app.John Fultz
2019-07-22Fix .icns file.John Fultz
Also, fix cmake macOS build to configure the icon.
2019-07-21Throw a version check around HiDPI attribute...which was only introduced in ↵John Fultz
Qt 5.6.
2019-07-21Remove address sanitizer from cmake.John Fultz
I may add it back later as an option.
2019-07-21Add support for screen scaling under Windows/Linux.John Fultz
Seems that, unless you tell it to specifically, Qt insists on dealing with physical pixels instead of screen-scaled coordinates. So, i.e., on my 200%-scaled HiDpi display, everything was looking pretty small.
2019-07-21Visual C++ compiler warning fixes.John Fultz
Mostly signed/unsigned/size_t mismatches, except for one case treating a bool as an integer.
2019-07-19Add CSW19 dictionary.John Fultz
Also, rename cswapr07 to csw07 (I think enough years have passed that the need to distinguish the "April update" has passed... but I nonetheless mention it in the copyrights file).
2019-07-19First cut of a cmake build.John Fultz
Building on macOS right now. cmake will soon replace qmake as the supported build system. Some notes about the implementation: * libquackle and libquackleio can be separately built as before. * quacker still links to the static libraries for libquackle and libquackleio, but quacker's cmake file includes those projects, which means everything builds at once. No more need to run separate builds of everything to get a GUI. And debugging is easier now that the libraries are incorporated into the quacker project. * I tried to get cmake to build the macOS app bundle, but cmake is unable, by conventional means, to build a non-flat Resources directory (which many people have complained about). Right now, the default build just builds the binary, and you have to run it from the command-line. But -DBUNDLE=ON will build a shell of a bundle. It won't work, but I intend to create an Xcode project from it for building the bundle, to make it easier for me to deliver a code-signed and notarized app bundle. * I've got CMakeLists.txt files for the resources, but they're not really doing anything right now. Maybe later. * Minimum macOS version for the cmake build is 10.10.
2019-07-19Update copyright in plist.John Fultz
2019-07-19Fix deprecation errors for Qt 5.13.John Fultz
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.
2019-05-06About box fixes.John Fultz
Re-sort copyrights so newer ones show up first. Exclude copyright.txt lines from about box if they don't have an actual copyright.
2019-05-06Add ability to include logo in copyrights.txt.John Fultz
Add NASPA logo for its dictionaries. Add a separator between settings and copyright for clarity. Tighten up vertical spacing in the settings panel.
2019-05-06Update copyright in about box.John Fultz
2019-03-21Licensing, copyright text changes.John Fultz
2019-02-04After discussion with Jason/John, add myself as a copyright holder.John Fultz
Also, extend copyright to 2019.
2019-02-03fix for passing an argument to setGlobalCandidateMartin DeMello
2019-01-14Fix icon for Xcode >=9 macOS build.John Fultz
Xcode now wants an asset catalog thing with proper .png files rather than a .icns thing. Bits shuffled accordingly. Also, higher res icon. Slightly different design. Only on Mac for now. Also, move minimum macOS to 10.9. Also fix 1.0.4 update versioning oversight.
2019-01-14Fix #21, committing a phoney cannot be canceled.John Fultz
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.
2019-01-14Fix infinite loop if you give all players the same name.John Fultz
2019-01-14Remove player name from rack label text.John Fultz
The player name in the label in the rack text was being updated after every play. Not unreasonable, but this was the principle cause for layout elements bouncing horizontally across the window when plays alternated. So, now, it just has the fixed text "Rack:".
2019-01-13Add a separator above "Simulation" group box to break up the GUI better.John Fultz
2019-01-13C++11-style iterators in quacker sources.John Fultz
2019-01-13Fix potential crash on exit.John Fultz
Start Championship Player, then exit while the player is still thinking could crash.
2017-08-10Add OS X builds to Travis-CI.John Fultz
Also, add a bit of parallelization, do a few other cleanups on the yml and .pro files. And push C++14 flags everywhere into the build system.
2017-08-09Prevent console warnings re missing [*] in window titles.John Fultz
2017-08-02Bump version number to 1.0.4.John Fultz
2017-08-02More Qt5 changes and cleanups.John Fultz
Now builds on Qt 5.9.1, and works on Mac, Windows, Linux.
2017-08-02Merge pull request #37 from gokceneraslan/qt55John Fultz
Port quackle to Qt 5.5
2016-08-03Bump version to 1.0.3.John Fultz
2016-08-02Fixes to allow bad endgames to be loaded from GCGs.John Fultz
Not perfect, but it now does a decent job of not corrupting GCGs when it loads one where players have messed up tile counts/drawing in the end-game. It also tries to annotate these for the player and in any GCG file that's round-tripped. Also, a lot of C++11-izing of ranged iterators.
2016-07-12A few tidbits for Mac 1.0.2 release.John Fultz
2016-07-07Increment version number and copyright date.John Fultz
Also, fix a typo and remove dead code.
2016-07-07Allow games loaded from gcg to switch to unknown racks.John Fultz
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.
2016-07-07Put filename in window title.John Fultz
2016-07-03Fix problems with "ex n" where n is a number.John Fultz
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.
2016-07-03Add a scoring option preference.John Fultz
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.
2016-07-03Support Shift+Enter to commit from move input field.John Fultz
Also resets the focus back to the input field when you press Shift+Enter.
2016-07-02More character encoding stuffJohn Fultz
A few character encoding things that had still been missed, and preliminary support for #character-encoding in GCG files.