Make zoom keys work in preview and timeline

This commit is contained in:
JannisX11 2021-06-08 20:05:43 +02:00
parent 395b94f662
commit a0104271cb
6 changed files with 43 additions and 21 deletions

View File

@ -268,7 +268,7 @@ const Timeline = {
let offset = e.clientX - $('#timeline_time').offset().left;
let time = Math.clamp(offset / Timeline.vue._data.size, 0, Infinity);
if (!e.ctrlKey) time = Timeline.snapTime(time);
if (!e.ctrlOrCmd) time = Timeline.snapTime(time);
Timeline.setTime(time);
Animator.preview();
}
@ -279,7 +279,7 @@ const Timeline = {
convertTouchEvent(e);
let offset = e.clientX - $('#timeline_time').offset().left;
let time = Math.clamp(offset / Timeline.vue._data.size, 0, Infinity);
if (!e.ctrlKey) time = Timeline.snapTime(time);
if (!e.ctrlOrCmd) time = Timeline.snapTime(time);
if (Timeline.time != time) {
Timeline.setTime(time)
Animator.preview()
@ -374,6 +374,7 @@ const Timeline = {
let offset = $('#timeline_body_inner').offset()
let offsetX = event.clientX - offset.left - Timeline.vue._data.head_width;
console.log(offsetX)
var zoom = 1 - event.deltaY/600
let original_size = Timeline.vue._data.size
@ -553,6 +554,11 @@ const Timeline = {
menu: new Menu([
'paste',
'_',
{name: 'menu.view.zoom', id: 'zoom', condition: isApp, icon: 'search', children: [
'zoom_in',
'zoom_out',
'zoom_reset'
]},
'select_all',
'bring_up_all_animations',
'fold_all_animations',
@ -747,7 +753,7 @@ onVueSetup(function() {
dragging_restriction;
originalValue;
previousValue = 0;
time_stretching = !Timeline.vue.graph_editor_open && e1.ctrlKey && Timeline.selected.length > 1;
time_stretching = !Timeline.vue.graph_editor_open && e1.ctrlOrCmd && Timeline.selected.length > 1;
values_changed = false;
if (!clicked.selected && !e1.shiftKey && Timeline.selected.length != 0) {

View File

@ -466,11 +466,11 @@ class NumSlider extends Widget {
} else {
this.interval = function(event) {
event = event||0;
if (!event.shiftKey && !event.ctrlKey) {
if (!event.shiftKey && !event.ctrlOrCmd) {
return 1
} else if (event.ctrlKey && event.shiftKey) {
} else if (event.ctrlOrCmd && event.shiftKey) {
return 0.025
} else if (event.ctrlKey) {
} else if (event.ctrlOrCmd) {
return 0.1
} else if (event.shiftKey) {
return 0.25

View File

@ -444,17 +444,30 @@ function setZoomLevel(mode) {
zoom = limitNumber(zoom, 1, 4)
main_uv.setZoom(zoom)
}
/* else if (isApp) {
switch (mode) {
case 'in': Prop.zoom += 5; break;
case 'out': Prop.zoom -= 5; break;
case 'reset': Prop.zoom = 100; break;
} else if (Prop.active_panel == 'timeline') {
let body = document.getElementById('timeline_body');
let offsetX = Timeline.vue.scroll_left + (body.clientWidth - Timeline.vue.head_width) / 2;
if (mode == 'reset') {
let original_size = Timeline.vue._data.size
Timeline.vue._data.size = 200;
body.scrollLeft += (Timeline.vue._data.size - original_size) * (offsetX / original_size)
} else {
let zoom = mode == 'in' ? 1.2 : 0.8;
let original_size = Timeline.vue._data.size
let updated_size = limitNumber(Timeline.vue._data.size * zoom, 10, 1000)
Timeline.vue._data.size = updated_size;
body.scrollLeft += (updated_size - original_size) * (offsetX / original_size)
}
var level = (Prop.zoom - 100) / 12
currentwindow.webContents.setZoomLevel(level)
resizeWindow()
}*/
} else {
switch (mode) {
case 'in': Preview.selected.controls.dollyIn(1.16); break;
case 'out': Preview.selected.controls.dollyOut(1.16); break;
}
}
}
//Dialogs

View File

@ -584,7 +584,7 @@ function dropOutlinerObjects(item, target, event, order) {
}
if (event.altKey) {
Undo.initEdit({elements: [], outliner: true, selection: true})
selected.length = 0
selected.empty();
} else {
Undo.initEdit({outliner: true, selection: true})
var updatePosRecursive = function(item) {
@ -622,7 +622,7 @@ function dropOutlinerObjects(item, target, event, order) {
} else {
var cube = item.duplicate()
place(cube)
selected.push(cube)
selected.safePush(cube)
}
} else {
place(item)

View File

@ -376,6 +376,9 @@ THREE.OrbitControls = function ( object, preview ) {
}
this.dollyIn = dollyIn;
this.dollyOut = dollyOut;
// event callbacks - update the object state
function handleMouseDownRotate( event ) {

View File

@ -729,7 +729,7 @@ BARS.defineActions(function() {
},
getInterval(e) {
if (e.shiftKey) return 12.5;
if (e.ctrlKey) return 1;
if (e.ctrlOrCmd) return 1;
return 4
},
get: function() {
@ -749,7 +749,7 @@ BARS.defineActions(function() {
},
getInterval(e) {
if (e.shiftKey) return 10;
if (e.ctrlKey) return 1;
if (e.ctrlOrCmd) return 1;
return 2
},
get: function() {
@ -769,7 +769,7 @@ BARS.defineActions(function() {
},
getInterval(e) {
if (e.shiftKey) return 10;
if (e.ctrlKey) return 1;
if (e.ctrlOrCmd) return 1;
return 2
},
get: function() {