* main.cpp: removed path checking and db loading
* card database: merge card loading methods into a single one
* settings cache: take care of returning safe paths for decks,
replays, etc..
* main window: if db loading fails (eg. first run), propose to run
oracle
NSIS: propose to run cockatrice instead of oracle
Rework card database loading
* Move carddatabase-related method out of deckeditor tab
* Load cards in another thread and render them progressively
* Optimize database reload after enabled sets change
Fix deck editor column width
* removed the noCard hack.
* getCard() no more creates cards instead of just returning existing
ones
* Fix the “edit tokens” dialog.
* PictureLoader: avoid trying to download twice the same card
* PictureLoader: correct return of card background
* AbstractCardItem: avoid recalculating card color at every paint
Use a different file to save custom tokens
Misc required improvements
* Use nullptr;
* Refactor CardInfoWidget to use CardInfoPicture and CardInfoText
instead of duplicating code;
* Added CardInfo::getColorChar()
* Fixed some potential crashes
* removed dead code related to CardInfoWidget
* Don't require a restart after adding a new custom sets file
* Bump CMake requirements to 3.1
Reverted back. Right now it feels strange to only have simple search.
Really you would want both simple search AND accurate search on, though
this requires twice the checks for each result.
When searching for a card the line edit will not be empty, so this check
is not needed. The performance when the line edit IS empty will take a
slight hit, but you really want additional performance when searching,
not when the line edit is empty.
Removing will increase performance.
Previously would try to match the card name, if nothing is found, then
we would try again with the simple name.
I have now made it only the simple name version. We do not need to
perform the first check. Should help a little with performance.
It is awkward to have to use precise punctuation when searching for
cards. Planeswalkers and legendary creatures often have "," in the name
and you have to enter it.
This commit means you no longer need to do that.
+ Can use " " in place of "-" (example: Wilt-Leaf Liege)
+ Can use "" in place of non word chars (Example: Hero's Downfall and
Ajani, Caller of the Pride)
I had previously removed some filtering code that would allow users to
filter cards using our filtering tools. This functionality has now been
re-added.
Card search will now order the following way:
1. Exact match at top
2. Exact match with preceding values sorted lexically.
3. Match contained in word sorted lexically
the original layout is actually more space efficient if using CardFrame
instead of CardInfoWidget and reducing the size of the deck editor
toolbar.
this commit also removes the old search feature by removing the search
button and the clear search button. the clear search menu item is left
in place, however it now clears the filtertree.
finally, the stretch factor for the right frame in the main layout was
reduced to zero so that the card database gets priority for extra space.
this makes more sense because the deck editor does not actually need
very much horizontal space.