Changeset View
Changeset View
Standalone View
Standalone View
plugins/dockers/animation/timeline_frames_view.cpp
Context not available. | |||||
363 | action = m_d->actionMan->createAction("paste_frames_from_clipboard"); | 363 | action = m_d->actionMan->createAction("paste_frames_from_clipboard"); | ||
---|---|---|---|---|---|
364 | connect(action, SIGNAL(triggered()), SLOT(slotPasteFrames())); | 364 | connect(action, SIGNAL(triggered()), SLOT(slotPasteFrames())); | ||
365 | 365 | | |||
366 | action = m_d->actionMan->createAction("set_start_time"); | ||||
367 | connect(action, SIGNAL(triggered()), SLOT(slotSetStartTimeToCurrentPosition())); | ||||
368 | | ||||
369 | action = m_d->actionMan->createAction("set_end_time"); | ||||
370 | connect(action, SIGNAL(triggered()), SLOT(slotSetEndTimeToCurrentPosition())); | ||||
371 | | ||||
372 | action = m_d->actionMan->createAction("update_playback_range"); | ||||
373 | connect(action, SIGNAL(triggered()), SLOT(slotUpdatePlackbackRange())); | ||||
374 | | ||||
375 | | ||||
376 | | ||||
366 | } | 377 | } | ||
367 | } | 378 | } | ||
368 | 379 | | |||
Context not available. | |||||
552 | m_d->model->setAudioVolume(qreal(value) / 100.0); | 563 | m_d->model->setAudioVolume(qreal(value) / 100.0); | ||
553 | } | 564 | } | ||
554 | 565 | | |||
566 | | ||||
567 | | ||||
568 | | ||||
555 | void TimelineFramesView::slotUpdateInfiniteFramesCount() | 569 | void TimelineFramesView::slotUpdateInfiniteFramesCount() | ||
556 | { | 570 | { | ||
557 | if (horizontalScrollBar()->isSliderDown()) return; | 571 | if (horizontalScrollBar()->isSliderDown()) return; | ||
Context not available. | |||||
938 | QMenu *frames = menu->addMenu(i18nc("@item:inmenu", "Keyframes")); | 952 | QMenu *frames = menu->addMenu(i18nc("@item:inmenu", "Keyframes")); | ||
939 | KisActionManager::safePopulateMenu(frames, "insert_keyframes_right", m_d->actionMan); | 953 | KisActionManager::safePopulateMenu(frames, "insert_keyframes_right", m_d->actionMan); | ||
940 | KisActionManager::safePopulateMenu(frames, "insert_keyframes_left", m_d->actionMan); | 954 | KisActionManager::safePopulateMenu(frames, "insert_keyframes_left", m_d->actionMan); | ||
955 | | ||||
941 | frames->addSeparator(); | 956 | frames->addSeparator(); | ||
942 | KisActionManager::safePopulateMenu(frames, "insert_n_keyframes_right", m_d->actionMan); | 957 | KisActionManager::safePopulateMenu(frames, "insert_n_keyframes_right", m_d->actionMan); | ||
943 | KisActionManager::safePopulateMenu(frames, "insert_n_keyframes_left", m_d->actionMan); | 958 | KisActionManager::safePopulateMenu(frames, "insert_n_keyframes_left", m_d->actionMan); | ||
Context not available. | |||||
945 | QMenu *hold = menu->addMenu(i18nc("@item:inmenu", "Hold Frames")); | 960 | QMenu *hold = menu->addMenu(i18nc("@item:inmenu", "Hold Frames")); | ||
946 | KisActionManager::safePopulateMenu(hold, "insert_hold_frame", m_d->actionMan); | 961 | KisActionManager::safePopulateMenu(hold, "insert_hold_frame", m_d->actionMan); | ||
947 | KisActionManager::safePopulateMenu(hold, "remove_hold_frame", m_d->actionMan); | 962 | KisActionManager::safePopulateMenu(hold, "remove_hold_frame", m_d->actionMan); | ||
963 | | ||||
948 | hold->addSeparator(); | 964 | hold->addSeparator(); | ||
949 | KisActionManager::safePopulateMenu(hold, "insert_n_hold_frames", m_d->actionMan); | 965 | KisActionManager::safePopulateMenu(hold, "insert_n_hold_frames", m_d->actionMan); | ||
950 | KisActionManager::safePopulateMenu(hold, "remove_n_hold_frames", m_d->actionMan); | 966 | KisActionManager::safePopulateMenu(hold, "remove_n_hold_frames", m_d->actionMan); | ||
Context not available. | |||||
952 | menu->addSeparator(); | 968 | menu->addSeparator(); | ||
953 | KisActionManager::safePopulateMenu(menu, "remove_frames", m_d->actionMan); | 969 | KisActionManager::safePopulateMenu(menu, "remove_frames", m_d->actionMan); | ||
954 | KisActionManager::safePopulateMenu(menu, "remove_frames_and_pull", m_d->actionMan); | 970 | KisActionManager::safePopulateMenu(menu, "remove_frames_and_pull", m_d->actionMan); | ||
971 | | ||||
972 | menu->addSeparator(); | ||||
973 | KisActionManager::safePopulateMenu(menu, "set_start_time", m_d->actionMan); | ||||
974 | KisActionManager::safePopulateMenu(menu, "set_end_time", m_d->actionMan); | ||||
975 | KisActionManager::safePopulateMenu(menu, "update_playback_range", m_d->actionMan); | ||||
976 | | ||||
955 | } | 977 | } | ||
956 | 978 | | |||
957 | void TimelineFramesView::mousePressEvent(QMouseEvent *event) | 979 | void TimelineFramesView::mousePressEvent(QMouseEvent *event) | ||
Context not available. | |||||
1192 | 1214 | | |||
1193 | enableAction("paste_frames_from_clipboard", data && data->hasFormat("application/x-krita-frame")); | 1215 | enableAction("paste_frames_from_clipboard", data && data->hasFormat("application/x-krita-frame")); | ||
1194 | 1216 | | |||
1217 | | ||||
1218 | | ||||
1219 | // calculate if selection range is set. This will determine if the update playback range is available | ||||
1220 | QSet<int> rows; | ||||
1221 | int minColumn = 0; | ||||
1222 | int maxColumn = 0; | ||||
1223 | calculateSelectionMetrics(minColumn, maxColumn, rows); | ||||
1224 | | ||||
1225 | bool selectionExists = minColumn != maxColumn; | ||||
1226 | | ||||
1227 | enableAction("update_playback_range", selectionExists); | ||||
1228 | | ||||
1229 | enableAction("set_start_time", !selectionExists); | ||||
1230 | enableAction("set_end_time", !selectionExists); | ||||
1231 | | ||||
1232 | | ||||
1233 | | ||||
1195 | //TODO: update column actions! | 1234 | //TODO: update column actions! | ||
1196 | } | 1235 | } | ||
1197 | 1236 | | |||
1237 | void TimelineFramesView::slotSetStartTimeToCurrentPosition() | ||||
1238 | { | ||||
1239 | m_d->model->setFullClipRangeStart(this->currentIndex().column()); | ||||
1240 | } | ||||
1241 | | ||||
1242 | void TimelineFramesView::slotSetEndTimeToCurrentPosition() | ||||
1243 | { | ||||
1244 | m_d->model->setFullClipRangeEnd(this->currentIndex().column()); | ||||
1245 | } | ||||
1246 | | ||||
1247 | void TimelineFramesView::slotUpdatePlackbackRange() | ||||
1248 | { | ||||
1249 | QSet<int> rows; | ||||
1250 | int minColumn = 0; | ||||
1251 | int maxColumn = 0; | ||||
1252 | | ||||
1253 | calculateSelectionMetrics(minColumn, maxColumn, rows); | ||||
1254 | | ||||
1255 | m_d->model->setFullClipRangeStart(minColumn); | ||||
1256 | m_d->model->setFullClipRangeEnd(maxColumn); | ||||
1257 | } | ||||
1258 | | ||||
1198 | void TimelineFramesView::slotLayerContextMenuRequested(const QPoint &globalPos) | 1259 | void TimelineFramesView::slotLayerContextMenuRequested(const QPoint &globalPos) | ||
1199 | { | 1260 | { | ||
1200 | m_d->layerEditingMenu->exec(globalPos); | 1261 | m_d->layerEditingMenu->exec(globalPos); | ||
Context not available. |