Mercurial > hg > ugly-duckling
changeset 155:53ddfd792844
Prevent accidentally seeking after zooming on desktop.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Tue, 21 Mar 2017 14:22:52 +0000 |
parents | 0b1743589281 |
children | 0d6acf5fdd41 |
files | src/app/waveform/waveform.component.html src/app/waveform/waveform.component.ts |
diffstat | 2 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/app/waveform/waveform.component.html Tue Mar 21 14:01:28 2017 +0000 +++ b/src/app/waveform/waveform.component.html Tue Mar 21 14:22:52 2017 +0000 @@ -1,1 +1,4 @@ -<div #track class="track" (click)="seek($event.clientX)"></div> +<div + #track class="track" + (mousedown)="seekStart()" + (mouseup)="seekEnd($event.clientX)"></div>
--- a/src/app/waveform/waveform.component.ts Tue Mar 21 14:01:28 2017 +0000 +++ b/src/app/waveform/waveform.component.ts Tue Mar 21 14:22:52 2017 +0000 @@ -55,6 +55,7 @@ private offsetAtPanStart: number; private initialZoom: number; private initialDistance: number; + private zoomOnMouseDown: number; constructor(private audioService: AudioPlayerService, private piperService: FeatureExtractionService, @@ -636,6 +637,16 @@ this.seekedSubscription.unsubscribe(); } + seekStart(): void { + this.zoomOnMouseDown = this.timeline.timeContext.zoom; + } + + seekEnd(x: number): void { + if (this.zoomOnMouseDown === this.timeline.timeContext.zoom) { + this.seek(x); + } + } + seek(x: number): void { if (this.timeline) { const timeContext: any = this.timeline.timeContext;