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) {}
|
ToggleTaggedFrame() : MenuItemHandler(MI_ToggleTaggedFrame) {}
|
||||||
void execute() override {
|
void execute() override {
|
||||||
TApp *app = TApp::instance();
|
TApp *app = TApp::instance();
|
||||||
int frame = app->getCurrentFrame()->getFrame();
|
int frame = app->getCurrentXsheetViewer()->getContextMenuRow();
|
||||||
|
if (frame < 0) frame = app->getCurrentFrame()->getFrame();
|
||||||
assert(frame >= 0);
|
assert(frame >= 0);
|
||||||
TXsheet *xsh = app->getCurrentXsheet()->getXsheet();
|
TXsheet *xsh = app->getCurrentXsheet()->getXsheet();
|
||||||
|
|
||||||
|
@ -2777,7 +2778,8 @@ public:
|
||||||
EditTaggedFrame() : MenuItemHandler(MI_EditTaggedFrame) {}
|
EditTaggedFrame() : MenuItemHandler(MI_EditTaggedFrame) {}
|
||||||
void execute() override {
|
void execute() override {
|
||||||
TApp *app = TApp::instance();
|
TApp *app = TApp::instance();
|
||||||
int frame = app->getCurrentFrame()->getFrame();
|
int frame = app->getCurrentXsheetViewer()->getContextMenuRow();
|
||||||
|
if (frame < 0) frame = app->getCurrentFrame()->getFrame();
|
||||||
assert(frame >= 0);
|
assert(frame >= 0);
|
||||||
TXsheet *xsh = app->getCurrentXsheet()->getXsheet();
|
TXsheet *xsh = app->getCurrentXsheet()->getXsheet();
|
||||||
|
|
||||||
|
|
|
@ -1285,6 +1285,8 @@ public:
|
||||||
QList<int> availableFramesPerPage();
|
QList<int> availableFramesPerPage();
|
||||||
void zoomToFramesPerPage(int frames);
|
void zoomToFramesPerPage(int frames);
|
||||||
|
|
||||||
|
int getContextMenuRow() { return m_rowArea->getContextMenuRow(); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void scrollToColumn(int col);
|
void scrollToColumn(int col);
|
||||||
void scrollToHorizontalRange(int x0, int x1);
|
void scrollToHorizontalRange(int x0, int x1);
|
||||||
|
|
|
@ -1297,6 +1297,9 @@ void RowArea::mouseReleaseEvent(QMouseEvent *event) {
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void RowArea::contextMenuEvent(QContextMenuEvent *event) {
|
void RowArea::contextMenuEvent(QContextMenuEvent *event) {
|
||||||
|
TPoint pos(event->pos().x(), event->pos().y());
|
||||||
|
m_contextMenuRow = m_viewer->xyToPosition(pos).frame();
|
||||||
|
|
||||||
OnionSkinMask osMask =
|
OnionSkinMask osMask =
|
||||||
TApp::instance()->getCurrentOnionSkin()->getOnionSkinMask();
|
TApp::instance()->getCurrentOnionSkin()->getOnionSkinMask();
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,8 @@ class RowArea final : public QWidget {
|
||||||
// panning by middle-drag
|
// panning by middle-drag
|
||||||
bool m_isPanning;
|
bool m_isPanning;
|
||||||
|
|
||||||
|
int m_contextMenuRow;
|
||||||
|
|
||||||
void drawRows(QPainter &p, int r0, int r1);
|
void drawRows(QPainter &p, int r0, int r1);
|
||||||
void drawPlayRangeBackground(QPainter &p, int r0, int r1);
|
void drawPlayRangeBackground(QPainter &p, int r0, int r1);
|
||||||
void drawPlayRange(QPainter &p, int r0, int r1);
|
void drawPlayRange(QPainter &p, int r0, int r1);
|
||||||
|
@ -71,6 +73,8 @@ public:
|
||||||
#endif
|
#endif
|
||||||
~RowArea();
|
~RowArea();
|
||||||
|
|
||||||
|
int getContextMenuRow() { return m_contextMenuRow; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void paintEvent(QPaintEvent *) override;
|
void paintEvent(QPaintEvent *) override;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue