From 89b422af6a0008f03bbffabbd20c19e4d809f0dc Mon Sep 17 00:00:00 2001 From: RickyRister Date: Sat, 1 Mar 2025 03:35:38 -0800 Subject: [PATCH] move method into DeckLoader --- .../client/tabs/abstract_tab_deck_editor.cpp | 17 ++++------------- .../deck_preview/deck_preview_widget.cpp | 17 ++++------------- cockatrice/src/deck/deck_loader.cpp | 11 +++++++++++ cockatrice/src/deck/deck_loader.h | 2 ++ 4 files changed, 21 insertions(+), 26 deletions(-) diff --git a/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp b/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp index 7bd50a31e..23b6124be 100644 --- a/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp +++ b/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp @@ -389,33 +389,24 @@ void AbstractTabDeckEditor::actLoadDeckFromClipboard() deckMenu->setSaveStatus(true); } -static void saveDeckToClipboard(const DeckLoader *deckLoader, bool addComments, bool addSetNameAndNumber) -{ - QString buffer; - QTextStream stream(&buffer); - deckLoader->saveToStream_Plain(stream, addComments, addSetNameAndNumber); - QApplication::clipboard()->setText(buffer, QClipboard::Clipboard); - QApplication::clipboard()->setText(buffer, QClipboard::Selection); -} - void AbstractTabDeckEditor::actSaveDeckToClipboard() { - saveDeckToClipboard(getDeckList(), true, true); + getDeckList()->saveToClipboard(true, true); } void AbstractTabDeckEditor::actSaveDeckToClipboardNoSetNameAndNumber() { - saveDeckToClipboard(getDeckList(), true, false); + getDeckList()->saveToClipboard(true, false); } void AbstractTabDeckEditor::actSaveDeckToClipboardRaw() { - saveDeckToClipboard(getDeckList(), false, true); + getDeckList()->saveToClipboard(false, true); } void AbstractTabDeckEditor::actSaveDeckToClipboardRawNoSetNameAndNumber() { - saveDeckToClipboard(getDeckList(), false, false); + getDeckList()->saveToClipboard(false, false); } void AbstractTabDeckEditor::actPrintDeck() diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp index ca7ac9e4e..2a714efa9 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp @@ -278,15 +278,6 @@ void DeckPreviewWidget::imageDoubleClickedEvent(QMouseEvent *event, DeckPreviewC emit deckLoadRequested(filePath); } -static void saveDeckToClipboard(const DeckLoader *deckLoader, bool addComments, bool addSetNameAndNumber) -{ - QString buffer; - QTextStream stream(&buffer); - deckLoader->saveToStream_Plain(stream, addComments, addSetNameAndNumber); - QApplication::clipboard()->setText(buffer, QClipboard::Clipboard); - QApplication::clipboard()->setText(buffer, QClipboard::Selection); -} - QMenu *DeckPreviewWidget::createRightClickMenu() { auto *menu = new QMenu(this); @@ -303,13 +294,13 @@ QMenu *DeckPreviewWidget::createRightClickMenu() auto saveToClipboardMenu = menu->addMenu(tr("Save Deck to Clipboard")); connect(saveToClipboardMenu->addAction(tr("Annotated")), &QAction::triggered, this, - [this] { saveDeckToClipboard(deckLoader, true, true); }); + [this] { deckLoader->saveToClipboard(true, true); }); connect(saveToClipboardMenu->addAction(tr("Annotated (No set name or number)")), &QAction::triggered, this, - [this] { saveDeckToClipboard(deckLoader, true, false); }); + [this] { deckLoader->saveToClipboard(true, false); }); connect(saveToClipboardMenu->addAction(tr("Not Annotated")), &QAction::triggered, this, - [this] { saveDeckToClipboard(deckLoader, false, true); }); + [this] { deckLoader->saveToClipboard(false, true); }); connect(saveToClipboardMenu->addAction(tr("Not Annotated (No set name or number)")), &QAction::triggered, this, - [this] { saveDeckToClipboard(deckLoader, false, false); }); + [this] { deckLoader->saveToClipboard(false, false); }); return menu; } diff --git a/cockatrice/src/deck/deck_loader.cpp b/cockatrice/src/deck/deck_loader.cpp index 737f92df4..697905d0e 100644 --- a/cockatrice/src/deck/deck_loader.cpp +++ b/cockatrice/src/deck/deck_loader.cpp @@ -5,6 +5,8 @@ #include "../main.h" #include "decklist.h" +#include +#include #include #include #include @@ -372,6 +374,15 @@ DeckLoader::FileFormat DeckLoader::getFormatFromName(const QString &fileName) return PlainTextFormat; } +void DeckLoader::saveToClipboard(bool addComments, bool addSetNameAndNumber) const +{ + QString buffer; + QTextStream stream(&buffer); + saveToStream_Plain(stream, addComments, addSetNameAndNumber); + QApplication::clipboard()->setText(buffer, QClipboard::Clipboard); + QApplication::clipboard()->setText(buffer, QClipboard::Selection); +} + bool DeckLoader::saveToStream_Plain(QTextStream &out, bool addComments, bool addSetNameAndNumber) const { if (addComments) { diff --git a/cockatrice/src/deck/deck_loader.h b/cockatrice/src/deck/deck_loader.h index bee08b700..5867f38ef 100644 --- a/cockatrice/src/deck/deck_loader.h +++ b/cockatrice/src/deck/deck_loader.h @@ -62,6 +62,8 @@ public: void resolveSetNameAndNumberToProviderID(); + void saveToClipboard(bool addComments = true, bool addSetNameAndNumber = true) const; + // overload bool saveToStream_Plain(QTextStream &out, bool addComments = true, bool addSetNameAndNumber = true) const; bool convertToCockatriceFormat(QString fileName);