summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorvolzhs <volzhs@gmail.com>2017-04-11 20:22:57 +0900
committervolzhs <volzhs@gmail.com>2017-04-11 20:37:22 +0900
commitc3e6759ca1324447b8d51362e622f3a19403cb4e (patch)
tree332283509a9aded0d4a888fa9b21761584f22eda /editor
parent09ed1113fa78d31c72341c2b3550e554e728b1f3 (diff)
Prevent to take too much space for long vertical texture
Diffstat (limited to 'editor')
-rw-r--r--editor/property_editor.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp
index 86136fa78b..77de27a651 100644
--- a/editor/property_editor.cpp
+++ b/editor/property_editor.cpp
@@ -2388,6 +2388,10 @@ void PropertyEditor::set_item_text(TreeItem *p_item, int p_type, const String &p
RES res = obj->get(p_name).operator RefPtr();
if (res->is_class("Texture")) {
int tw = EditorSettings::get_singleton()->get("docks/property_editor/texture_preview_width");
+ Vector2 size(res->call("get_width"), res->call("get_height"));
+ if (size.width < size.height) {
+ tw = MAX((size.width / size.height) * tw, 1);
+ }
p_item->set_icon_max_width(1, tw);
p_item->set_icon(1, res);
p_item->set_text(1, "");
@@ -3618,6 +3622,10 @@ void PropertyEditor::update_tree() {
if (res->is_class("Texture")) {
int tw = EditorSettings::get_singleton()->get("docks/property_editor/texture_preview_width");
+ Vector2 size(res->call("get_width"), res->call("get_height"));
+ if (size.width < size.height) {
+ tw = MAX((size.width / size.height) * tw, 1);
+ }
item->set_icon_max_width(1, tw);
item->set_icon(1, res);
item->set_text(1, "");