support right-click menu in VDS

This commit is contained in:
RickyRister 2025-02-15 03:31:00 -08:00
parent 2247c66ea6
commit 95e46eb1df
3 changed files with 21 additions and 1 deletions

View file

@ -38,6 +38,9 @@ void DeckPreviewCardPictureWidget::mousePressEvent(QMouseEvent *event)
if (event->button() == Qt::LeftButton) {
lastMouseEvent = event;
singleClickTimer->start(QApplication::doubleClickInterval());
} else {
emit imageClicked(event, this);
event->accept();
}
}

View file

@ -257,10 +257,23 @@ void DeckPreviewWidget::setBannerCard(int /* changedIndex */)
itemData["name"].toString(), itemData["uuid"].toString()));
}
QMenu *DeckPreviewWidget::createRightClickMenu()
{
auto *menu = new QMenu(this);
auto loadDeckAction = menu->addAction(tr("Load Deck"));
connect(loadDeckAction, &QAction::triggered, this, [this] { emit deckLoadRequested(filePath); });
return menu;
}
void DeckPreviewWidget::imageClickedEvent(QMouseEvent *event, DeckPreviewCardPictureWidget *instance)
{
Q_UNUSED(event);
Q_UNUSED(instance);
if (event && event->button() == Qt::RightButton) {
createRightClickMenu()->popup(QCursor::pos());
}
}
void DeckPreviewWidget::imageDoubleClickedEvent(QMouseEvent *event, DeckPreviewCardPictureWidget *instance)

View file

@ -10,6 +10,7 @@
#include <QVBoxLayout>
#include <QWidget>
class QMenu;
class VisualDeckStorageWidget;
class DeckPreviewDeckTagsDisplayWidget;
@ -53,6 +54,9 @@ public slots:
void updateBannerCardComboBoxVisibility(bool visible);
void updateTagsVisibility(bool visible);
void resizeEvent(QResizeEvent *event) override;
private:
QMenu *createRightClickMenu();
};
class NoScrollFilter : public QObject