diff --git a/cockatrice/src/tappedout_interface.cpp b/cockatrice/src/tappedout_interface.cpp index f88f5c2e..54158eaf 100644 --- a/cockatrice/src/tappedout_interface.cpp +++ b/cockatrice/src/tappedout_interface.cpp @@ -78,8 +78,8 @@ void TappedOutInterface::getAnalyzeRequestData(DeckList *deck, QByteArray *data) QUrl params; QUrlQuery urlQuery; urlQuery.addQueryItem("name", deck->getName()); - urlQuery.addQueryItem("mainboard", mainboard.writeToString_Plain(false)); - urlQuery.addQueryItem("sideboard", sideboard.writeToString_Plain(false)); + urlQuery.addQueryItem("mainboard", mainboard.writeToString_Plain(false, true)); + urlQuery.addQueryItem("sideboard", sideboard.writeToString_Plain(false, true)); params.setQuery(urlQuery); data->append(params.query(QUrl::EncodeReserved)); } diff --git a/common/decklist.cpp b/common/decklist.cpp index 6efbf23f..7d3c39fa 100644 --- a/common/decklist.cpp +++ b/common/decklist.cpp @@ -626,8 +626,9 @@ bool DeckList::loadFromFile_Plain(QIODevice *device) struct WriteToStream { QTextStream &stream; bool prefixSideboardCards; + bool slashTappedOutSplitCards; - WriteToStream(QTextStream &_stream, bool _prefixSideboardCards) : stream(_stream), prefixSideboardCards(_prefixSideboardCards) {} + WriteToStream(QTextStream &_stream, bool _prefixSideboardCards, bool _slashTappedOutSplitCards): stream(_stream), prefixSideboardCards(_prefixSideboardCards), slashTappedOutSplitCards(_slashTappedOutSplitCards) {} void operator()( const InnerDecklistNode *node, @@ -636,32 +637,40 @@ struct WriteToStream { if (prefixSideboardCards && node->getName() == DECK_ZONE_SIDE) { stream << "SB: "; } - stream << QString("%1 %2\n").arg( - card->getNumber() - ).arg( - card->getName() - ); + if (!slashTappedOutSplitCards) { + stream << QString("%1 %2\n").arg( + card->getNumber() + ).arg( + card->getName() + ); + } else { + stream << QString("%1 %2\n").arg( + card->getNumber() + ).arg( + card->getName().replace("//", "/") + ); + } } }; -bool DeckList::saveToStream_Plain(QTextStream &out, bool prefixSideboardCards) + bool DeckList::saveToStream_Plain(QTextStream &out, bool prefixSideboardCards, bool slashTappedOutSplitCards) { - WriteToStream writeToStream(out, prefixSideboardCards); + WriteToStream writeToStream(out, prefixSideboardCards, slashTappedOutSplitCards); forEachCard(writeToStream); return true; } -bool DeckList::saveToFile_Plain(QIODevice *device, bool prefixSideboardCards) +bool DeckList::saveToFile_Plain(QIODevice *device, bool prefixSideboardCards, bool slashTappedOutSplitCards) { QTextStream out(device); - return saveToStream_Plain(out, prefixSideboardCards); + return saveToStream_Plain(out, prefixSideboardCards, slashTappedOutSplitCards); } -QString DeckList::writeToString_Plain(bool prefixSideboardCards) +QString DeckList::writeToString_Plain(bool prefixSideboardCards, bool slashTappedOutSplitCards) { QString result; QTextStream out(&result); - saveToStream_Plain(out, prefixSideboardCards); + saveToStream_Plain(out, prefixSideboardCards, slashTappedOutSplitCards); return result; } diff --git a/common/decklist.h b/common/decklist.h index b775b266..3ff24cf0 100644 --- a/common/decklist.h +++ b/common/decklist.h @@ -151,9 +151,9 @@ public: bool saveToFile_Native(QIODevice *device); bool loadFromStream_Plain(QTextStream &stream); bool loadFromFile_Plain(QIODevice *device); - bool saveToStream_Plain(QTextStream &stream, bool prefixSideboardCards); - bool saveToFile_Plain(QIODevice *device, bool prefixSideboardCards=true); - QString writeToString_Plain(bool prefixSideboardCards=true); + bool saveToStream_Plain(QTextStream &stream, bool prefixSideboardCards, bool slashTappedOutSplitCards); + bool saveToFile_Plain(QIODevice *device, bool prefixSideboardCards=true, bool slashTappedOutSplitCards=false); + QString writeToString_Plain(bool prefixSideboardCards=true, bool slashTappedOutSplitCards=false); void cleanList(); bool isEmpty() const { return root->isEmpty() && name.isEmpty() && comments.isEmpty() && sideboardPlans.isEmpty(); }