[java, compilation-charts] disable magnifying for mac (by default)

GitOrigin-RevId: 8c8a628d7608b99e046d3ec259f4f989cb34a718
This commit is contained in:
Aleksey Dobrynin
2024-09-30 13:47:50 +02:00
committed by intellij-monorepo-bot
parent fe9254efb5
commit 1e33820cb3
3 changed files with 25 additions and 1 deletions

View File

@@ -7,6 +7,8 @@
<registryKey key="compilation.charts" defaultValue="false"
description="Show compilation charts" restartRequired="false"/>
<registryKey key="compilation.charts.mac.magnificationGesture" defaultValue="false"
description="Enable pinch-to-zoom gesture for magnifying compilation charts." restartRequired="false"/>
</extensions>
<actions resource-bundle="messages.CompilationChartsBundle">
<action id="CompilationChartsZoomResetAction" class="com.intellij.java.compiler.charts.ui.ActionPanel$ZoomResetAction"

View File

@@ -24,6 +24,7 @@ class CompilationChartsProjectActivity : ProjectActivity {
companion object {
private val LOG: Logger = Logger.getInstance(CompilationChartsProjectActivity::class.java)
const val COMPILATION_CHARTS_KEY: String = "compilation.charts"
const val COMPILATION_CHARTS_MAGNIFICATION_KEY: String = "compilation.charts.mac.magnificationGesture"
const val COMPILATION_STATISTIC_BUILDER_ID: String = "jps.compile.statistic"
const val COMPILATION_STATUS_BUILDER_ID: String = "jps.compile.status"
}

View File

@@ -1,6 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.java.compiler.charts.ui
import com.intellij.java.compiler.charts.CompilationChartsProjectActivity.Companion.COMPILATION_CHARTS_MAGNIFICATION_KEY
import com.intellij.openapi.util.registry.Registry
import com.intellij.ui.components.JBViewport
import com.intellij.ui.components.ZoomingDelegate
import java.awt.Graphics
@@ -10,7 +12,10 @@ import java.util.concurrent.atomic.AtomicBoolean
import javax.swing.JComponent
class CompilationChartsViewport(private val scrollType: AutoScrollingType) : JBViewport() {
override fun createZooming(): ZoomingDelegate = CompilationChartsZoomingDelegate(view as JComponent, this, scrollType)
override fun createZooming(): ZoomingDelegate = if (Registry.`is`(COMPILATION_CHARTS_MAGNIFICATION_KEY))
CompilationChartsZoomingDelegate(view as JComponent, this, scrollType)
else
CompilationChartsNonZoomingDelegate(view as JComponent, this)
private class CompilationChartsZoomingDelegate(private val component: JComponent, private val viewport: JBViewport, private val scrollType: AutoScrollingType) : ZoomingDelegate(component, viewport) {
private var magnificationPoint: Point? = null
@@ -67,4 +72,20 @@ class CompilationChartsViewport(private val scrollType: AutoScrollingType) : JBV
}
}
}
private class CompilationChartsNonZoomingDelegate(component: JComponent, viewport: JBViewport) : ZoomingDelegate(component, viewport) {
override fun paint(g: Graphics) {
}
override fun magnificationStarted(at: Point) {
}
override fun magnificationFinished(magnification: Double) {
}
override fun magnify(magnification: Double) {
}
override fun isActive(): Boolean = false
}
}