Merge pull request #1117 from manongjohn/allow_tagging_on_non_current_frame

Allow tag actions on non-current frame
This commit is contained in:
manongjohn 2022-12-27 08:18:55 -08:00 committed by GitHub
commit 1e9fc4622b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 2 deletions

View file

@ -2755,7 +2755,8 @@ public:
ToggleTaggedFrame() : MenuItemHandler(MI_ToggleTaggedFrame) {}
void execute() override {
TApp *app = TApp::instance();
int frame = app->getCurrentFrame()->getFrame();
int frame = app->getCurrentXsheetViewer()->getContextMenuRow();
if (frame < 0) frame = app->getCurrentFrame()->getFrame();
assert(frame >= 0);
TXsheet *xsh = app->getCurrentXsheet()->getXsheet();
@ -2777,7 +2778,8 @@ public:
EditTaggedFrame() : MenuItemHandler(MI_EditTaggedFrame) {}
void execute() override {
TApp *app = TApp::instance();
int frame = app->getCurrentFrame()->getFrame();
int frame = app->getCurrentXsheetViewer()->getContextMenuRow();
if (frame < 0) frame = app->getCurrentFrame()->getFrame();
assert(frame >= 0);
TXsheet *xsh = app->getCurrentXsheet()->getXsheet();

View file

@ -1285,6 +1285,8 @@ public:
QList<int> availableFramesPerPage();
void zoomToFramesPerPage(int frames);
int getContextMenuRow() { return m_rowArea->getContextMenuRow(); }
protected:
void scrollToColumn(int col);
void scrollToHorizontalRange(int x0, int x1);

View file

@ -1297,6 +1297,9 @@ void RowArea::mouseReleaseEvent(QMouseEvent *event) {
//-----------------------------------------------------------------------------
void RowArea::contextMenuEvent(QContextMenuEvent *event) {
TPoint pos(event->pos().x(), event->pos().y());
m_contextMenuRow = m_viewer->xyToPosition(pos).frame();
OnionSkinMask osMask =
TApp::instance()->getCurrentOnionSkin()->getOnionSkinMask();

View file

@ -44,6 +44,8 @@ class RowArea final : public QWidget {
// panning by middle-drag
bool m_isPanning;
int m_contextMenuRow;
void drawRows(QPainter &p, int r0, int r1);
void drawPlayRangeBackground(QPainter &p, int r0, int r1);
void drawPlayRange(QPainter &p, int r0, int r1);
@ -71,6 +73,8 @@ public:
#endif
~RowArea();
int getContextMenuRow() { return m_contextMenuRow; }
protected:
void paintEvent(QPaintEvent *) override;