Merge pull request #995 from manongjohn/set_markers_to_selected_range

Set Start/Stop Markers enhancement
This commit is contained in:
manongjohn 2022-06-07 08:19:50 -04:00 committed by GitHub
commit ae7d1082c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 39 additions and 4 deletions

View file

@ -2038,6 +2038,8 @@ void MainWindow::defineActions() {
createMenuXsheetAction(MI_SetAutoMarkers, QT_TR_NOOP("Set Auto Markers"), ""); createMenuXsheetAction(MI_SetAutoMarkers, QT_TR_NOOP("Set Auto Markers"), "");
createMenuXsheetAction(MI_PreviewThis, createMenuXsheetAction(MI_PreviewThis,
QT_TR_NOOP("Set Markers to Current Frame"), ""); QT_TR_NOOP("Set Markers to Current Frame"), "");
createMenuXsheetAction(MI_PreviewSelected,
QT_TR_NOOP("Set Markers to Selected Range"), "");
createMenuXsheetAction(MI_ToggleTaggedFrame, createMenuXsheetAction(MI_ToggleTaggedFrame,
QT_TR_NOOP("Toggle Navigation Tag"), "", QT_TR_NOOP("Toggle Navigation Tag"), "",
"toggle_nav_tag"); "toggle_nav_tag");

View file

@ -152,6 +152,7 @@
#define MI_ClearMarkers "MI_ClearMarkers" #define MI_ClearMarkers "MI_ClearMarkers"
#define MI_SetAutoMarkers "MI_SetAutoMarkers" #define MI_SetAutoMarkers "MI_SetAutoMarkers"
#define MI_PreviewThis "MI_PreviewThis" #define MI_PreviewThis "MI_PreviewThis"
#define MI_PreviewSelected "MI_PreviewSelected"
#define MI_PasteNew "MI_PasteNew" #define MI_PasteNew "MI_PasteNew"
#define MI_Autorenumber "MI_Autorenumber" #define MI_Autorenumber "MI_Autorenumber"

View file

@ -2729,6 +2729,27 @@ public:
//============================================================ //============================================================
class PreviewSelected final : public MenuItemHandler {
public:
PreviewSelected() : MenuItemHandler(MI_PreviewSelected) {}
void execute() override {
TApp *app = TApp::instance();
TSelection *selection = app->getCurrentSelection()->getSelection();
if (!selection) return;
TCellSelection *cellSelection = dynamic_cast<TCellSelection *>(selection);
if (!cellSelection) return;
int row0, col0, row1, col1;
cellSelection->getSelectedCells(row0, col0, row1, col1);
int r0, r1, step;
XsheetGUI::getPlayRange(r0, r1, step);
XsheetGUI::setPlayRange(row0, row1, step);
TApp::instance()->getCurrentXsheetViewer()->update();
}
} PreviewSelected;
//============================================================
class ToggleTaggedFrame final : public MenuItemHandler { class ToggleTaggedFrame final : public MenuItemHandler {
public: public:
ToggleTaggedFrame() : MenuItemHandler(MI_ToggleTaggedFrame) {} ToggleTaggedFrame() : MenuItemHandler(MI_ToggleTaggedFrame) {}

View file

@ -1225,6 +1225,9 @@ void RowArea::mouseMoveEvent(QMouseEvent *event) {
o->path(PredefinedPath::END_PLAY_RANGE).translated(base1); o->path(PredefinedPath::END_PLAY_RANGE).translated(base1);
if (!m_tooltip.isEmpty()) return; if (!m_tooltip.isEmpty()) return;
TXsheet *xsh = m_viewer->getXsheet();
if (startArrow.contains(m_pos)) if (startArrow.contains(m_pos))
m_tooltip = tr("Playback Start Marker"); m_tooltip = tr("Playback Start Marker");
else if (endArrow.contains(m_pos)) else if (endArrow.contains(m_pos))
@ -1235,11 +1238,11 @@ void RowArea::mouseMoveEvent(QMouseEvent *event) {
.arg((isRootBonePinned) ? " (Root)" : ""); .arg((isRootBonePinned) ? " (Root)" : "");
else if (o->rect(PredefinedRect::NAVIGATION_TAG_AREA) else if (o->rect(PredefinedRect::NAVIGATION_TAG_AREA)
.adjusted(0, 0, -frameAdj.x(), -frameAdj.y()) .adjusted(0, 0, -frameAdj.x(), -frameAdj.y())
.contains(mouseInCell)) { .contains(mouseInCell) &&
TXsheet *xsh = m_viewer->getXsheet(); xsh->isFrameTagged(m_row)) {
QString label = xsh->getNavigationTags()->getTagLabel(m_row); QString label = xsh->getNavigationTags()->getTagLabel(m_row);
if (label.isEmpty()) label = "-"; if (label.isEmpty()) label = "-";
if (xsh->isFrameTagged(m_row)) m_tooltip = tr("Tag: %1").arg(label); m_tooltip = tr("Tag: %1").arg(label);
} else if (row == currentRow) { } else if (row == currentRow) {
if (Preferences::instance()->isOnionSkinEnabled() && if (Preferences::instance()->isOnionSkinEnabled() &&
o->rect(PredefinedRect::ONION) o->rect(PredefinedRect::ONION)
@ -1252,6 +1255,12 @@ void RowArea::mouseMoveEvent(QMouseEvent *event) {
m_tooltip = tr("Fixed Onion Skin Toggle"); m_tooltip = tr("Fixed Onion Skin Toggle");
else if (m_showOnionToSet == Mos) else if (m_showOnionToSet == Mos)
m_tooltip = tr("Relative Onion Skin Toggle"); m_tooltip = tr("Relative Onion Skin Toggle");
else
m_tooltip = tr("%1+Click\t- Set Playback Start Marker\n%2+Click \t- Set "
"Playback End Marker\n%3+Click\t- Remove Playback Markers")
.arg(trModKey("Ctrl"))
.arg(trModKey("Alt"))
.arg(trModKey("Ctrl+Alt"));
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -1297,6 +1306,8 @@ void RowArea::contextMenuEvent(QContextMenuEvent *event) {
menu->addAction(CommandManager::instance()->getAction(MI_PreviewThis)); menu->addAction(CommandManager::instance()->getAction(MI_PreviewThis));
menu->addAction(CommandManager::instance()->getAction(MI_PreviewSelected));
menu->addSeparator(); menu->addSeparator();
if (Preferences::instance()->isOnionSkinEnabled()) { if (Preferences::instance()->isOnionSkinEnabled()) {