Improve movement speed button (#1161)

* Improve float formatting

This was displayed as standard form if the value got very small which was confusing to some users.
It is now displayed with 3 significant figures if the value is below 100 and without the decimal otherwise.

* Change bps to b/s

* Add a space between number and unit
This commit is contained in:
gentlegiantJGC 2025-04-29 09:37:17 +01:00 committed by GitHub
parent 22cd4c97c4
commit 679d42367d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 19 additions and 11 deletions

View File

@ -265,7 +265,7 @@ program_3d_edit.goto_ui.paste_button_tooltip=Paste a previously copied coordinat
program_3d_edit.file_ui.version_tooltip=Platform and data version of the world
program_3d_edit.file_ui.projection_tooltip=Change view
program_3d_edit.file_ui.location_tooltip=Move camera
program_3d_edit.file_ui.speed_blocks_per_second=bps
program_3d_edit.file_ui.speed_blocks_per_second=b/s
program_3d_edit.file_ui.speed_tooltip=Camera speed in blocks per second
program_3d_edit.file_ui.speed_dialog_name=Set camera speed
program_3d_edit.file_ui.dim_tooltip=Select dimension

View File

@ -259,7 +259,7 @@ program_3d_edit.goto_ui.paste_button_tooltip=Pega una coordenada copiada anterio
program_3d_edit.file_ui.version_tooltip=Plataforma y versión de datos del mundo
program_3d_edit.file_ui.projection_tooltip=Cambiar vista
program_3d_edit.file_ui.location_tooltip=Mover cámara
program_3d_edit.file_ui.speed_blocks_per_second=bps
program_3d_edit.file_ui.speed_blocks_per_second=b/s
program_3d_edit.file_ui.speed_tooltip=Velocidad de la cámara en bloques por segundo
program_3d_edit.file_ui.speed_dialog_name=Asignar velocidad de cámara
program_3d_edit.file_ui.dim_tooltip=Seleccionar Dimensión

View File

@ -222,7 +222,7 @@ program_3d_edit.goto_ui.paste_button_tooltip=Tempelkan koordinat yang sebelumnya
program_3d_edit.file_ui.version_tooltip=Platform dan versi data dunia
program_3d_edit.file_ui.projection_tooltip=Ubah tampilan
program_3d_edit.file_ui.location_tooltip=Geser Kamera
program_3d_edit.file_ui.speed_blocks_per_second=bps
program_3d_edit.file_ui.speed_blocks_per_second=b/s
program_3d_edit.file_ui.speed_tooltip=Kecepatan kamera dalam blok per detik
program_3d_edit.file_ui.speed_dialog_name=Atur kecepatan kamera
program_3d_edit.file_ui.dim_tooltip=Pilih dimensi

View File

@ -259,7 +259,7 @@ program_3d_edit.goto_ui.paste_button_tooltip=コピーした座標を入力に
program_3d_edit.file_ui.version_tooltip=このワールドのプラットフォームとバージョン
program_3d_edit.file_ui.projection_tooltip=視点の切替
program_3d_edit.file_ui.location_tooltip=カメラを移動
program_3d_edit.file_ui.speed_blocks_per_second=bps
program_3d_edit.file_ui.speed_blocks_per_second=b/s
program_3d_edit.file_ui.speed_tooltip=カメラ速度(ブロック/秒)
program_3d_edit.file_ui.speed_dialog_name=カメラスピードの設定
program_3d_edit.file_ui.dim_tooltip=ディメンションを選択

View File

@ -259,7 +259,7 @@ program_3d_edit.goto_ui.paste_button_tooltip=이전에 복사한 좌표를 입
program_3d_edit.file_ui.version_tooltip=세계의 플랫폼 및 데이터 버전
program_3d_edit.file_ui.projection_tooltip=보기 변경
program_3d_edit.file_ui.location_tooltip=카메라 이동
program_3d_edit.file_ui.speed_blocks_per_second=bps
program_3d_edit.file_ui.speed_blocks_per_second=b/s
program_3d_edit.file_ui.speed_tooltip=초당 블록 이동 속도
program_3d_edit.file_ui.speed_dialog_name=카메라 속도 설정
program_3d_edit.file_ui.dim_tooltip=차원 선택

View File

@ -259,7 +259,7 @@ program_3d_edit.goto_ui.paste_button_tooltip=Cole uma coordenada copiada anterio
program_3d_edit.file_ui.version_tooltip=Plataforma e versão de dados do mundo
program_3d_edit.file_ui.projection_tooltip=Alterar visualização
program_3d_edit.file_ui.location_tooltip=Mover Câmera
program_3d_edit.file_ui.speed_blocks_per_second=bps
program_3d_edit.file_ui.speed_blocks_per_second=b/s
program_3d_edit.file_ui.speed_tooltip=Velocidade da câmera em blocos por segundo
program_3d_edit.file_ui.speed_dialog_name=Definir velocidade da câmera
program_3d_edit.file_ui.dim_tooltip=Selecione a dimensão

View File

@ -265,7 +265,7 @@ program_3d_edit.goto_ui.paste_button_tooltip=Dán một toạ độ đã đượ
program_3d_edit.file_ui.version_tooltip=Phiên bản dữ liệu và nền tảng của thế giới
program_3d_edit.file_ui.projection_tooltip=Thay đổi góc nhìn
program_3d_edit.file_ui.location_tooltip=Di chuyển máy quay
program_3d_edit.file_ui.speed_blocks_per_second=bps
program_3d_edit.file_ui.speed_blocks_per_second=b/s
program_3d_edit.file_ui.speed_tooltip=Tốc độ máy quay theo khối trên giây
program_3d_edit.file_ui.speed_dialog_name=Đặt tốc độ máy quay
program_3d_edit.file_ui.dim_tooltip=Lựa chọn chiều không gian

View File

@ -305,7 +305,7 @@ program_3d_edit.goto_ui.paste_button_tooltip=将之前复制的坐标粘贴到
program_3d_edit.file_ui.version_tooltip=世界的平台和数据版本
program_3d_edit.file_ui.projection_tooltip=改变视图
program_3d_edit.file_ui.location_tooltip=移动相机
program_3d_edit.file_ui.speed_blocks_per_second=bps
program_3d_edit.file_ui.speed_blocks_per_second=b/s
program_3d_edit.file_ui.speed_tooltip=相机速度(每秒移动的方块数)
program_3d_edit.file_ui.speed_dialog_name=设置相机速度
program_3d_edit.file_ui.dim_tooltip=选择维度

View File

@ -305,7 +305,7 @@ program_3d_edit.goto_ui.paste_button_tooltip=將之前複製的坐標粘貼到
program_3d_edit.file_ui.version_tooltip=世界的平臺和數據版本
program_3d_edit.file_ui.projection_tooltip=改變視圖
program_3d_edit.file_ui.location_tooltip=移動相機
program_3d_edit.file_ui.speed_blocks_per_second=bps
program_3d_edit.file_ui.speed_blocks_per_second=b/s
program_3d_edit.file_ui.speed_tooltip=相機速度(每秒移動的方塊數)
program_3d_edit.file_ui.speed_dialog_name=設置相機速度
program_3d_edit.file_ui.dim_tooltip=選擇維度

View File

@ -1,4 +1,5 @@
from typing import TYPE_CHECKING, Optional
from math import floor, log10
import wx
from amulet_map_editor.programs.edit.api.edit_canvas_container import (
@ -24,6 +25,13 @@ if TYPE_CHECKING:
from amulet_map_editor.programs.edit.api.canvas import EditCanvas
def _format_float(num: float) -> str:
if num < 100:
return f"{num:.0{max(0, 2 - floor(log10(num)))}f}".rstrip("0").rstrip(".")
else:
return f"{num:.0f}"
class FilePanel(wx.BoxSizer, EditCanvasContainer):
def __init__(self, canvas: "EditCanvas"):
wx.BoxSizer.__init__(self, wx.HORIZONTAL)
@ -65,7 +73,7 @@ class FilePanel(wx.BoxSizer, EditCanvasContainer):
self._speed_button = wx.Button(
canvas,
label=f"{self.canvas.camera.move_speed*1000/33:.4g}{lang.get('program_3d_edit.file_ui.speed_blocks_per_second')}",
label=f"{_format_float(self.canvas.camera.move_speed * 1000 / 33)} {lang.get('program_3d_edit.file_ui.speed_blocks_per_second')}",
)
self._speed_button.SetToolTip(lang.get("program_3d_edit.file_ui.speed_tooltip"))
self._speed_button.Bind(wx.EVT_BUTTON, set_speed)
@ -179,7 +187,7 @@ class FilePanel(wx.BoxSizer, EditCanvasContainer):
evt.Skip()
def _on_speed_change(self, evt):
label = f"{self.canvas.camera.move_speed*1000/33:.4g}{lang.get('program_3d_edit.file_ui.speed_blocks_per_second')}"
label = f"{_format_float(self.canvas.camera.move_speed * 1000 / 33)} {lang.get('program_3d_edit.file_ui.speed_blocks_per_second')}"
old_label = self._speed_button.GetLabel()
self._speed_button.SetLabel(label)
if len(label) != len(old_label):