Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions src/ui_parts/previews.gd
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ class IconPreviewTileData extends RefCounted:
svg_size *= multiplier
var font := ThemeUtils.main_font

dimensions_text = "%d×%d" % [int(svg_size.x), int(svg_size.y)]
preview_texture = DPITexture.create_from_string(State.stable_export_markup, multiplier)
dimensions_text = "%d×%d" % [preview_texture.get_width(), preview_texture.get_height()]
additional_text = " (%sx)" % Utils.num_simple(multiplier, 1 if multiplier > 10 else 2)
dimensions_label_width = font.get_string_size(dimensions_text, HORIZONTAL_ALIGNMENT_LEFT, -1, 14).x
var additional_text_width := font.get_string_size(additional_text, HORIZONTAL_ALIGNMENT_LEFT, -1, 14).x
Expand All @@ -59,16 +60,14 @@ class IconPreviewTileData extends RefCounted:
# Wide previews keep the text centered beneath them, while narrow previews are centered over the label row.
if preview_size.x >= bottom_row_width:
preview_rect = Rect2(Vector2(TILE_PADDING, TILE_PADDING), preview_size)
dimensions_label_pos = Vector2(TILE_PADDING + roundf((preview_size.x - full_text_width) / 2.0) + 2,
TILE_PADDING + preview_size.y)
dimensions_label_pos = Vector2(TILE_PADDING + roundf((preview_size.x - full_text_width) / 2.0) + 2, TILE_PADDING + preview_size.y)
else:
preview_rect = Rect2(Vector2(TILE_PADDING, TILE_PADDING) + Vector2(roundf((bottom_row_width - preview_size.x) / 2.0), 0), preview_size)
dimensions_label_pos = Vector2(TILE_PADDING + 2, TILE_PADDING + preview_size.y)
additional_label_pos = dimensions_label_pos + Vector2(dimensions_label_width, 0)
action_button_rect = Rect2(Vector2(additional_label_pos.x + (additional_text_width - ACTION_BUTTON_SIZE) / 2, additional_label_pos.y + 2),
Vector2(ACTION_BUTTON_SIZE, ACTION_BUTTON_SIZE))

preview_texture = DPITexture.create_from_string(State.stable_export_markup, multiplier)

var tiles: Array[IconPreviewTileData] = []
var hovered_tile_index := -1
Expand Down
4 changes: 1 addition & 3 deletions src/ui_widgets/export_properties_jpg.gd
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@ func setup(new_export_data_object: ImageExportDataJPG, new_undo_redo: UndoRedoRe
quality_edit.initial_value = export_data_object.quality * 100
quality_edit.value_changed.connect(
func(new_value: float) -> void:
var new_quality := new_value / 100
quality_edit.text = String.num_uint64(roundi(new_quality * 100))
undo_redo.create_action()
undo_redo.add_do_property(export_data_object, "quality", new_quality)
undo_redo.add_do_property(export_data_object, "quality", new_value / 100)
undo_redo.add_undo_property(export_data_object, "quality", export_data_object.quality)
undo_redo.commit_action()
)
Expand Down
4 changes: 1 addition & 3 deletions src/ui_widgets/export_properties_webp.gd
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,8 @@ func setup(new_export_data_object: ImageExportDataWEBP, new_undo_redo: UndoRedoR
quality_edit.initial_value = export_data_object.quality * 100
quality_edit.value_changed.connect(
func(new_value: float) -> void:
var new_quality := new_value / 100
quality_edit.text = String.num_uint64(roundi(new_quality * 100))
undo_redo.create_action()
undo_redo.add_do_property(export_data_object, "quality", new_quality)
undo_redo.add_do_property(export_data_object, "quality", new_value / 100)
undo_redo.add_undo_property(export_data_object, "quality", export_data_object.quality)
undo_redo.commit_action()
)
Expand Down
1 change: 1 addition & 0 deletions src/ui_widgets/export_scale_config.gd
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ func setup(new_original_width: float, new_original_height: float, initial_scale:

func set_export_scale(new_scale: float) -> void:
scale_edit.set_value(new_scale, false)
new_scale = scale_edit.get_value()
width_edit.set_value(roundi(original_width * new_scale), false)
height_edit.set_value(roundi(original_height * new_scale), false)

Expand Down
2 changes: 2 additions & 0 deletions src/ui_widgets/number_edit.gd
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ func set_value(new_value: float, emit_changed := true) -> void:
return
elif _value != new_value:
new_value = clampf(new_value, min_value, max_value)
if not is_float:
new_value = roundf(new_value)
if _value != new_value:
_value = new_value
if emit_changed:
Expand Down