summaryrefslogtreecommitdiff
path: root/tools/editor
diff options
context:
space:
mode:
Diffstat (limited to 'tools/editor')
-rw-r--r--tools/editor/code_editor.cpp200
-rw-r--r--tools/editor/code_editor.h17
-rw-r--r--tools/editor/editor_file_dialog.cpp9
-rw-r--r--tools/editor/editor_fonts.cpp22
-rw-r--r--tools/editor/editor_node.cpp21
-rw-r--r--tools/editor/editor_node.h1
-rw-r--r--tools/editor/editor_resource_preview.cpp4
-rw-r--r--tools/editor/editor_scale.cpp7
-rw-r--r--tools/editor/editor_scale.h8
-rw-r--r--tools/editor/icons/SCsub3
-rw-r--r--tools/editor/io_plugins/editor_font_import_plugin.cpp10
-rw-r--r--tools/editor/io_plugins/editor_mesh_import_plugin.cpp2
-rw-r--r--tools/editor/io_plugins/editor_sample_import_plugin.cpp6
-rw-r--r--tools/editor/io_plugins/editor_scene_import_plugin.cpp18
-rw-r--r--tools/editor/io_plugins/editor_texture_import_plugin.cpp14
-rw-r--r--tools/editor/io_plugins/editor_translation_import_plugin.cpp12
-rw-r--r--tools/editor/plugins/editor_preview_plugins.cpp9
-rw-r--r--tools/editor/plugins/material_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/mesh_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/sample_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/script_editor_plugin.cpp4
-rw-r--r--tools/editor/plugins/spatial_editor_plugin.cpp14
-rw-r--r--tools/editor/progress_dialog.cpp6
-rw-r--r--tools/editor/project_export.cpp2
-rw-r--r--tools/editor/project_settings.cpp8
-rw-r--r--tools/editor/property_editor.cpp12
-rw-r--r--tools/editor/scenes_dock.cpp4
-rw-r--r--tools/editor/script_editor_debugger.cpp12
28 files changed, 255 insertions, 176 deletions
diff --git a/tools/editor/code_editor.cpp b/tools/editor/code_editor.cpp
index a9e31a6561..f62209fafa 100644
--- a/tools/editor/code_editor.cpp
+++ b/tools/editor/code_editor.cpp
@@ -122,82 +122,30 @@ void FindReplaceBar::_unhandled_input(const InputEvent &p_event) {
}
}
-bool FindReplaceBar::_search(bool p_include_current, bool p_backwards) {
+bool FindReplaceBar::_search(uint32_t p_flags, int p_from_line, int p_from_col) {
+ int line, col;
String text=get_search_text();
- uint32_t flags=0;
-
- if (is_whole_words())
- flags|=TextEdit::SEARCH_WHOLE_WORDS;
- if (is_case_sensitive())
- flags|=TextEdit::SEARCH_MATCH_CASE;
- if (p_backwards)
- flags|=TextEdit::SEARCH_BACKWARDS;
-
- int line=text_edit->cursor_get_line();
- int col=text_edit->cursor_get_column();
-
- if (text_edit->is_selection_active() && !replace_all_mode) {
- line = text_edit->get_selection_from_line();
- col = text_edit->get_selection_from_column();
- }
-
- bool cursor_at_result=false;
-
- if (line==current_result_line && col>=current_result_col && col<=current_result_col+text.length()) {
- col=current_result_col;
- cursor_at_result=true;
- }
-
- if (!p_include_current) {
- if (p_backwards) {
- col-=text.length();
- if (col<0) {
- line-=1;
- if (line<0)
- line=text_edit->get_line_count()-1;
- col=text_edit->get_line(line).length();
- }
- } else if (cursor_at_result) {
- col+=text.length();
- if (col>text_edit->get_line(line).length()) {
- line+=1;
- if (line>=text_edit->get_line_count())
- line=0;
- col=0;
- }
- }
- }
- bool found = text_edit->search(text,flags,line,col,line,col);
+ bool found=text_edit->search(text,p_flags,p_from_line,p_from_col,line,col);
- if (!found) {
- if (p_backwards) {
- line = text_edit->get_line_count()-1;
- col = text_edit->get_line(line).length()-1;
- } else {
- line = 0;
- col = 0;
+ if (found) {
+ if (!preserve_cursor) {
+ text_edit->cursor_set_line(line);
+ text_edit->cursor_set_column(col+text.length());
}
- found = text_edit->search(text,flags,line,col,line,col);
- }
-
- if (found) {
- text_edit->cursor_set_line(line);
- text_edit->cursor_set_column(p_backwards?col:col+text.length());
- text_edit->select(line,col,line,col+text.length());
text_edit->set_search_text(text);
- text_edit->set_search_flags(flags);
+ text_edit->set_search_flags(p_flags);
text_edit->set_current_search_result(line,col);
- current_result_line = line;
- current_result_col = col;
+ result_line=line;
+ result_col=col;
set_error("");
} else {
- current_result_line = -1;
- current_result_col = -1;
+ result_line=-1;
+ result_col=-1;
text_edit->set_search_text("");
set_error(text.empty()?"":TTR("No Matches"));
}
@@ -207,8 +155,13 @@ bool FindReplaceBar::_search(bool p_include_current, bool p_backwards) {
void FindReplaceBar::_replace() {
- if (text_edit->get_selection_text()==get_search_text()) {
+ if (result_line!=-1 && result_col!=-1) {
+ text_edit->begin_complex_operation();
+
+ text_edit->select(result_line,result_col,result_line,result_col+get_search_text().length());
text_edit->insert_text_at_cursor(get_replace_text());
+
+ text_edit->end_complex_operation();
}
search_current();
@@ -232,28 +185,26 @@ void FindReplaceBar::_replace_all() {
text_edit->cursor_set_line(0);
text_edit->cursor_set_column(0);
+ int search_text_len=get_search_text().length();
int rc=0;
replace_all_mode = true;
text_edit->begin_complex_operation();
- while(_search(false)) {
-
- if (!text_edit->is_selection_active()) {
- // search selects
- break;
- }
+ while (search_next()) {
// replace area
- Point2i match_from(text_edit->get_selection_from_line(),text_edit->get_selection_from_column());
- Point2i match_to(text_edit->get_selection_to_line(),text_edit->get_selection_to_column());
+ Point2i match_from(result_line,result_col);
+ Point2i match_to(result_line,result_col+search_text_len);
if (match_from < prev_match)
break; // done
prev_match=match_to;
+ text_edit->select(result_line,result_col,result_line,match_to.y);
+
if (selection_enabled && is_selection_only()) {
if (match_from<selection_begin || match_to>selection_end)
@@ -264,7 +215,7 @@ void FindReplaceBar::_replace_all() {
if (match_to.x==selection_end.x)
selection_end.y+=get_replace_text().length() - get_search_text().length();
} else {
- //just replace
+ // just replace
text_edit->insert_text_at_cursor(get_replace_text());
}
@@ -290,26 +241,96 @@ void FindReplaceBar::_replace_all() {
set_error(vformat(TTR("Replaced %d Ocurrence(s)."), rc));
}
-void FindReplaceBar::search_current() {
+void FindReplaceBar::_get_search_from(int& r_line, int& r_col) {
+
+ r_line=text_edit->cursor_get_line();
+ r_col=text_edit->cursor_get_column();
+
+ if (text_edit->is_selection_active() && !replace_all_mode) {
+ r_line=text_edit->get_selection_from_line();
+ r_col=text_edit->get_selection_to_column();
+ }
- _search(true);
+ if (r_line==result_line && r_col>=result_col && r_col<=result_col+get_search_text().length()) {
+ r_col=result_col;
+ }
}
-void FindReplaceBar::search_prev() {
+bool FindReplaceBar::search_current() {
+
+ uint32_t flags=0;
- _search(false, true);
+ if (is_whole_words())
+ flags|=TextEdit::SEARCH_WHOLE_WORDS;
+ if (is_case_sensitive())
+ flags|=TextEdit::SEARCH_MATCH_CASE;
+
+ int line, col;
+ _get_search_from(line, col);
+
+ return _search(flags,line,col);
}
-void FindReplaceBar::search_next() {
+bool FindReplaceBar::search_prev() {
- _search();
+ uint32_t flags=0;
+ String text = get_search_text();
+
+ if (is_whole_words())
+ flags|=TextEdit::SEARCH_WHOLE_WORDS;
+ if (is_case_sensitive())
+ flags|=TextEdit::SEARCH_MATCH_CASE;
+
+ flags|=TextEdit::SEARCH_BACKWARDS;
+
+ int line, col;
+ _get_search_from(line, col);
+
+ col-=text.length();
+ if (col<0) {
+ line-=1;
+ if (line<0)
+ line=text_edit->get_line_count()-1;
+ col=text_edit->get_line(line).length();
+ }
+
+ return _search(flags,line,col);
+}
+
+bool FindReplaceBar::search_next() {
+
+ uint32_t flags=0;
+ String text = get_search_text();
+
+ if (is_whole_words())
+ flags|=TextEdit::SEARCH_WHOLE_WORDS;
+ if (is_case_sensitive())
+ flags|=TextEdit::SEARCH_MATCH_CASE;
+
+ int line, col;
+ _get_search_from(line, col);
+
+ if (line==result_line && col==result_col) {
+ col+=text.length();
+ if (col>text_edit->get_line(line).length()) {
+ line+=1;
+ if (line>=text_edit->get_line_count())
+ line=0;
+ col=0;
+ }
+ }
+
+ return _search(flags,line,col);
}
void FindReplaceBar::_hide_bar() {
+ if (replace_text->has_focus() || search_text->has_focus())
+ text_edit->grab_focus();
+
text_edit->set_search_text("");
- current_result_line = -1;
- current_result_col = -1;
+ result_line = -1;
+ result_col = -1;
replace_hbc->hide();
replace_options_hbc->hide();
hide();
@@ -354,6 +375,15 @@ void FindReplaceBar::_search_options_changed(bool p_pressed) {
search_current();
}
+void FindReplaceBar::_editor_text_changed() {
+
+ if (is_visible()) {
+ preserve_cursor=true;
+ search_current();
+ preserve_cursor=false;
+ }
+}
+
void FindReplaceBar::_search_text_changed(const String& p_text) {
search_current();
@@ -397,13 +427,14 @@ void FindReplaceBar::set_error(const String &p_label) {
void FindReplaceBar::set_text_edit(TextEdit *p_text_edit) {
text_edit = p_text_edit;
- text_edit->connect("_text_changed",this,"_search_text_changed",varray(String()));
+ text_edit->connect("text_changed",this,"_editor_text_changed");
}
void FindReplaceBar::_bind_methods() {
ObjectTypeDB::bind_method("_unhandled_input",&FindReplaceBar::_unhandled_input);
+ ObjectTypeDB::bind_method("_editor_text_changed",&FindReplaceBar::_editor_text_changed);
ObjectTypeDB::bind_method("_search_text_changed",&FindReplaceBar::_search_text_changed);
ObjectTypeDB::bind_method("_search_text_entered",&FindReplaceBar::_search_text_entered);
ObjectTypeDB::bind_method("_search_current",&FindReplaceBar::search_current);
@@ -419,6 +450,9 @@ void FindReplaceBar::_bind_methods() {
FindReplaceBar::FindReplaceBar() {
+ replace_all_mode=false;
+ preserve_cursor=false;
+
text_vbc = memnew(VBoxContainer);
add_child(text_vbc);
diff --git a/tools/editor/code_editor.h b/tools/editor/code_editor.h
index 52a36c979d..2e1bf46c02 100644
--- a/tools/editor/code_editor.h
+++ b/tools/editor/code_editor.h
@@ -83,13 +83,18 @@ class FindReplaceBar : public HBoxContainer {
TextEdit *text_edit;
- int current_result_line;
- int current_result_col;
+ int result_line;
+ int result_col;
bool replace_all_mode;
+ bool preserve_cursor;
+
+ void _get_search_from(int& r_line, int& r_col);
void _show_search();
void _hide_bar();
+
+ void _editor_text_changed();
void _search_options_changed(bool p_pressed);
void _search_text_changed(const String& p_text);
void _search_text_entered(const String& p_text);
@@ -98,7 +103,7 @@ protected:
void _notification(int p_what);
void _unhandled_input(const InputEvent &p_event);
- bool _search(bool p_include_current=false, bool p_backwards=false);
+ bool _search(uint32_t p_flags, int p_from_line, int p_from_col);
void _replace();
void _replace_all();
@@ -119,9 +124,9 @@ public:
void popup_search();
void popup_replace();
- void search_current();
- void search_prev();
- void search_next();
+ bool search_current();
+ bool search_prev();
+ bool search_next();
FindReplaceBar();
};
diff --git a/tools/editor/editor_file_dialog.cpp b/tools/editor/editor_file_dialog.cpp
index b9d4949018..185ec17459 100644
--- a/tools/editor/editor_file_dialog.cpp
+++ b/tools/editor/editor_file_dialog.cpp
@@ -7,7 +7,7 @@
#include "editor_settings.h"
#include "scene/gui/margin_container.h"
#include "os/file_access.h"
-
+#include "editor_scale.h"
EditorFileDialog::GetIconFunc EditorFileDialog::get_icon_func=NULL;
EditorFileDialog::GetIconFunc EditorFileDialog::get_large_icon_func=NULL;
@@ -347,7 +347,7 @@ void EditorFileDialog::_action_pressed() {
if (!valid) {
- exterr->popup_centered_minsize(Size2(250,80));
+ exterr->popup_centered_minsize(Size2(250,80)*EDSCALE);
return;
}
@@ -431,6 +431,7 @@ void EditorFileDialog::update_file_list() {
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
+ thumbnail_size*=EDSCALE;
Ref<Texture> folder_thumbnail;
Ref<Texture> file_thumbnail;
@@ -840,7 +841,7 @@ void EditorFileDialog::_make_dir_confirm() {
_push_history();
} else {
- mkdirerr->popup_centered_minsize(Size2(250,50));
+ mkdirerr->popup_centered_minsize(Size2(250,50)*EDSCALE);
}
makedirname->set_text(""); // reset label
}
@@ -848,7 +849,7 @@ void EditorFileDialog::_make_dir_confirm() {
void EditorFileDialog::_make_dir() {
- makedialog->popup_centered_minsize(Size2(250,80));
+ makedialog->popup_centered_minsize(Size2(250,80)*EDSCALE);
makedirname->grab_focus();
}
diff --git a/tools/editor/editor_fonts.cpp b/tools/editor/editor_fonts.cpp
index e04dce294a..da947748a4 100644
--- a/tools/editor/editor_fonts.cpp
+++ b/tools/editor/editor_fonts.cpp
@@ -33,6 +33,8 @@
#include "builtin_fonts.h"
#include "editor_settings.h"
#include "scene/resources/dynamic_font.h"
+#include "editor_scale.h"
+#include "scene/resources/default_theme/default_theme.h"
static Ref<BitmapFont> make_font(int p_height,int p_ascent, int p_valign, int p_charcount, const int *p_chars,const Ref<Texture> &p_texture) {
@@ -67,6 +69,7 @@ static Ref<BitmapFont> make_font(int p_height,int p_ascent, int p_valign, int p_
void editor_register_fonts(Ref<Theme> p_theme) {
+
Ref<DynamicFontData> dfd;
dfd.instance();
dfd->set_font_ptr(_font_droid_sans,_font_droid_sans_size);
@@ -79,7 +82,7 @@ void editor_register_fonts(Ref<Theme> p_theme) {
Ref<DynamicFont> df;
df.instance();
- df->set_size(int(EditorSettings::get_singleton()->get("global/font_size")));
+ df->set_size(int(EditorSettings::get_singleton()->get("global/font_size"))*EDSCALE);
df->set_font_data(dfd);
@@ -91,12 +94,12 @@ void editor_register_fonts(Ref<Theme> p_theme) {
Ref<DynamicFont> df_title;
df_title.instance();
- df_title->set_size(int(EDITOR_DEF("help/help_title_font_size",18)));
+ df_title->set_size(int(EDITOR_DEF("help/help_title_font_size",18))*EDSCALE);
df_title->set_font_data(dfd);
Ref<DynamicFont> df_doc;
df_doc.instance();
- df_doc->set_size(int(EDITOR_DEF("help/help_font_size",16)));
+ df_doc->set_size(int(EDITOR_DEF("help/help_font_size",16))*EDSCALE);
df_doc->set_font_data(dfd);
p_theme->set_font("doc","EditorFonts",df_doc);
@@ -105,16 +108,25 @@ void editor_register_fonts(Ref<Theme> p_theme) {
Ref<DynamicFont> df_code;
df_code.instance();
- df_code->set_size(int(EditorSettings::get_singleton()->get("global/source_font_size")));
+ df_code->set_size(int(EditorSettings::get_singleton()->get("global/source_font_size"))*EDSCALE);
df_code->set_font_data(dfmono);
p_theme->set_font("source","EditorFonts",df_code);
Ref<DynamicFont> df_doc_code;
df_doc_code.instance();
- df_doc_code->set_size(int(EDITOR_DEF("help/help_source_font_size",14)));
+ df_doc_code->set_size(int(EDITOR_DEF("help/help_source_font_size",14))*EDSCALE);
df_doc_code->set_font_data(dfmono);
+
p_theme->set_font("doc_source","EditorFonts",df_doc_code);
+ if (editor_is_hidpi()) {
+ //replace default theme
+ Ref<Texture> di;
+ Ref<StyleBox> ds;
+ fill_default_theme(p_theme,df,df_doc,di,ds,true);
+
+ }
+
}
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp
index 8313e38f02..40dce6cbaa 100644
--- a/tools/editor/editor_node.cpp
+++ b/tools/editor/editor_node.cpp
@@ -984,6 +984,7 @@ void EditorNode::_save_scene_with_preview(String p_file) {
save.step(TTR("Creating Thumbnail"),3);
Image img = VS::get_singleton()->viewport_get_screen_capture(viewport);
int preview_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");;
+ preview_size*=EDSCALE;
int width,height;
if (img.get_width() > preview_size && img.get_width() >= img.get_height()) {
@@ -2389,7 +2390,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
confirmation->get_ok()->set_text(TTR("Quit"));
//confirmation->get_cancel()->show();
confirmation->set_text(TTR("Exit the editor?"));
- confirmation->popup_centered(Size2(180,70));
+ confirmation->popup_centered(Size2(180,70)*EDSCALE);
break;
}
@@ -2722,7 +2723,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
if (!p_confirmed) {
confirmation->get_ok()->set_text(TTR("Yes"));
- confirmation->set_text("Open Project Manager? \n(Unsaved changes will be lost)");
+ confirmation->set_text(TTR("Open Project Manager? \n(Unsaved changes will be lost)"));
confirmation->popup_centered_minsize();
break;
}
@@ -2826,7 +2827,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
} break;
case SETTINGS_ABOUT: {
- about->popup_centered(Size2(500,130));
+ about->popup_centered(Size2(500,130)*EDSCALE);
} break;
case SOURCES_REIMPORT: {
@@ -5381,7 +5382,7 @@ EditorNode::EditorNode() {
dock_vb->add_child(dock_hb);
dock_select = memnew( Control );
- dock_select->set_custom_minimum_size(Size2(128,64));
+ dock_select->set_custom_minimum_size(Size2(128,64)*EDSCALE);
dock_select->connect("input_event",this,"_dock_select_input");
dock_select->connect("draw",this,"_dock_select_draw");
dock_select->connect("mouse_exit",this,"_dock_popup_exit");
@@ -5396,7 +5397,7 @@ EditorNode::EditorNode() {
//dock_select_popoup->set_(Size2(20,20));
for(int i=0;i<DOCK_SLOT_MAX;i++) {
- dock_slot[i]->set_custom_minimum_size(Size2(230,220));
+ dock_slot[i]->set_custom_minimum_size(Size2(230,220)*EDSCALE);
dock_slot[i]->set_v_size_flags(Control::SIZE_EXPAND_FILL);
dock_slot[i]->set_popup(dock_select_popoup);
dock_slot[i]->connect("pre_popup_pressed",this,"_dock_pre_popup",varray(i));
@@ -5436,7 +5437,7 @@ EditorNode::EditorNode() {
srt->add_child(scene_tabs);
scene_root_parent = memnew( PanelContainer );
- scene_root_parent->set_custom_minimum_size(Size2(0,80));
+ scene_root_parent->set_custom_minimum_size(Size2(0,80)*EDSCALE);
//Ref<StyleBox> sp = scene_root_parent->get_stylebox("panel","TabContainer");
@@ -5553,7 +5554,7 @@ EditorNode::EditorNode() {
{
Control *sp = memnew( Control );
- sp->set_custom_minimum_size(Size2(30,0));
+ sp->set_custom_minimum_size(Size2(30,0)*EDSCALE);
menu_hb->add_child(sp);
}
@@ -5742,7 +5743,7 @@ EditorNode::EditorNode() {
{
Control *sp = memnew( Control );
- sp->set_custom_minimum_size(Size2(30,0));
+ sp->set_custom_minimum_size(Size2(30,0)*EDSCALE);
menu_hb->add_child(sp);
}
@@ -5764,7 +5765,7 @@ EditorNode::EditorNode() {
{
Control *sp = memnew( Control );
- sp->set_custom_minimum_size(Size2(30,0));
+ sp->set_custom_minimum_size(Size2(30,0)*EDSCALE);
menu_hb->add_child(sp);
}
@@ -5800,7 +5801,7 @@ EditorNode::EditorNode() {
layout_dialog = memnew( EditorNameDialog );
gui_base->add_child(layout_dialog);
layout_dialog->set_hide_on_ok(false);
- layout_dialog->set_size(Size2(175, 70));
+ layout_dialog->set_size(Size2(175, 70)*EDSCALE);
layout_dialog->connect("name_confirmed", this,"_dialog_action");
sources_button = memnew( ToolButton );
diff --git a/tools/editor/editor_node.h b/tools/editor/editor_node.h
index db589bb1c3..e580931df3 100644
--- a/tools/editor/editor_node.h
+++ b/tools/editor/editor_node.h
@@ -85,6 +85,7 @@
#include "progress_dialog.h"
+#include "editor_scale.h"
/**
@author Juan Linietsky <reduzio@gmail.com>
*/
diff --git a/tools/editor/editor_resource_preview.cpp b/tools/editor/editor_resource_preview.cpp
index d31cf9e0fd..13b424c231 100644
--- a/tools/editor/editor_resource_preview.cpp
+++ b/tools/editor/editor_resource_preview.cpp
@@ -4,7 +4,7 @@
#include "io/resource_loader.h"
#include "io/resource_saver.h"
#include "globals.h"
-
+#include "editor_scale.h"
Ref<Texture> EditorResourcePreviewGenerator::generate_from_path(const String& p_path) {
@@ -91,6 +91,7 @@ Ref<Texture> EditorResourcePreview::_generate_preview(const QueueItem& p_item,co
if (generated.is_valid()) {
//print_line("was generated");
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
+ thumbnail_size*=EDSCALE;
//wow it generated a preview... save cache
ResourceSaver::save(cache_base+".png",generated);
FileAccess *f=FileAccess::open(cache_base+".txt",FileAccess::WRITE);
@@ -132,6 +133,7 @@ void EditorResourcePreview::_thread() {
uint64_t modtime = FileAccess::get_modified_time(item.path);
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
+ thumbnail_size*=EDSCALE;
if (cache.has(item.path)) {
//already has it because someone loaded it, just let it know it's ready
diff --git a/tools/editor/editor_scale.cpp b/tools/editor/editor_scale.cpp
new file mode 100644
index 0000000000..ecb1e1816f
--- /dev/null
+++ b/tools/editor/editor_scale.cpp
@@ -0,0 +1,7 @@
+#include "editor_scale.h"
+#include "os/os.h"
+
+bool editor_is_hidpi() {
+
+ return OS::get_singleton()->get_screen_dpi(0) > 150;
+}
diff --git a/tools/editor/editor_scale.h b/tools/editor/editor_scale.h
new file mode 100644
index 0000000000..0f0e90595c
--- /dev/null
+++ b/tools/editor/editor_scale.h
@@ -0,0 +1,8 @@
+#ifndef EDITOR_SCALE_H
+#define EDITOR_SCALE_H
+
+
+bool editor_is_hidpi();
+
+#define EDSCALE (editor_is_hidpi() ? 2 : 1)
+#endif // EDITOR_SCALE_H
diff --git a/tools/editor/icons/SCsub b/tools/editor/icons/SCsub
index 14d2be66f6..f3216b092d 100644
--- a/tools/editor/icons/SCsub
+++ b/tools/editor/icons/SCsub
@@ -11,6 +11,7 @@ def make_editor_icons_action(target, source, env):
s = cStringIO.StringIO()
s.write("#include \"editor_icons.h\"\n\n")
+ s.write("#include \"editor_scale.h\"\n\n")
s.write("#include \"scene/resources/theme.h\"\n\n")
for x in pixmaps:
@@ -36,7 +37,7 @@ def make_editor_icons_action(target, source, env):
s.write("static Ref<ImageTexture> make_icon(const uint8_t* p_png) {\n")
s.write("\tRef<ImageTexture> texture( memnew( ImageTexture ) );\n")
s.write("\tImage img(p_png);\n")
- #s.write("\timg.expand_x2_hq2x();\n")
+ s.write("\tif (editor_is_hidpi()) img.expand_x2_hq2x();\n")
s.write("\ttexture->create_from_image( img,ImageTexture::FLAG_FILTER );\n")
s.write("\treturn texture;\n")
s.write("}\n\n")
diff --git a/tools/editor/io_plugins/editor_font_import_plugin.cpp b/tools/editor/io_plugins/editor_font_import_plugin.cpp
index f4d6af7e10..d5e6e3077e 100644
--- a/tools/editor/io_plugins/editor_font_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_font_import_plugin.cpp
@@ -510,13 +510,13 @@ class EditorFontImportDialog : public ConfirmationDialog {
if (source->get_line_edit()->get_text()=="") {
error_dialog->set_text(TTR("No source font file!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
if (dest->get_line_edit()->get_text()=="") {
error_dialog->set_text(TTR("No target font resource!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -528,7 +528,7 @@ class EditorFontImportDialog : public ConfirmationDialog {
if (rimd.is_null()) {
error_dialog->set_text(TTR("Can't load/process source font."));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -536,7 +536,7 @@ class EditorFontImportDialog : public ConfirmationDialog {
if (err!=OK) {
error_dialog->set_text(TTR("Couldn't save font."));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -573,7 +573,7 @@ public:
void popup_import(const String& p_path) {
- popup_centered(Size2(600,500));
+ popup_centered(Size2(600,500)*EDSCALE);
if (p_path!="") {
diff --git a/tools/editor/io_plugins/editor_mesh_import_plugin.cpp b/tools/editor/io_plugins/editor_mesh_import_plugin.cpp
index 45da42969c..c20515f0f3 100644
--- a/tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_mesh_import_plugin.cpp
@@ -173,7 +173,7 @@ public:
void popup_import(const String& p_path) {
- popup_centered(Size2(400,400));
+ popup_centered(Size2(400,400)*EDSCALE);
if (p_path!="") {
diff --git a/tools/editor/io_plugins/editor_sample_import_plugin.cpp b/tools/editor/io_plugins/editor_sample_import_plugin.cpp
index 120bdc6f44..ac0795f522 100644
--- a/tools/editor/io_plugins/editor_sample_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_sample_import_plugin.cpp
@@ -221,7 +221,7 @@ public:
void popup_import(const String& p_path) {
- popup_centered(Size2(400,400));
+ popup_centered(Size2(400,400)*EDSCALE);
if (p_path!="") {
Ref<ResourceImportMetadata> rimd = ResourceLoader::load_import_metadata(p_path);
@@ -252,7 +252,7 @@ public:
if (samples.size()==0) {
error_dialog->set_text(TTR("No samples to import!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
}
if (save_path->get_text().strip_edges()=="") {
@@ -293,7 +293,7 @@ public:
String dst = save_path->get_text();
if (dst=="") {
error_dialog->set_text(TTR("Save path is empty!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
}
dst = dst.plus_file(samples[i].get_file().basename()+".smp");
diff --git a/tools/editor/io_plugins/editor_scene_import_plugin.cpp b/tools/editor/io_plugins/editor_scene_import_plugin.cpp
index a4bbada931..594d3f5bcd 100644
--- a/tools/editor/io_plugins/editor_scene_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_scene_import_plugin.cpp
@@ -674,7 +674,7 @@ void EditorSceneImportDialog::_open_and_import() {
if (unsaved) {
- confirm_open->popup_centered_minsize(Size2(300,80));
+ confirm_open->popup_centered_minsize(Size2(300,80)*EDSCALE);
} else {
_import(true);
}
@@ -735,7 +735,7 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
Ref<Script> scr = ResourceLoader::load(script_path->get_text());
if (!scr.is_valid()) {
error_dialog->set_text(TTR("Couldn't load post-import script."));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -744,7 +744,7 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
if (!pi->get_script_instance()) {
error_dialog->set_text(TTR("Invalid/broken script for post-import."));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -788,7 +788,7 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
if (err || !scene) {
error_dialog->set_text(TTR("Error importing scene."));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -813,7 +813,7 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
if (err) {
error_dialog->set_text(TTR("Error importing scene."));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
if (wip_open)
@@ -857,7 +857,7 @@ void EditorSceneImportDialog::_import_confirm() {
wip_save_file="";
error_dialog->set_text(TTR("Error importing scene."));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -892,7 +892,7 @@ void EditorSceneImportDialog::_browse_script() {
void EditorSceneImportDialog::popup_import(const String &p_from) {
- popup_centered(Size2(750,550));
+ popup_centered(Size2(750,550)*EDSCALE);
if (p_from!="") {
Ref<ResourceImportMetadata> rimd = ResourceLoader::load_import_metadata(p_from);
if (rimd.is_null())
@@ -1227,7 +1227,7 @@ EditorSceneImportDialog::EditorSceneImportDialog(EditorNode *p_editor, EditorSce
custom_root_hb->add_child(root_type);
root_default = memnew(CheckBox);
- root_default->set_text("Auto");
+ root_default->set_text(TTR("Auto"));
root_default->set_pressed(true);
root_default->connect("pressed",this,"_root_default_pressed");
custom_root_hb->add_child(root_default);
@@ -1324,7 +1324,7 @@ String EditorSceneImportPlugin::get_name() const {
String EditorSceneImportPlugin::get_visible_name() const{
- return "Scene";
+ return TTR("Scene");
}
void EditorSceneImportPlugin::import_dialog(const String& p_from){
diff --git a/tools/editor/io_plugins/editor_texture_import_plugin.cpp b/tools/editor/io_plugins/editor_texture_import_plugin.cpp
index 2376f3a395..21e7ee36bb 100644
--- a/tools/editor/io_plugins/editor_texture_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_texture_import_plugin.cpp
@@ -352,7 +352,7 @@ void EditorTextureImportDialog::_import() {
if (!files.size()) {
error_dialog->set_text(TTR("Please specify some files!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -382,7 +382,7 @@ void EditorTextureImportDialog::_import() {
if (files.size()==0) {
error_dialog->set_text(TTR("At least one file needed for Atlas."));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -406,7 +406,7 @@ void EditorTextureImportDialog::_import() {
if (err) {
error_dialog->set_text(TTR("Error importing:")+" "+dst_file.get_file());
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -415,7 +415,7 @@ void EditorTextureImportDialog::_import() {
if (files.size()!=1) {
error_dialog->set_text(TTR("Only one file is required for large texture."));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -439,7 +439,7 @@ void EditorTextureImportDialog::_import() {
if (err) {
error_dialog->set_text(TTR("Error importing:")+" "+dst_file.get_file());
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -464,7 +464,7 @@ void EditorTextureImportDialog::_import() {
if (err) {
error_dialog->set_text(TTR("Error importing:")+" "+dst_file.get_file());
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -492,7 +492,7 @@ void EditorTextureImportDialog::_browse_target() {
void EditorTextureImportDialog::popup_import(const String& p_from) {
- popup_centered(Size2(600,500));
+ popup_centered(Size2(600,500)*EDSCALE);
if (p_from!="") {
Ref<ResourceImportMetadata> rimd = ResourceLoader::load_import_metadata(p_from);
ERR_FAIL_COND(!rimd.is_valid());
diff --git a/tools/editor/io_plugins/editor_translation_import_plugin.cpp b/tools/editor/io_plugins/editor_translation_import_plugin.cpp
index 2b5bd29ac8..aa36fefdb7 100644
--- a/tools/editor/io_plugins/editor_translation_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_translation_import_plugin.cpp
@@ -65,7 +65,7 @@ public:
if (!f) {
error_dialog->set_text(TTR("Invalid source!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -76,7 +76,7 @@ public:
if (csvh.size()<2) {
error_dialog->set_text(TTR("Invalid translation source!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
return;
}
@@ -171,7 +171,7 @@ public:
void popup_import(const String& p_from) {
- popup_centered(Size2(400,400));
+ popup_centered(Size2(400,400)*EDSCALE);
if (p_from!="") {
@@ -232,12 +232,12 @@ public:
if (items.size()==0) {
error_dialog->set_text(TTR("No items to import!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
}
if (!save_path->get_text().begins_with("res://")) {
error_dialog->set_text(TTR("No target path!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
}
EditorProgress progress("import_xl",TTR("Import Translations"),items.size());
@@ -259,7 +259,7 @@ public:
Error err = plugin->import(savefile,imd);
if (err!=OK) {
error_dialog->set_text(TTR("Couldn't import!"));
- error_dialog->popup_centered(Size2(200,100));
+ error_dialog->popup_centered(Size2(200,100)*EDSCALE);
} else if (add_to_project->is_pressed()) {
ProjectSettings::get_singleton()->add_translation(savefile);
diff --git a/tools/editor/plugins/editor_preview_plugins.cpp b/tools/editor/plugins/editor_preview_plugins.cpp
index 12d50cd4b8..300e35f94d 100644
--- a/tools/editor/plugins/editor_preview_plugins.cpp
+++ b/tools/editor/plugins/editor_preview_plugins.cpp
@@ -7,7 +7,7 @@
#include "scene/resources/sample.h"
#include "scene/resources/mesh.h"
#include "scene/resources/bit_mask.h"
-
+#include "tools/editor/editor_scale.h"
bool EditorTexturePreviewPlugin::handles(const String& p_type) const {
return (ObjectTypeDB::is_type(p_type,"ImageTexture") || ObjectTypeDB::is_type(p_type, "AtlasTexture"));
@@ -36,6 +36,7 @@ Ref<Texture> EditorTexturePreviewPlugin::generate(const RES& p_from) {
img.clear_mipmaps();
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
+ thumbnail_size*=EDSCALE;
if (img.is_compressed()) {
if (img.decompress()!=OK)
return Ref<Texture>();
@@ -111,6 +112,7 @@ Ref<Texture> EditorBitmapPreviewPlugin::generate(const RES& p_from) {
Image img(bm->get_size().width,bm->get_size().height,0,Image::FORMAT_GRAYSCALE,data);
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
+ thumbnail_size*=EDSCALE;
if (img.is_compressed()) {
if (img.decompress()!=OK)
return Ref<Texture>();
@@ -233,6 +235,7 @@ Ref<Texture> EditorMaterialPreviewPlugin::generate(const RES& p_from) {
VS::get_singleton()->mesh_surface_set_material(sphere,0,RID());
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
+ thumbnail_size*=EDSCALE;
img.resize(thumbnail_size,thumbnail_size);
Ref<ImageTexture> ptex = Ref<ImageTexture>( memnew( ImageTexture ));
@@ -401,6 +404,7 @@ Ref<Texture> EditorScriptPreviewPlugin::generate(const RES& p_from) {
int line = 0;
int col=0;
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
+ thumbnail_size*=EDSCALE;
Image img(thumbnail_size,thumbnail_size,0,Image::FORMAT_RGBA);
@@ -501,7 +505,7 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) {
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
-
+ thumbnail_size*=EDSCALE;
DVector<uint8_t> img;
int w = thumbnail_size;
int h = thumbnail_size;
@@ -815,6 +819,7 @@ Ref<Texture> EditorMeshPreviewPlugin::generate(const RES& p_from) {
VS::get_singleton()->instance_set_base(mesh_instance,RID());
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
+ thumbnail_size*=EDSCALE;
img.resize(thumbnail_size,thumbnail_size);
Ref<ImageTexture> ptex = Ref<ImageTexture>( memnew( ImageTexture ));
diff --git a/tools/editor/plugins/material_editor_plugin.cpp b/tools/editor/plugins/material_editor_plugin.cpp
index 4ef2815a32..f4258836e5 100644
--- a/tools/editor/plugins/material_editor_plugin.cpp
+++ b/tools/editor/plugins/material_editor_plugin.cpp
@@ -294,7 +294,7 @@ MaterialEditor::MaterialEditor() {
}
- set_custom_minimum_size(Size2(1,150));
+ set_custom_minimum_size(Size2(1,150)*EDSCALE);
HBoxContainer *hb = memnew( HBoxContainer );
add_child(hb);
diff --git a/tools/editor/plugins/mesh_editor_plugin.cpp b/tools/editor/plugins/mesh_editor_plugin.cpp
index ecf17fec19..51a436e58d 100644
--- a/tools/editor/plugins/mesh_editor_plugin.cpp
+++ b/tools/editor/plugins/mesh_editor_plugin.cpp
@@ -141,7 +141,7 @@ MeshEditor::MeshEditor() {
- set_custom_minimum_size(Size2(1,150));
+ set_custom_minimum_size(Size2(1,150)*EDSCALE);
HBoxContainer *hb = memnew( HBoxContainer );
add_child(hb);
diff --git a/tools/editor/plugins/sample_editor_plugin.cpp b/tools/editor/plugins/sample_editor_plugin.cpp
index f9217e47fa..a3891a648b 100644
--- a/tools/editor/plugins/sample_editor_plugin.cpp
+++ b/tools/editor/plugins/sample_editor_plugin.cpp
@@ -404,7 +404,7 @@ SampleEditor::SampleEditor() {
play->connect("pressed", this,"_play_pressed");
stop->connect("pressed", this,"_stop_pressed");
- set_custom_minimum_size(Size2(1,150));
+ set_custom_minimum_size(Size2(1,150)*EDSCALE);
}
diff --git a/tools/editor/plugins/script_editor_plugin.cpp b/tools/editor/plugins/script_editor_plugin.cpp
index 6d87777a79..2453ff3190 100644
--- a/tools/editor/plugins/script_editor_plugin.cpp
+++ b/tools/editor/plugins/script_editor_plugin.cpp
@@ -978,7 +978,7 @@ void ScriptEditor::_menu_option(int p_option) {
switch(p_option) {
case FILE_NEW: {
script_create_dialog->config("Node", ".gd");
- script_create_dialog->popup_centered(Size2(300, 300));
+ script_create_dialog->popup_centered(Size2(300, 300)*EDSCALE);
} break;
case FILE_OPEN: {
@@ -1100,7 +1100,7 @@ void ScriptEditor::_menu_option(int p_option) {
switch(p_option) {
case FILE_NEW: {
script_create_dialog->config("Node", ".gd");
- script_create_dialog->popup_centered(Size2(300, 300));
+ script_create_dialog->popup_centered(Size2(300, 300)*EDSCALE);
} break;
case FILE_SAVE: {
diff --git a/tools/editor/plugins/spatial_editor_plugin.cpp b/tools/editor/plugins/spatial_editor_plugin.cpp
index 55485d8c92..f32d0448a2 100644
--- a/tools/editor/plugins/spatial_editor_plugin.cpp
+++ b/tools/editor/plugins/spatial_editor_plugin.cpp
@@ -3954,7 +3954,7 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) {
PopupMenu *p;
transform_menu = memnew( MenuButton );
- transform_menu->set_text("Transform");
+ transform_menu->set_text(TTR("Transform"));
hbc_menu->add_child( transform_menu );
p = transform_menu->get_popup();
@@ -3979,12 +3979,12 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) {
p->add_check_item(TTR("Use Default sRGB"),MENU_VIEW_USE_DEFAULT_SRGB);
p->add_separator();
- p->add_check_item("1 Viewport",MENU_VIEW_USE_1_VIEWPORT,KEY_MASK_CMD+KEY_1);
- p->add_check_item("2 Viewports",MENU_VIEW_USE_2_VIEWPORTS,KEY_MASK_CMD+KEY_2);
- p->add_check_item("2 Viewports (Alt)",MENU_VIEW_USE_2_VIEWPORTS_ALT,KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_2);
- p->add_check_item("3 Viewports",MENU_VIEW_USE_3_VIEWPORTS,KEY_MASK_CMD+KEY_3);
- p->add_check_item("3 Viewports (Alt)",MENU_VIEW_USE_3_VIEWPORTS_ALT,KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_3);
- p->add_check_item("4 Viewports",MENU_VIEW_USE_4_VIEWPORTS,KEY_MASK_CMD+KEY_4);
+ p->add_check_item(TTR("1 Viewport"),MENU_VIEW_USE_1_VIEWPORT,KEY_MASK_CMD+KEY_1);
+ p->add_check_item(TTR("2 Viewports"),MENU_VIEW_USE_2_VIEWPORTS,KEY_MASK_CMD+KEY_2);
+ p->add_check_item(TTR("2 Viewports (Alt)"),MENU_VIEW_USE_2_VIEWPORTS_ALT,KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_2);
+ p->add_check_item(TTR("3 Viewports"),MENU_VIEW_USE_3_VIEWPORTS,KEY_MASK_CMD+KEY_3);
+ p->add_check_item(TTR("3 Viewports (Alt)"),MENU_VIEW_USE_3_VIEWPORTS_ALT,KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_3);
+ p->add_check_item(TTR("4 Viewports"),MENU_VIEW_USE_4_VIEWPORTS,KEY_MASK_CMD+KEY_4);
p->add_separator();
p->add_check_item(TTR("Display Normal"),MENU_VIEW_DISPLAY_NORMAL);
diff --git a/tools/editor/progress_dialog.cpp b/tools/editor/progress_dialog.cpp
index 2814101a27..a950f7acfc 100644
--- a/tools/editor/progress_dialog.cpp
+++ b/tools/editor/progress_dialog.cpp
@@ -30,7 +30,7 @@
#include "main/main.h"
#include "message_queue.h"
#include "os/os.h"
-
+#include "editor_scale.h"
void BackgroundProgress::_add_task(const String& p_task,const String& p_label, int p_steps) {
_THREAD_SAFE_METHOD_
@@ -48,7 +48,7 @@ void BackgroundProgress::_add_task(const String& p_task,const String& p_label, i
ec->set_v_size_flags(SIZE_EXPAND_FILL);
t.progress->set_area_as_parent_rect();
ec->add_child(t.progress);
- ec->set_custom_minimum_size(Size2(80,5));
+ ec->set_custom_minimum_size(Size2(80,5)*EDSCALE);
t.hb->add_child(ec);
add_child(t.hb);
@@ -160,7 +160,7 @@ void ProgressDialog::_notification(int p_what) {
void ProgressDialog::_popup() {
Size2 ms = main->get_combined_minimum_size();
- ms.width = MAX(500,ms.width);
+ ms.width = MAX(500*EDSCALE,ms.width);
Ref<StyleBox> style = get_stylebox("panel","PopupMenu");
diff --git a/tools/editor/project_export.cpp b/tools/editor/project_export.cpp
index 2045f2c030..7f016ead2d 100644
--- a/tools/editor/project_export.cpp
+++ b/tools/editor/project_export.cpp
@@ -1384,7 +1384,7 @@ ProjectExportDialog::ProjectExportDialog(EditorNode *p_editor) {
group_images->set_column_expand(1,false);
group_images->set_column_min_width(1,100);
group_images->set_column_titles_visible(true);
- group_images->set_column_title(0,"Image");
+ group_images->set_column_title(0,TTR("Images"));
group_images->set_column_title(1,TTR("Group"));
group_images->connect("item_edited",this,"_group_item_edited",varray(),CONNECT_DEFERRED);
diff --git a/tools/editor/project_settings.cpp b/tools/editor/project_settings.cpp
index ed26af29f7..1f49f2a9fc 100644
--- a/tools/editor/project_settings.cpp
+++ b/tools/editor/project_settings.cpp
@@ -81,10 +81,10 @@ void ProjectSettings::_notification(int p_what) {
translation_list->connect("button_pressed",this,"_translation_delete");
_update_actions();
- popup_add->add_icon_item(get_icon("Keyboard","EditorIcons"),"Key",InputEvent::KEY);
- popup_add->add_icon_item(get_icon("JoyButton","EditorIcons"),"Joy Button",InputEvent::JOYSTICK_BUTTON);
- popup_add->add_icon_item(get_icon("JoyAxis","EditorIcons"),"Joy Axis",InputEvent::JOYSTICK_MOTION);
- popup_add->add_icon_item(get_icon("Mouse","EditorIcons"),"Mouse Button",InputEvent::MOUSE_BUTTON);
+ popup_add->add_icon_item(get_icon("Keyboard","EditorIcons"),TTR("Key "),InputEvent::KEY);//"Key " - because the word 'key' has already been used as a key animation
+ popup_add->add_icon_item(get_icon("JoyButton","EditorIcons"),TTR("Joy Button"),InputEvent::JOYSTICK_BUTTON);
+ popup_add->add_icon_item(get_icon("JoyAxis","EditorIcons"),TTR("Joy Axis"),InputEvent::JOYSTICK_MOTION);
+ popup_add->add_icon_item(get_icon("Mouse","EditorIcons"),TTR("Mouse Button"),InputEvent::MOUSE_BUTTON);
List<String> tfn;
ResourceLoader::get_recognized_extensions_for_type("Translation",&tfn);
diff --git a/tools/editor/property_editor.cpp b/tools/editor/property_editor.cpp
index ddbaad5ea1..3258bc6d74 100644
--- a/tools/editor/property_editor.cpp
+++ b/tools/editor/property_editor.cpp
@@ -306,14 +306,14 @@ bool CustomPropertyEditor::edit(Object* p_owner,const String& p_name,Variant::Ty
slider->set_step((type==Variant::REAL) ? step : 1);
slider->set_val(v);
slider->show();
- set_size(Size2(110,30));
+ set_size(Size2(110,30)*EDSCALE);
} else {
spinbox->set_min(min);
spinbox->set_max(max);
spinbox->set_step((type==Variant::REAL) ? step : 1);
spinbox->set_val(v);
spinbox->show();
- set_size(Size2(70,35));
+ set_size(Size2(70,35)*EDSCALE);
}
@@ -339,7 +339,7 @@ bool CustomPropertyEditor::edit(Object* p_owner,const String& p_name,Variant::Ty
}
- set_size(checks20[19]->get_pos()+Size2(20,25));
+ set_size(checks20[19]->get_pos()+Size2(20,25)*EDSCALE);
} else if (hint==PROPERTY_HINT_EXP_EASING) {
@@ -365,7 +365,7 @@ bool CustomPropertyEditor::edit(Object* p_owner,const String& p_name,Variant::Ty
type_button->show();
easing_draw->show();
- set_size(Size2(200,150));
+ set_size(Size2(200,150)*EDSCALE);
} else if (hint==PROPERTY_HINT_FLAGS) {
menu->clear();
Vector<String> flags = hint_text.split(",");
@@ -600,7 +600,7 @@ bool CustomPropertyEditor::edit(Object* p_owner,const String& p_name,Variant::Ty
color_picker->show();
color_picker->set_edit_alpha(hint!=PROPERTY_HINT_COLOR_NO_ALPHA);
color_picker->set_color(v);
- set_size( Size2(300, color_picker->get_combined_minimum_size().height+10));
+ set_size( Size2(300*EDSCALE, color_picker->get_combined_minimum_size().height+10*EDSCALE));
/*
int ofs=80;
int m=10;
@@ -4286,7 +4286,7 @@ PropertyEditor *SectionedPropertyEditor::get_property_editor() {
SectionedPropertyEditor::SectionedPropertyEditor() {
VBoxContainer *left_vb = memnew( VBoxContainer);
- left_vb->set_custom_minimum_size(Size2(160,0));
+ left_vb->set_custom_minimum_size(Size2(160,0)*EDSCALE);
add_child(left_vb);
sections = memnew( ItemList );
diff --git a/tools/editor/scenes_dock.cpp b/tools/editor/scenes_dock.cpp
index a814dc2d9a..2ac439491d 100644
--- a/tools/editor/scenes_dock.cpp
+++ b/tools/editor/scenes_dock.cpp
@@ -441,6 +441,7 @@ void ScenesDock::_update_files(bool p_keep_selection) {
return;
int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size");
+ thumbnail_size*=EDSCALE;
Ref<Texture> folder_thumbnail;
Ref<Texture> file_thumbnail;
@@ -454,6 +455,7 @@ void ScenesDock::_update_files(bool p_keep_selection) {
files->set_fixed_column_width(thumbnail_size*3/2);
files->set_max_text_lines(2);
files->set_min_icon_size(Size2(thumbnail_size,thumbnail_size));
+ files->set_max_icon_size(Size2(thumbnail_size,thumbnail_size));
if (!has_icon("ResizedFolder","EditorIcons")) {
Ref<ImageTexture> folder = get_icon("FolderBig","EditorIcons");
@@ -1693,7 +1695,7 @@ ScenesDock::ScenesDock(EditorNode *p_editor) {
tree->set_hide_root(true);
split_box->add_child(tree);
- tree->set_custom_minimum_size(Size2(0,200));
+ tree->set_custom_minimum_size(Size2(0,200)*EDSCALE);
tree->set_drag_forwarding(this);
diff --git a/tools/editor/script_editor_debugger.cpp b/tools/editor/script_editor_debugger.cpp
index bd01e62158..2f4846d63a 100644
--- a/tools/editor/script_editor_debugger.cpp
+++ b/tools/editor/script_editor_debugger.cpp
@@ -1802,7 +1802,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
inspect_info->add_child(info_left);
inspect_scene_tree = memnew( Tree );
- info_left->add_margin_child("Live Scene Tree:",inspect_scene_tree,true);
+ info_left->add_margin_child(TTR("Live Scene Tree:"),inspect_scene_tree,true);
inspect_scene_tree->connect("cell_selected",this,"_scene_tree_selected");
inspect_scene_tree->connect("item_collapsed",this,"_scene_tree_folded");
@@ -1817,7 +1817,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
inspect_properties->set_show_categories(true);
inspect_properties->connect("object_id_selected",this,"_scene_tree_property_select_object");
- info_right->add_margin_child("Remote Object Properties: ",inspect_properties,true);
+ info_right->add_margin_child(TTR("Remote Object Properties: "),inspect_properties,true);
inspect_scene_tree_timeout=EDITOR_DEF("debugger/scene_tree_refresh_interval",1.0);
inspect_edited_object_timeout=EDITOR_DEF("debugger/remote_inspect_refresh_interval",0.2);
@@ -1830,7 +1830,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
{ //profiler
profiler = memnew( EditorProfiler );
- profiler->set_name("Profiler");
+ profiler->set_name(TTR("Profiler"));
tabs->add_child(profiler);
profiler->connect("enable_profiling",this,"_profiler_activate");
profiler->connect("break_request",this,"_profiler_seeked");
@@ -1852,7 +1852,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
perf_draw = memnew( Control );
perf_draw->connect("draw",this,"_performance_draw");
hsp->add_child(perf_draw);
- hsp->set_name("Monitors");
+ hsp->set_name(TTR("Monitors"));
hsp->set_split_offset(300);
tabs->add_child(hsp);
perf_max.resize(Performance::MONITOR_MAX);
@@ -1892,7 +1892,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
vmem_hb->add_child( memnew(Label(TTR("Total:")+" ")) );
vmem_total = memnew( LineEdit );
vmem_total->set_editable(false);
- vmem_total->set_custom_minimum_size(Size2(100,1));
+ vmem_total->set_custom_minimum_size(Size2(100,1)*EDSCALE);
vmem_hb->add_child(vmem_total);
vmem_refresh = memnew( Button );
vmem_hb->add_child(vmem_refresh);
@@ -1929,7 +1929,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
{ // misc
VBoxContainer *info_left = memnew( VBoxContainer );
info_left->set_h_size_flags(SIZE_EXPAND_FILL);
- info_left->set_name("Misc");
+ info_left->set_name(TTR("Misc"));
tabs->add_child(info_left);
clicked_ctrl = memnew( LineEdit );
info_left->add_margin_child(TTR("Clicked Control:"),clicked_ctrl);