add action to deck editor

This commit is contained in:
RickyRister 2025-02-28 22:15:27 -08:00
parent e4b3ff0690
commit 6a4b41425e
5 changed files with 29 additions and 4 deletions

View file

@ -27,6 +27,9 @@ DeckEditorMenu::DeckEditorMenu(QWidget *parent, AbstractTabDeckEditor *_deckEdit
aSaveDeckAs = new QAction(QString(), this); aSaveDeckAs = new QAction(QString(), this);
connect(aSaveDeckAs, SIGNAL(triggered()), deckEditor, SLOT(actSaveDeckAs())); connect(aSaveDeckAs, SIGNAL(triggered()), deckEditor, SLOT(actSaveDeckAs()));
aEditDeckInClipboard = new QAction(QString(), this);
connect(aEditDeckInClipboard, &QAction::triggered, deckEditor, &AbstractTabDeckEditor::actEditDeckInClipboard);
aLoadDeckFromClipboard = new QAction(QString(), this); aLoadDeckFromClipboard = new QAction(QString(), this);
connect(aLoadDeckFromClipboard, SIGNAL(triggered()), deckEditor, SLOT(actLoadDeckFromClipboard())); connect(aLoadDeckFromClipboard, SIGNAL(triggered()), deckEditor, SLOT(actLoadDeckFromClipboard()));
@ -76,6 +79,7 @@ DeckEditorMenu::DeckEditorMenu(QWidget *parent, AbstractTabDeckEditor *_deckEdit
addAction(aSaveDeck); addAction(aSaveDeck);
addAction(aSaveDeckAs); addAction(aSaveDeckAs);
addSeparator(); addSeparator();
addAction(aEditDeckInClipboard);
addAction(aLoadDeckFromClipboard); addAction(aLoadDeckFromClipboard);
addMenu(saveDeckToClipboardMenu); addMenu(saveDeckToClipboardMenu);
addSeparator(); addSeparator();
@ -133,6 +137,8 @@ void DeckEditorMenu::retranslateUi()
aClearRecents->setText(tr("Clear")); aClearRecents->setText(tr("Clear"));
aSaveDeck->setText(tr("&Save deck")); aSaveDeck->setText(tr("&Save deck"));
aSaveDeckAs->setText(tr("Save deck &as...")); aSaveDeckAs->setText(tr("Save deck &as..."));
aEditDeckInClipboard->setText(tr("Edit deck in clipboard"));
aLoadDeckFromClipboard->setText(tr("Load deck from cl&ipboard...")); aLoadDeckFromClipboard->setText(tr("Load deck from cl&ipboard..."));
saveDeckToClipboardMenu->setTitle(tr("Save deck to clipboard")); saveDeckToClipboardMenu->setTitle(tr("Save deck to clipboard"));
@ -159,6 +165,7 @@ void DeckEditorMenu::refreshShortcuts()
aSaveDeck->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aSaveDeck")); aSaveDeck->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aSaveDeck"));
aExportDeckDecklist->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aExportDeckDecklist")); aExportDeckDecklist->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aExportDeckDecklist"));
aSaveDeckAs->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aSaveDeckAs")); aSaveDeckAs->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aSaveDeckAs"));
aEditDeckInClipboard->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aEditDeckInClipboard"));
aLoadDeckFromClipboard->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aLoadDeckFromClipboard")); aLoadDeckFromClipboard->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aLoadDeckFromClipboard"));
aPrintDeck->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aPrintDeck")); aPrintDeck->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aPrintDeck"));
aAnalyzeDeckDeckstats->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aAnalyzeDeck")); aAnalyzeDeckDeckstats->setShortcuts(shortcuts.getShortcut("TabDeckEditor/aAnalyzeDeck"));

View file

@ -14,10 +14,10 @@ public:
AbstractTabDeckEditor *deckEditor; AbstractTabDeckEditor *deckEditor;
QAction *aNewDeck, *aLoadDeck, *aClearRecents, *aSaveDeck, *aSaveDeckAs, *aLoadDeckFromClipboard, QAction *aNewDeck, *aLoadDeck, *aClearRecents, *aSaveDeck, *aSaveDeckAs, *aEditDeckInClipboard,
*aSaveDeckToClipboard, *aSaveDeckToClipboardNoSetNameAndNumber, *aSaveDeckToClipboardRaw, *aLoadDeckFromClipboard, *aSaveDeckToClipboard, *aSaveDeckToClipboardNoSetNameAndNumber,
*aSaveDeckToClipboardRawNoSetNameAndNumber, *aPrintDeck, *aExportDeckDecklist, *aAnalyzeDeckDeckstats, *aSaveDeckToClipboardRaw, *aSaveDeckToClipboardRawNoSetNameAndNumber, *aPrintDeck, *aExportDeckDecklist,
*aAnalyzeDeckTappedout, *aClose; *aAnalyzeDeckDeckstats, *aAnalyzeDeckTappedout, *aClose;
QMenu *loadRecentDeckMenu, *analyzeDeckMenu, *saveDeckToClipboardMenu; QMenu *loadRecentDeckMenu, *analyzeDeckMenu, *saveDeckToClipboardMenu;
void setSaveStatus(bool newStatus); void setSaveStatus(bool newStatus);

View file

@ -372,6 +372,18 @@ void AbstractTabDeckEditor::saveDeckRemoteFinished(const Response &response)
setModified(false); setModified(false);
} }
void AbstractTabDeckEditor::actEditDeckInClipboard()
{
DlgLoadDeckFromClipboard dlg(*getDeckList(), this);
if (!dlg.exec())
return;
setDeck(dlg.getDeckList());
setModified(true);
deckMenu->setSaveStatus(true);
}
void AbstractTabDeckEditor::actLoadDeckFromClipboard() void AbstractTabDeckEditor::actLoadDeckFromClipboard()
{ {
auto deckOpenLocation = confirmOpen(); auto deckOpenLocation = confirmOpen();

View file

@ -44,6 +44,8 @@ class AbstractTabDeckEditor : public Tab
{ {
Q_OBJECT Q_OBJECT
friend class DeckEditorMenu;
public: public:
explicit AbstractTabDeckEditor(TabSupervisor *_tabSupervisor); explicit AbstractTabDeckEditor(TabSupervisor *_tabSupervisor);
@ -91,6 +93,7 @@ protected slots:
virtual void actLoadDeck(); virtual void actLoadDeck();
bool actSaveDeck(); bool actSaveDeck();
bool actSaveDeckAs(); bool actSaveDeckAs();
void actEditDeckInClipboard();
virtual void actLoadDeckFromClipboard(); virtual void actLoadDeckFromClipboard();
void actSaveDeckToClipboard(); void actSaveDeckToClipboard();
void actSaveDeckToClipboardNoSetNameAndNumber(); void actSaveDeckToClipboardNoSetNameAndNumber();

View file

@ -202,6 +202,9 @@ private:
{"TabDeckEditor/aLoadDeck", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Load Deck..."), {"TabDeckEditor/aLoadDeck", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Load Deck..."),
parseSequenceString("Ctrl+O"), parseSequenceString("Ctrl+O"),
ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aEditDeckInClipboard", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Edit Deck in Clipboard"),
parseSequenceString(""),
ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aLoadDeckFromClipboard", {"TabDeckEditor/aLoadDeckFromClipboard",
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Load Deck from Clipboard..."), ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Load Deck from Clipboard..."),
parseSequenceString("Ctrl+Shift+V"), parseSequenceString("Ctrl+Shift+V"),