IJPL-184068 Use Float for terminal font sizes

Rounding to Int was implemented before Float font sizes
became a thing. Now it seems more reasonable to just use Float
everywhere than have a mess of Float and Int with roundings
and conversions.

Drop those 2D suffixes and port everything to Float.

(cherry picked from commit daeb3ae0625dfe029bf92c6a91ea1a43d631aeeb)

IJ-CR-160631

GitOrigin-RevId: 459995b093f506bb803c21a38802c9f94946306b
This commit is contained in:
Sergei Tachenov
2025-04-16 15:13:50 +03:00
committed by intellij-monorepo-bot
parent 3245ed6837
commit 410ba1c19b
8 changed files with 9 additions and 34 deletions

View File

@@ -2414,8 +2414,7 @@ f:com.intellij.terminal.TerminalUiSettingsManager
- f:getAutoShowDocumentationPopup():Z
- f:getCursorShape():com.intellij.terminal.TerminalUiSettingsManager$CursorShape
- f:getEditorColorsScheme():com.intellij.openapi.editor.colors.EditorColorsScheme
- f:getFontSize():I
- f:getFontSize2D():F
- f:getFontSize():F
- sf:getInstance():com.intellij.terminal.TerminalUiSettingsManager
- f:getMaxVisibleCompletionItemsCount():I
- getState():com.intellij.terminal.TerminalUiSettingsManager$State

View File

@@ -13,7 +13,7 @@ import org.jetbrains.annotations.ApiStatus
sealed class TerminalChangeFontSizeAction(private val myStep: Float) : DumbAwareAction(), LightEditCompatible {
override fun actionPerformed(e: AnActionEvent) {
val settingsProvider = getTerminalWidget(e)?.settingsProvider ?: return
val newFontSize = settingsProvider.terminalFontSize2D + myStep
val newFontSize = settingsProvider.terminalFontSize + myStep
if (newFontSize >= EditorFontsConstants.getMinEditorFontSize() && newFontSize <= EditorFontsConstants.getMaxEditorFontSize()) {
settingsProvider.terminalFontSize = newFontSize
}

View File

@@ -265,16 +265,7 @@ public class JBTerminalSystemSettingsProviderBase extends DefaultSettingsProvide
@Override
public float getTerminalFontSize() {
return (float)myFontSizeProvider.getFontSize();
}
/**
* Same as getTerminalFontSize() but without rounding.
* @return the raw font size value
*/
@ApiStatus.Internal
public float getTerminalFontSize2D() {
return myFontSizeProvider.getFontSize2D();
return myFontSizeProvider.getFontSize();
}
@ApiStatus.Internal

View File

@@ -157,11 +157,11 @@ public class JBTerminalWidget extends JediTermWidget implements Disposable, UiCo
}
/**
* @deprecated use {@link JBTerminalSystemSettingsProviderBase#getTerminalFontSize2D()} instead
* @deprecated use {@link JBTerminalSystemSettingsProviderBase#getTerminalFontSize()} instead
*/
@Deprecated
public float getFontSize2D() {
return getSettingsProvider().getTerminalFontSize2D();
return getSettingsProvider().getTerminalFontSize();
}
/**

View File

@@ -6,14 +6,10 @@ import com.intellij.openapi.Disposable
internal class TerminalConsoleFontSizeProvider : TerminalFontSizeProvider {
private val uiSettingsManager = TerminalUiSettingsManager.getInstance()
override fun getFontSize(): Int {
override fun getFontSize(): Float {
return uiSettingsManager.getFontSize()
}
override fun getFontSize2D(): Float {
return uiSettingsManager.getFontSize2D()
}
override fun setFontSize(newSize: Float) {
return uiSettingsManager.setFontSize(newSize)
}

View File

@@ -6,9 +6,7 @@ import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
interface TerminalFontSizeProvider {
fun getFontSize(): Int
fun getFontSize2D(): Float
fun getFontSize(): Float
/**
* Sets temporary font size without changing the size in the settings.

View File

@@ -101,11 +101,7 @@ class TerminalUiSettingsManager internal constructor() : PersistentStateComponen
}
}
fun getFontSize(): Int {
return (getFontSize2D() + 0.5).toInt()
}
fun getFontSize2D(): Float {
fun getFontSize(): Float {
if (fontSize <= 0) {
fontSize = detectFontSize()
}

View File

@@ -8,7 +8,6 @@ import com.intellij.openapi.components.Service
import com.intellij.openapi.components.service
import com.intellij.terminal.TerminalFontSizeProvider
import java.util.concurrent.CopyOnWriteArrayList
import kotlin.math.roundToInt
@Service(Service.Level.APP)
internal class TerminalFontSizeProviderImpl : TerminalFontSizeProvider, Disposable {
@@ -29,11 +28,7 @@ internal class TerminalFontSizeProviderImpl : TerminalFontSizeProvider, Disposab
}, disposable = this)
}
override fun getFontSize(): Int {
return getFontSize2D().roundToInt()
}
override fun getFontSize2D(): Float {
override fun getFontSize(): Float {
var size = fontSize
if (size == null) {
size = getDefaultScaledFontSize().floatValue