void TimelineToolBar::createCenterControls() { addSpacing(5); auto *toStart = createAction(TimelineConstants::C_TO_START, TimelineIcons::TO_FIRST_FRAME.icon(), tr("To Start"), QKeySequence(Qt::Key_Home)); connect(toStart, &QAction::triggered, this, &TimelineToolBar::toFirstFrameTriggered); addAction(toStart); addSpacing(2); auto *previous = createAction(TimelineConstants::C_PREVIOUS, TimelineIcons::BACK_ONE_FRAME.icon(), tr("Previous"), QKeySequence(Qt::Key_Comma)); connect(previous, &QAction::triggered, this, &TimelineToolBar::previousFrameTriggered); addAction(previous); addSpacing(2); auto *play = createAction(TimelineConstants::C_PLAY, TimelineIcons::START_PLAYBACK.icon(), tr("Play"), QKeySequence(Qt::Key_Space)); connect(play, &QAction::triggered, this, &TimelineToolBar::playTriggered); addAction(play); addSpacing(2); auto *next = createAction(TimelineConstants::C_NEXT, TimelineIcons::FORWARD_ONE_FRAME.icon(), tr("Next"), QKeySequence(Qt::Key_Period)); connect(next, &QAction::triggered, this, &TimelineToolBar::nextFrameTriggered); addAction(next); addSpacing(2); auto *toEnd = createAction(TimelineConstants::C_TO_END, TimelineIcons::TO_LAST_FRAME.icon(), tr("To End"), QKeySequence(Qt::Key_End)); connect(toEnd, &QAction::triggered, this, &TimelineToolBar::toLastFrameTriggered); addAction(toEnd); #if 0 auto *loop = new QAction(TimelineIcons::LOOP_PLAYBACK.icon(), tr("Loop"), this); addAction(loop); #endif addSpacing(5); addSeparator(); m_currentFrame = createToolBarLineEdit(this); addWidget(m_currentFrame); auto emitCurrentChanged = [this]() { emit currentFrameChanged(m_currentFrame->text().toInt()); }; connect(m_currentFrame, &QLineEdit::editingFinished, emitCurrentChanged); addSeparator(); addSpacing(10); QIcon autoKeyIcon = TimelineUtils::mergeIcons(TimelineIcons::GLOBAL_RECORD_KEYFRAMES, TimelineIcons::GLOBAL_RECORD_KEYFRAMES_OFF); m_recording = createAction(TimelineConstants::C_AUTO_KEYFRAME, autoKeyIcon, tr("Auto Key"), QKeySequence(Qt::Key_K)); m_recording->setCheckable(true); connect(m_recording, &QAction::toggled, [&](bool value) { emit recordToggled(value); }); addAction(m_recording); addSpacing(10); addSeparator(); addSpacing(10); auto *curvePicker = createAction(TimelineConstants::C_CURVE_PICKER, TimelineIcons::CURVE_EDITOR.icon(), tr("Curve Picker"), QKeySequence(Qt::Key_C)); curvePicker->setObjectName("Curve Picker"); connect(curvePicker, &QAction::triggered, this, &TimelineToolBar::openEasingCurveEditor); addAction(curvePicker); addSpacing(10); #if 0 addSeparator(); addSpacing(10); auto *curveEditor = new QAction(TimelineIcons::CURVE_PICKER.icon(), tr("Curve Editor")); addAction(curveEditor); #endif }
void MainWindow::playerRecord(bool triggered) { Q_EMIT recordToggled(triggered); }