Allow tag actions on non-current frame
This commit is contained in:
parent
ddbd6ab197
commit
44601581b3
4 changed files with 13 additions and 2 deletions
|
@ -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();
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue