Replace String comparisons with "", String() to is_empty()

Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
This commit is contained in:
Nathan Franke 2021-12-09 03:42:46 -06:00
parent 31ded7e126
commit 49403cbfa0
No known key found for this signature in database
GPG Key ID: 92164DCCF3B1F723
226 changed files with 1051 additions and 1034 deletions

View File

@ -184,7 +184,7 @@ String ProjectSettings::localize_path(const String &p_path) const {
String parent = path.substr(0, sep);
String plocal = localize_path(parent);
if (plocal == "") {
if (plocal.is_empty()) {
return "";
}
// Only strip the starting '/' from 'path' if its parent ('plocal') ends with '/'
@ -228,13 +228,13 @@ bool ProjectSettings::get_ignore_value_in_docs(const String &p_name) const {
String ProjectSettings::globalize_path(const String &p_path) const {
if (p_path.begins_with("res://")) {
if (resource_path != "") {
if (!resource_path.is_empty()) {
return p_path.replace("res:/", resource_path);
}
return p_path.replace("res://", "");
} else if (p_path.begins_with("user://")) {
String data_dir = OS::get_singleton()->get_user_data_dir();
if (data_dir != "") {
if (!data_dir.is_empty()) {
return p_path.replace("user:/", data_dir);
}
return p_path.replace("user://", "");
@ -456,7 +456,7 @@ Error ProjectSettings::_setup(const String &p_path, const String &p_main_pack, b
// Attempt with a user-defined main pack first
if (p_main_pack != "") {
if (!p_main_pack.is_empty()) {
bool ok = _load_resource_pack(p_main_pack);
ERR_FAIL_COND_V_MSG(!ok, ERR_CANT_OPEN, "Cannot open resource pack '" + p_main_pack + "'.");
@ -471,7 +471,7 @@ Error ProjectSettings::_setup(const String &p_path, const String &p_main_pack, b
String exec_path = OS::get_singleton()->get_executable_path();
if (exec_path != "") {
if (!exec_path.is_empty()) {
// We do several tests sequentially until one succeeds to find a PCK,
// and if so, we attempt loading it at the end.
@ -523,11 +523,11 @@ Error ProjectSettings::_setup(const String &p_path, const String &p_main_pack, b
// Try to use the filesystem for files, according to OS.
// (Only Android -when reading from pck- and iOS use this.)
if (OS::get_singleton()->get_resource_dir() != "") {
if (!OS::get_singleton()->get_resource_dir().is_empty()) {
// OS will call ProjectSettings->get_resource_path which will be empty if not overridden!
// If the OS would rather use a specific location, then it will not be empty.
resource_path = OS::get_singleton()->get_resource_dir().replace("\\", "/");
if (resource_path != "" && resource_path[resource_path.length() - 1] == '/') {
if (!resource_path.is_empty() && resource_path[resource_path.length() - 1] == '/') {
resource_path = resource_path.substr(0, resource_path.length() - 1); // Chop end.
}
@ -591,7 +591,7 @@ Error ProjectSettings::setup(const String &p_path, const String &p_main_pack, bo
Error err = _setup(p_path, p_main_pack, p_upwards, p_ignore_override);
if (err == OK) {
String custom_settings = GLOBAL_DEF("application/config/project_settings_override", "");
if (custom_settings != "") {
if (!custom_settings.is_empty()) {
_load_settings_text(custom_settings);
}
}
@ -699,21 +699,21 @@ Error ProjectSettings::_load_settings_text(const String &p_path) {
return err;
}
if (assign != String()) {
if (section == String() && assign == "config_version") {
if (!assign.is_empty()) {
if (section.is_empty() && assign == "config_version") {
config_version = value;
if (config_version > CONFIG_VERSION) {
memdelete(f);
ERR_FAIL_V_MSG(ERR_FILE_CANT_OPEN, vformat("Can't open project at '%s', its `config_version` (%d) is from a more recent and incompatible version of the engine. Expected config version: %d.", p_path, config_version, CONFIG_VERSION));
}
} else {
if (section == String()) {
if (section.is_empty()) {
set(assign, value);
} else {
set(section + "/" + assign, value);
}
}
} else if (next_tag.name != String()) {
} else if (!next_tag.name.is_empty()) {
section = next_tag.name;
}
}
@ -797,7 +797,7 @@ Error ProjectSettings::_save_settings_binary(const String &p_file, const Map<Str
count += E.value.size();
}
if (p_custom_features != String()) {
if (!p_custom_features.is_empty()) {
file->store_32(count + 1);
//store how many properties are saved, add one for custom featuers, which must always go first
String key = CoreStringNames::get_singleton()->_custom_features;
@ -827,7 +827,7 @@ Error ProjectSettings::_save_settings_binary(const String &p_file, const Map<Str
for (Map<String, List<String>>::Element *E = props.front(); E; E = E->next()) {
for (String &key : E->get()) {
if (E->key() != "") {
if (!E->key().is_empty()) {
key = E->key() + "/" + key;
}
Variant value;
@ -881,7 +881,7 @@ Error ProjectSettings::_save_settings_text(const String &p_file, const Map<Strin
file->store_line("");
file->store_string("config_version=" + itos(CONFIG_VERSION) + "\n");
if (p_custom_features != String()) {
if (!p_custom_features.is_empty()) {
file->store_string("custom_features=\"" + p_custom_features + "\"\n");
}
file->store_string("\n");
@ -891,12 +891,12 @@ Error ProjectSettings::_save_settings_text(const String &p_file, const Map<Strin
file->store_string("\n");
}
if (E->key() != "") {
if (!E->key().is_empty()) {
file->store_string("[" + E->key() + "]\n\n");
}
for (const String &F : E->get()) {
String key = F;
if (E->key() != "") {
if (!E->key().is_empty()) {
key = E->key() + "/" + key;
}
Variant value;
@ -924,7 +924,7 @@ Error ProjectSettings::_save_custom_bnd(const String &p_file) { // add other par
}
Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_custom, const Vector<String> &p_custom_features, bool p_merge_with_current) {
ERR_FAIL_COND_V_MSG(p_path == "", ERR_INVALID_PARAMETER, "Project settings save path cannot be empty.");
ERR_FAIL_COND_V_MSG(p_path.is_empty(), ERR_INVALID_PARAMETER, "Project settings save path cannot be empty.");
PackedStringArray project_features = has_setting("application/config/features") ? (PackedStringArray)get_setting("application/config/features") : PackedStringArray();
// If there is no feature list currently present, force one to generate.
@ -933,7 +933,7 @@ Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_cust
}
// Check the rendering API.
const String rendering_api = has_setting("rendering/quality/driver/driver_name") ? (String)get_setting("rendering/quality/driver/driver_name") : String();
if (rendering_api != "") {
if (!rendering_api.is_empty()) {
// Add the rendering API as a project feature if it doesn't already exist.
if (!project_features.has(rendering_api)) {
project_features.append(rendering_api);

View File

@ -1483,7 +1483,7 @@ String Directory::get_next() {
ERR_FAIL_COND_V_MSG(!is_open(), "", "Directory must be opened before use.");
String next = d->get_next();
while (next != "" && ((_list_skip_navigational && (next == "." || next == "..")) || (_list_skip_hidden && d->current_is_hidden()))) {
while (!next.is_empty() && ((_list_skip_navigational && (next == "." || next == "..")) || (_list_skip_hidden && d->current_is_hidden()))) {
next = d->get_next();
}
return next;
@ -1665,7 +1665,7 @@ String Marshalls::variant_to_base64(const Variant &p_var, bool p_full_objects) {
ERR_FAIL_COND_V_MSG(err != OK, "", "Error when trying to encode Variant.");
String ret = CryptoCore::b64_encode_str(&w[0], len);
ERR_FAIL_COND_V(ret == "", ret);
ERR_FAIL_COND_V(ret.is_empty(), ret);
return ret;
}
@ -1690,7 +1690,7 @@ Variant Marshalls::base64_to_variant(const String &p_str, bool p_allow_objects)
String Marshalls::raw_to_base64(const Vector<uint8_t> &p_arr) {
String ret = CryptoCore::b64_encode_str(p_arr.ptr(), p_arr.size());
ERR_FAIL_COND_V(ret == "", ret);
ERR_FAIL_COND_V(ret.is_empty(), ret);
return ret;
}
@ -1714,7 +1714,7 @@ Vector<uint8_t> Marshalls::base64_to_raw(const String &p_str) {
String Marshalls::utf8_to_base64(const String &p_str) {
CharString cstr = p_str.utf8();
String ret = CryptoCore::b64_encode_str((unsigned char *)cstr.get_data(), cstr.length());
ERR_FAIL_COND_V(ret == "", ret);
ERR_FAIL_COND_V(ret.is_empty(), ret);
return ret;
}

View File

@ -139,7 +139,7 @@ void LocalDebugger::debug(bool p_can_continue, bool p_is_error_breakpoint) {
// Cache options
String variable_prefix = options["variable_prefix"];
if (line == "") {
if (line.is_empty()) {
print_line("\nDebugger Break, Reason: '" + script_lang->debug_get_error() + "'");
print_line("*Frame " + itos(current_frame) + " - " + script_lang->debug_get_stack_level_source(current_frame) + ":" + itos(script_lang->debug_get_stack_level_line(current_frame)) + " in function '" + script_lang->debug_get_stack_level_function(current_frame) + "'");
print_line("Enter \"help\" for assistance.");

View File

@ -33,7 +33,7 @@
void DocData::return_doc_from_retinfo(DocData::MethodDoc &p_method, const PropertyInfo &p_retinfo) {
if (p_retinfo.type == Variant::INT && p_retinfo.hint == PROPERTY_HINT_INT_IS_POINTER) {
p_method.return_type = p_retinfo.hint_string;
if (p_method.return_type == "") {
if (p_method.return_type.is_empty()) {
p_method.return_type = "void*";
} else {
p_method.return_type += "*";
@ -64,7 +64,7 @@ void DocData::argument_doc_from_arginfo(DocData::ArgumentDoc &p_argument, const
if (p_arginfo.type == Variant::INT && p_arginfo.hint == PROPERTY_HINT_INT_IS_POINTER) {
p_argument.type = p_arginfo.hint_string;
if (p_argument.type == "") {
if (p_argument.type.is_empty()) {
p_argument.type = "void*";
} else {
p_argument.type += "*";

View File

@ -40,7 +40,7 @@
static String get_type_name(const PropertyInfo &p_info) {
if (p_info.type == Variant::INT && (p_info.hint == PROPERTY_HINT_INT_IS_POINTER)) {
if (p_info.hint_string == "") {
if (p_info.hint_string.is_empty()) {
return "void*";
} else {
return p_info.hint_string + "*";
@ -340,7 +340,7 @@ Dictionary NativeExtensionAPIDump::generate_extension_api() {
int value = CoreConstants::get_global_constant_value(i);
String enum_name = CoreConstants::get_global_constant_enum(i);
String name = CoreConstants::get_global_constant_name(i);
if (enum_name != String()) {
if (!enum_name.is_empty()) {
enum_list[enum_name].push_back(Pair<String, int>(name, value));
} else {
Dictionary d;

View File

@ -397,7 +397,7 @@ RES NativeExtensionResourceLoader::load(const String &p_path, const String &p_or
}
}
if (library_path == String()) {
if (library_path.is_empty()) {
if (r_error) {
*r_error = ERR_FILE_NOT_FOUND;
}

View File

@ -115,7 +115,7 @@ void NativeExtensionManager::load_extensions() {
FileAccessRef f = FileAccess::open(NativeExtension::get_extension_list_config_file(), FileAccess::READ);
while (f && !f->eof_reached()) {
String s = f->get_line().strip_edges();
if (s != String()) {
if (!s.is_empty()) {
LoadStatus err = load_extension(s);
ERR_CONTINUE_MSG(err == LOAD_STATUS_FAILED, "Error loading extension: " + s);
}

View File

@ -403,7 +403,7 @@ void Input::joy_connection_changed(int p_idx, bool p_connected, String p_name, S
if (p_connected) {
String uidname = p_guid;
if (p_guid == "") {
if (p_guid.is_empty()) {
int uidlen = MIN(p_name.length(), 16);
for (int i = 0; i < uidlen; i++) {
uidname = uidname + _hex_str(p_name[i]);
@ -1249,7 +1249,7 @@ void Input::parse_mapping(String p_mapping) {
int idx = 1;
while (++idx < entry.size()) {
if (entry[idx] == "") {
if (entry[idx].is_empty()) {
continue;
}
@ -1420,10 +1420,10 @@ Input::Input() {
// If defined, parse SDL_GAMECONTROLLERCONFIG for possible new mappings/overrides.
String env_mapping = OS::get_singleton()->get_environment("SDL_GAMECONTROLLERCONFIG");
if (env_mapping != "") {
if (!env_mapping.is_empty()) {
Vector<String> entries = env_mapping.split("\n");
for (int i = 0; i < entries.size(); i++) {
if (entries[i] == "") {
if (entries[i].is_empty()) {
continue;
}
parse_mapping(entries[i]);

View File

@ -360,12 +360,12 @@ String InputEventKey::as_text() const {
kc = keycode_get_string(keycode);
}
if (kc == String()) {
if (kc.is_empty()) {
return kc;
}
String mods_text = InputEventWithModifiers::as_text();
return mods_text == "" ? kc : mods_text + "+" + kc;
return mods_text.is_empty() ? kc : mods_text + "+" + kc;
}
String InputEventKey::to_string() {
@ -382,7 +382,7 @@ String InputEventKey::to_string() {
}
String mods = InputEventWithModifiers::as_text();
mods = mods == "" ? TTR("none") : mods;
mods = mods.is_empty() ? TTR("none") : mods;
return vformat("InputEventKey: keycode=%s, mods=%s, physical=%s, pressed=%s, echo=%s", kc, mods, physical, p, e);
}
@ -634,7 +634,7 @@ static const char *_mouse_button_descriptions[9] = {
String InputEventMouseButton::as_text() const {
// Modifiers
String mods_text = InputEventWithModifiers::as_text();
String full_string = mods_text == "" ? "" : mods_text + "+";
String full_string = mods_text.is_empty() ? "" : mods_text + "+";
// Button
MouseButton idx = get_button_index();
@ -687,7 +687,7 @@ String InputEventMouseButton::to_string() {
}
String mods = InputEventWithModifiers::as_text();
mods = mods == "" ? TTR("none") : mods;
mods = mods.is_empty() ? TTR("none") : mods;
// Work around the fact vformat can only take 5 substitutions but 6 need to be passed.
String index_and_mods = vformat("button_index=%s, mods=%s", button_index, mods);

View File

@ -718,7 +718,7 @@ const OrderedHashMap<String, List<Ref<InputEvent>>> &InputMap::get_builtins_with
String name = split[0];
String override_for = split.size() > 1 ? split[1] : String();
if (override_for != String() && OS::get_singleton()->has_feature(override_for)) {
if (!override_for.is_empty() && OS::get_singleton()->has_feature(override_for)) {
builtins_with_overrides[name].push_back(override_for);
}
}
@ -730,12 +730,12 @@ const OrderedHashMap<String, List<Ref<InputEvent>>> &InputMap::get_builtins_with
String name = split[0];
String override_for = split.size() > 1 ? split[1] : String();
if (builtins_with_overrides.has(name) && override_for == String()) {
if (builtins_with_overrides.has(name) && override_for.is_empty()) {
// Builtin has an override but this particular one is not an override, so skip.
continue;
}
if (override_for != String() && !OS::get_singleton()->has_feature(override_for)) {
if (!override_for.is_empty() && !OS::get_singleton()->has_feature(override_for)) {
// OS does not support this override - skip.
continue;
}

View File

@ -183,7 +183,7 @@ Error ConfigFile::_internal_save(FileAccess *file) {
if (E != values.front()) {
file->store_string("\n");
}
if (E.key() != "") {
if (!E.key().is_empty()) {
file->store_string("[" + E.key() + "]\n\n");
}
@ -287,9 +287,9 @@ Error ConfigFile::_parse(const String &p_path, VariantParser::Stream *p_stream)
return err;
}
if (assign != String()) {
if (!assign.is_empty()) {
set_value(section, assign, value);
} else if (next_tag.name != String()) {
} else if (!next_tag.name.is_empty()) {
section = next_tag.name;
}
}

View File

@ -79,7 +79,7 @@ static Error _erase_recursive(DirAccess *da) {
da->list_dir_begin();
String n = da->get_next();
while (n != String()) {
while (!n.is_empty()) {
if (n != "." && n != "..") {
if (da->current_is_dir()) {
dirs.push_back(n);
@ -183,7 +183,7 @@ String DirAccess::fix_path(String p_path) const {
if (ProjectSettings::get_singleton()) {
if (p_path.begins_with("res://")) {
String resource_path = ProjectSettings::get_singleton()->get_resource_path();
if (resource_path != "") {
if (!resource_path.is_empty()) {
return p_path.replace_first("res:/", resource_path);
}
return p_path.replace_first("res://", "");
@ -194,7 +194,7 @@ String DirAccess::fix_path(String p_path) const {
case ACCESS_USERDATA: {
if (p_path.begins_with("user://")) {
String data_dir = OS::get_singleton()->get_user_data_dir();
if (data_dir != "") {
if (!data_dir.is_empty()) {
return p_path.replace_first("user:/", data_dir);
}
return p_path.replace_first("user://", "");
@ -337,7 +337,7 @@ Error DirAccess::_copy_dir(DirAccess *p_target_da, String p_to, int p_chmod_flag
String curdir = get_current_dir();
list_dir_begin();
String n = get_next();
while (n != String()) {
while (!n.is_empty()) {
if (n != "." && n != "..") {
if (p_copy_links && is_link(get_current_dir().plus_file(n))) {
create_link(read_link(get_current_dir().plus_file(n)), p_to + n);

View File

@ -127,7 +127,7 @@ String FileAccess::fix_path(const String &p_path) const {
if (ProjectSettings::get_singleton()) {
if (r_path.begins_with("res://")) {
String resource_path = ProjectSettings::get_singleton()->get_resource_path();
if (resource_path != "") {
if (!resource_path.is_empty()) {
return r_path.replace("res:/", resource_path);
}
return r_path.replace("res://", "");
@ -138,7 +138,7 @@ String FileAccess::fix_path(const String &p_path) const {
case ACCESS_USERDATA: {
if (r_path.begins_with("user://")) {
String data_dir = OS::get_singleton()->get_user_data_dir();
if (data_dir != "") {
if (!data_dir.is_empty()) {
return r_path.replace("user:/", data_dir);
}
return r_path.replace("user://", "");

View File

@ -459,7 +459,7 @@ PackedData::PackedDir *DirAccessPack::_find_dir(String p_dir) {
nd = nd.simplify_path();
if (nd == "") {
if (nd.is_empty()) {
nd = ".";
}

View File

@ -136,7 +136,7 @@ void RotatedFileLogger::clear_old_backups() {
da->list_dir_begin();
String f = da->get_next();
Set<String> backups;
while (f != String()) {
while (!f.is_empty()) {
if (!da->current_is_dir() && f.begins_with(basename) && f.get_extension() == extension && f != base_path.get_file()) {
backups.insert(f);
}
@ -163,7 +163,7 @@ void RotatedFileLogger::rotate_file() {
if (max_files > 1) {
String timestamp = Time::get_singleton()->get_datetime_string_from_system().replace(":", ".");
String backup_name = base_path.get_basename() + timestamp;
if (base_path.get_extension() != String()) {
if (!base_path.get_extension().is_empty()) {
backup_name += "." + base_path.get_extension();
}

View File

@ -562,7 +562,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
return err;
}
if (str == String()) {
if (str.is_empty()) {
r_variant = (Object *)nullptr;
} else {
Object *obj = ClassDB::instantiate(str);

View File

@ -52,7 +52,7 @@ void Resource::set_path(const String &p_path, bool p_take_over) {
return;
}
if (path_cache != "") {
if (!path_cache.is_empty()) {
ResourceCache::lock.write_lock();
ResourceCache::resources.erase(path_cache);
ResourceCache::lock.write_unlock();
@ -82,7 +82,7 @@ void Resource::set_path(const String &p_path, bool p_take_over) {
}
path_cache = p_path;
if (path_cache != "") {
if (!path_cache.is_empty()) {
ResourceCache::lock.write_lock();
ResourceCache::resources[path_cache] = this;
ResourceCache::lock.write_unlock();
@ -383,7 +383,7 @@ bool Resource::is_translation_remapped() const {
#ifdef TOOLS_ENABLED
//helps keep IDs same number when loading/saving scenes. -1 clears ID and it Returns -1 when no id stored
void Resource::set_id_for_path(const String &p_path, const String &p_id) {
if (p_id == "") {
if (p_id.is_empty()) {
ResourceCache::path_cache_lock.write_lock();
ResourceCache::resource_path_cache[p_path].erase(get_path());
ResourceCache::path_cache_lock.write_unlock();
@ -434,7 +434,7 @@ Resource::Resource() :
remapped_list(this) {}
Resource::~Resource() {
if (path_cache != "") {
if (!path_cache.is_empty()) {
ResourceCache::lock.write_lock();
ResourceCache::resources.erase(path_cache);
ResourceCache::lock.write_unlock();

View File

@ -727,7 +727,7 @@ Error ResourceLoaderBinary::load() {
}
res = RES(r);
if (path != String() && cache_mode != ResourceFormatLoader::CACHE_MODE_IGNORE) {
if (!path.is_empty() && cache_mode != ResourceFormatLoader::CACHE_MODE_IGNORE) {
r->set_path(path, cache_mode == ResourceFormatLoader::CACHE_MODE_REPLACE); //if got here because the resource with same path has different type, replace it
}
r->set_scene_unique_id(id);
@ -829,7 +829,7 @@ void ResourceLoaderBinary::get_dependencies(FileAccess *p_f, List<String> *p_dep
dep = external_resources[i].path;
}
if (p_add_types && external_resources[i].type != String()) {
if (p_add_types && !external_resources[i].type.is_empty()) {
dep += "::" + external_resources[i].type;
}
@ -1026,7 +1026,7 @@ RES ResourceFormatLoaderBinary::load(const String &p_path, const String &p_origi
loader.cache_mode = p_cache_mode;
loader.use_sub_threads = p_use_sub_threads;
loader.progress = r_progress;
String path = p_original_path != "" ? p_original_path : p_path;
String path = !p_original_path.is_empty() ? p_original_path : p_path;
loader.local_path = ProjectSettings::get_singleton()->localize_path(path);
loader.res_path = loader.local_path;
//loader.set_local_path( Globals::get_singleton()->localize_path(p_path) );
@ -1045,7 +1045,7 @@ RES ResourceFormatLoaderBinary::load(const String &p_path, const String &p_origi
}
void ResourceFormatLoaderBinary::get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const {
if (p_type == "") {
if (p_type.is_empty()) {
get_recognized_extensions(p_extensions);
return;
}
@ -1979,7 +1979,7 @@ Error ResourceFormatSaverBinaryInstance::save(const String &p_path, const RES &p
for (RES &r : saved_resources) {
if (r->is_built_in()) {
if (r->get_scene_unique_id() != "") {
if (!r->get_scene_unique_id().is_empty()) {
if (used_unique_ids.has(r->get_scene_unique_id())) {
r->set_scene_unique_id("");
} else {
@ -1993,7 +1993,7 @@ Error ResourceFormatSaverBinaryInstance::save(const String &p_path, const RES &p
int res_index = 0;
for (RES &r : saved_resources) {
if (r->is_built_in()) {
if (r->get_scene_unique_id() == "") {
if (r->get_scene_unique_id().is_empty()) {
String new_id;
while (true) {

View File

@ -78,8 +78,8 @@ Error ResourceFormatImporter::_get_path_and_type(const String &p_path, PathAndTy
return err;
}
if (assign != String()) {
if (!path_found && assign.begins_with("path.") && r_path_and_type.path == String()) {
if (!assign.is_empty()) {
if (!path_found && assign.begins_with("path.") && r_path_and_type.path.is_empty()) {
String feature = assign.get_slicec('.', 1);
if (OS::get_singleton()->has_feature(feature)) {
r_path_and_type.path = value;
@ -112,7 +112,7 @@ Error ResourceFormatImporter::_get_path_and_type(const String &p_path, PathAndTy
memdelete(f);
if (r_path_and_type.path == String() || r_path_and_type.type == String()) {
if (r_path_and_type.path.is_empty() || r_path_and_type.type.is_empty()) {
return ERR_FILE_CORRUPT;
}
return OK;
@ -158,7 +158,7 @@ void ResourceFormatImporter::get_recognized_extensions(List<String> *p_extension
}
void ResourceFormatImporter::get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const {
if (p_type == "") {
if (p_type.is_empty()) {
get_recognized_extensions(p_extensions);
return;
}
@ -167,7 +167,7 @@ void ResourceFormatImporter::get_recognized_extensions_for_type(const String &p_
for (int i = 0; i < importers.size(); i++) {
String res_type = importers[i]->get_resource_type();
if (res_type == String()) {
if (res_type.is_empty()) {
continue;
}
@ -246,7 +246,7 @@ int ResourceFormatImporter::get_import_order(const String &p_path) const {
bool ResourceFormatImporter::handles_type(const String &p_type) const {
for (int i = 0; i < importers.size(); i++) {
String res_type = importers[i]->get_resource_type();
if (res_type == String()) {
if (res_type.is_empty()) {
continue;
}
if (ClassDB::is_parent_class(res_type, p_type)) {
@ -300,7 +300,7 @@ void ResourceFormatImporter::get_internal_resource_path_list(const String &p_pat
return;
}
if (assign != String()) {
if (!assign.is_empty()) {
if (assign.begins_with("path.")) {
r_paths->push_back(value);
} else if (assign == "path") {

View File

@ -52,7 +52,7 @@ bool ResourceFormatLoader::recognize_path(const String &p_path, const String &p_
String extension = p_path.get_extension();
List<String> extensions;
if (p_for_type == String()) {
if (p_for_type.is_empty()) {
get_recognized_extensions(&extensions);
} else {
get_recognized_extensions_for_type(p_for_type, &extensions);
@ -96,7 +96,7 @@ ResourceUID::ID ResourceFormatLoader::get_resource_uid(const String &p_path) con
}
void ResourceFormatLoader::get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const {
if (p_type == "" || handles_type(p_type)) {
if (p_type.is_empty() || handles_type(p_type)) {
get_recognized_extensions(p_extensions);
}
}
@ -194,7 +194,7 @@ RES ResourceLoader::_load(const String &p_path, const String &p_original_path, c
continue;
}
found = true;
RES res = loader[i]->load(p_path, p_original_path != String() ? p_original_path : p_path, r_error, p_use_sub_threads, r_progress, p_cache_mode);
RES res = loader[i]->load(p_path, !p_original_path.is_empty() ? p_original_path : p_path, r_error, p_use_sub_threads, r_progress, p_cache_mode);
if (res.is_null()) {
continue;
}
@ -289,7 +289,7 @@ Error ResourceLoader::load_threaded_request(const String &p_path, const String &
thread_load_mutex->lock();
if (p_source_resource != String()) {
if (!p_source_resource.is_empty()) {
//must be loading from this resource
if (!thread_load_tasks.has(p_source_resource)) {
thread_load_mutex->unlock();
@ -310,7 +310,7 @@ Error ResourceLoader::load_threaded_request(const String &p_path, const String &
if (thread_load_tasks.has(local_path)) {
thread_load_tasks[local_path].requests++;
if (p_source_resource != String()) {
if (!p_source_resource.is_empty()) {
thread_load_tasks[p_source_resource].sub_tasks.insert(local_path);
}
thread_load_mutex->unlock();
@ -354,7 +354,7 @@ Error ResourceLoader::load_threaded_request(const String &p_path, const String &
ResourceCache::lock.read_unlock();
}
if (p_source_resource != String()) {
if (!p_source_resource.is_empty()) {
thread_load_tasks[p_source_resource].sub_tasks.insert(local_path);
}
@ -574,7 +574,7 @@ RES ResourceLoader::load(const String &p_path, const String &p_type_hint, Resour
bool xl_remapped = false;
String path = _path_remap(local_path, &xl_remapped);
if (path == "") {
if (path.is_empty()) {
ERR_FAIL_V_MSG(RES(), "Remapping '" + local_path + "' failed.");
}
@ -776,7 +776,7 @@ String ResourceLoader::get_resource_type(const String &p_path) {
for (int i = 0; i < loader_count; i++) {
String result = loader[i]->get_resource_type(local_path);
if (result != "") {
if (!result.is_empty()) {
return result;
}
}

View File

@ -87,7 +87,7 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error) {
// In PO file, "msgctxt" appears before "msgid". If we encounter a "msgctxt", we add what we have read
// and set "entered_context" to true to prevent adding twice.
if (!skip_this && msg_id != "") {
if (!skip_this && !msg_id.is_empty()) {
if (status == STATUS_READING_STRING) {
translation->add_message(msg_id, msg_str, msg_context);
} else if (status == STATUS_READING_PLURAL) {
@ -125,7 +125,7 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error) {
ERR_FAIL_V_MSG(RES(), "Unexpected 'msgid', was expecting 'msgstr' while parsing: " + path + ":" + itos(line));
}
if (msg_id != "") {
if (!msg_id.is_empty()) {
if (!skip_this && !entered_context) {
if (status == STATUS_READING_STRING) {
translation->add_message(msg_id, msg_str, msg_context);
@ -137,7 +137,7 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error) {
translation->add_plural_message(msg_id, msgs_plural, msg_context);
}
}
} else if (config == "") {
} else if (config.is_empty()) {
config = msg_str;
// Record plural rule.
int p_start = config.find("Plural-Forms");
@ -178,7 +178,7 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error) {
status = STATUS_READING_STRING;
}
if (l == "" || l.begins_with("#")) {
if (l.is_empty() || l.begins_with("#")) {
if (l.find("fuzzy") != -1) {
skip_next = true;
}
@ -236,15 +236,15 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error) {
// Add the last set of data from last iteration.
if (status == STATUS_READING_STRING) {
if (msg_id != "") {
if (!msg_id.is_empty()) {
if (!skip_this) {
translation->add_message(msg_id, msg_str, msg_context);
}
} else if (config == "") {
} else if (config.is_empty()) {
config = msg_str;
}
} else if (status == STATUS_READING_PLURAL) {
if (!skip_this && msg_id != "") {
if (!skip_this && !msg_id.is_empty()) {
if (plural_index != plural_forms - 1) {
memdelete(f);
ERR_FAIL_V_MSG(RES(), "Number of 'msgstr[]' doesn't match with number of plural forms: " + path + ":" + itos(line));
@ -253,7 +253,7 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error) {
}
}
ERR_FAIL_COND_V_MSG(config == "", RES(), "No config found in file: " + path + ".");
ERR_FAIL_COND_V_MSG(config.is_empty(), RES(), "No config found in file: " + path + ".");
Vector<String> configs = config.split("\n");
for (int i = 0; i < configs.size(); i++) {

View File

@ -731,7 +731,7 @@ void ClassDB::bind_integer_constant(const StringName &p_class, const StringName
type->constant_map[p_name] = p_constant;
String enum_name = p_enum;
if (enum_name != String()) {
if (!enum_name.is_empty()) {
if (enum_name.find(".") != -1) {
enum_name = enum_name.get_slicec('.', 1);
}

View File

@ -990,7 +990,7 @@ void Object::get_meta_list(List<StringName> *p_list) const {
}
void Object::add_user_signal(const MethodInfo &p_signal) {
ERR_FAIL_COND_MSG(p_signal.name == "", "Signal name cannot be empty.");
ERR_FAIL_COND_MSG(p_signal.name.is_empty(), "Signal name cannot be empty.");
ERR_FAIL_COND_MSG(ClassDB::has_signal(get_class_name(), p_signal.name), "User signal's name conflicts with a built-in signal of '" + get_class_name() + "'.");
ERR_FAIL_COND_MSG(signal_map.has(p_signal.name), "Trying to add already existing signal '" + p_signal.name + "'.");
SignalData s;
@ -1253,7 +1253,7 @@ void Object::get_signal_list(List<MethodInfo> *p_signals) const {
const StringName *S = nullptr;
while ((S = signal_map.next(S))) {
if (signal_map[*S].user.name != "") {
if (!signal_map[*S].user.name.is_empty()) {
//user signal
p_signals->push_back(signal_map[*S].user);
}
@ -1680,7 +1680,7 @@ void Object::get_translatable_strings(List<String> *p_strings) const {
String text = get(E.name);
if (text == "") {
if (text.is_empty()) {
continue;
}

View File

@ -352,7 +352,7 @@ public:
static String get_category_static() { \
String category = m_inherits::get_category_static(); \
if (_get_category != m_inherits::_get_category) { \
if (category != "") { \
if (!category.is_empty()) { \
category += "/"; \
} \
category += _get_category(); \

View File

@ -190,8 +190,8 @@ static void _OS_printres(Object *p_obj) {
}
void OS::print_all_resources(String p_to_file) {
ERR_FAIL_COND(p_to_file != "" && _OSPRF);
if (p_to_file != "") {
ERR_FAIL_COND(!p_to_file.is_empty() && _OSPRF);
if (!p_to_file.is_empty()) {
Error err;
_OSPRF = FileAccess::open(p_to_file, FileAccess::WRITE, &err);
if (err != OK) {
@ -202,7 +202,7 @@ void OS::print_all_resources(String p_to_file) {
ObjectDB::debug_objects(_OS_printres);
if (p_to_file != "") {
if (!p_to_file.is_empty()) {
if (_OSPRF) {
memdelete(_OSPRF);
}

View File

@ -368,7 +368,7 @@ NodePath::NodePath(const String &p_path) {
for (int i = from; i <= path.length(); i++) {
if (path[i] == ':' || path[i] == 0) {
String str = path.substr(from, i - from);
if (str == "") {
if (str.is_empty()) {
if (path[i] == 0) {
continue; // Allow end-of-path :
}

View File

@ -33,7 +33,7 @@
#include <string.h>
StringBuilder &StringBuilder::append(const String &p_string) {
if (p_string == String()) {
if (p_string.is_empty()) {
return *this;
}

View File

@ -310,7 +310,7 @@ StringName::StringName(const String &p_name, bool p_static) {
ERR_FAIL_COND(!configured);
if (p_name == String()) {
if (p_name.is_empty()) {
return;
}
@ -434,7 +434,7 @@ StringName StringName::search(const char32_t *p_name) {
}
StringName StringName::search(const String &p_name) {
ERR_FAIL_COND_V(p_name == "", StringName());
ERR_FAIL_COND_V(p_name.is_empty(), StringName());
MutexLock lock(mutex);

View File

@ -1287,7 +1287,7 @@ bool TranslationServer::_load_translations(const String &p_from) {
void TranslationServer::setup() {
String test = GLOBAL_DEF("internationalization/locale/test", "");
test = test.strip_edges();
if (test != "") {
if (!test.is_empty()) {
set_locale(test);
} else {
set_locale(OS::get_singleton()->get_locale());

View File

@ -4283,7 +4283,7 @@ bool String::is_valid_filename() const {
return false;
}
if (stripped == String()) {
if (stripped.is_empty()) {
return false;
}
@ -4902,7 +4902,7 @@ String DTRN(const String &p_text, const String &p_text_plural, int p_n, const St
String RTR(const String &p_text, const String &p_context) {
if (TranslationServer::get_singleton()) {
String rtr = TranslationServer::get_singleton()->tool_translate(p_text, p_context);
if (rtr == String() || rtr == p_text) {
if (rtr.is_empty() || rtr == p_text) {
return TranslationServer::get_singleton()->translate(p_text, p_context);
} else {
return rtr;
@ -4915,7 +4915,7 @@ String RTR(const String &p_text, const String &p_context) {
String RTRN(const String &p_text, const String &p_text_plural, int p_n, const String &p_context) {
if (TranslationServer::get_singleton()) {
String rtr = TranslationServer::get_singleton()->tool_translate_plural(p_text, p_text_plural, p_n, p_context);
if (rtr == String() || rtr == p_text || rtr == p_text_plural) {
if (rtr.is_empty() || rtr == p_text || rtr == p_text_plural) {
return TranslationServer::get_singleton()->translate_plural(p_text, p_text_plural, p_n, p_context);
} else {
return rtr;

View File

@ -1598,14 +1598,14 @@ Error VariantWriter::write(const Variant &p_variant, StoreStringFunc p_store_str
}
//try path because it's a file
if (res_text == String() && res->get_path().is_resource_file()) {
if (res_text.is_empty() && res->get_path().is_resource_file()) {
//external resource
String path = res->get_path();
res_text = "Resource(\"" + path + "\")";
}
//could come up with some sort of text
if (res_text != String()) {
if (!res_text.is_empty()) {
p_store_string_func(p_store_string_ud, res_text);
break;
}

View File

@ -1555,7 +1555,7 @@ void RasterizerStorageGLES3::_update_shader(Shader *p_shader) const {
p_shader->uniforms.clear();
if (p_shader->code == String()) {
if (p_shader->code.is_empty()) {
return; //just invalid, but no error
}

View File

@ -342,7 +342,7 @@ Error DirAccessUnix::change_dir(String p_dir) {
}
String base = _get_root_path();
if (base != String() && !try_dir.begins_with(base)) {
if (!base.is_empty() && !try_dir.begins_with(base)) {
ERR_FAIL_COND_V(getcwd(real_current_dir_name, 2048) == nullptr, ERR_BUG);
String new_dir;
new_dir.parse_utf8(real_current_dir_name);
@ -360,7 +360,7 @@ Error DirAccessUnix::change_dir(String p_dir) {
String DirAccessUnix::get_current_dir(bool p_include_drive) {
String base = _get_root_path();
if (base != "") {
if (!base.is_empty()) {
String bd = current_dir.replace_first(base, "");
if (bd.begins_with("/")) {
return _get_root_string() + bd.substr(1, bd.length());

View File

@ -160,7 +160,7 @@ void FileAccessUnix::close() {
close_notification_func(path, flags);
}
if (save_path != "") {
if (!save_path.is_empty()) {
int rename_error = rename((save_path + ".tmp").utf8().get_data(), save_path.utf8().get_data());
if (rename_error && close_fail_notify) {

View File

@ -460,11 +460,11 @@ int OS_Unix::get_processor_count() const {
String OS_Unix::get_user_data_dir() const {
String appname = get_safe_dir_name(ProjectSettings::get_singleton()->get("application/config/name"));
if (appname != "") {
if (!appname.is_empty()) {
bool use_custom_dir = ProjectSettings::get_singleton()->get("application/config/use_custom_user_dir");
if (use_custom_dir) {
String custom_dir = get_safe_dir_name(ProjectSettings::get_singleton()->get("application/config/custom_user_dir_name"), true);
if (custom_dir == "") {
if (custom_dir.is_empty()) {
custom_dir = appname;
}
return get_data_path().plus_file(custom_dir);
@ -486,7 +486,7 @@ String OS_Unix::get_executable_path() const {
if (len > 0) {
b.parse_utf8(buf, len);
}
if (b == "") {
if (b.is_empty()) {
WARN_PRINT("Couldn't get executable path from /proc/self/exe, using argv[0]");
return OS::get_executable_path();
}

View File

@ -4249,7 +4249,7 @@ String RenderingDeviceVulkan::_shader_uniform_debug(RID p_shader, int p_set) {
}
for (int j = 0; j < shader->sets[i].uniform_info.size(); j++) {
const UniformInfo &ui = shader->sets[i].uniform_info[j];
if (ret != String()) {
if (!ret.is_empty()) {
ret += "\n";
}
ret += "Set: " + itos(i) + " Binding: " + itos(ui.binding) + " Type: " + shader_uniform_names[ui.type] + " Length: " + itos(ui.length);

View File

@ -133,7 +133,7 @@ Error DirAccessWindows::change_dir(String p_dir) {
bool worked = (SetCurrentDirectoryW((LPCWSTR)(p_dir.utf16().get_data())) != 0);
String base = _get_root_path();
if (base != "") {
if (!base.is_empty()) {
GetCurrentDirectoryW(2048, real_current_dir_name);
String new_dir = String::utf16((const char16_t *)real_current_dir_name).replace("\\", "/");
if (!new_dir.begins_with(base)) {
@ -184,7 +184,7 @@ Error DirAccessWindows::make_dir(String p_dir) {
String DirAccessWindows::get_current_dir(bool p_include_drive) {
String base = _get_root_path();
if (base != "") {
if (!base.is_empty()) {
String bd = current_dir.replace("\\", "/").replace_first(base, "");
if (bd.begins_with("/")) {
return _get_root_string() + bd.substr(1, bd.length());
@ -196,7 +196,7 @@ String DirAccessWindows::get_current_dir(bool p_include_drive) {
if (p_include_drive) {
return current_dir;
} else {
if (_get_root_string() == "") {
if (_get_root_string().is_empty()) {
int p = current_dir.find(":");
if (p != -1) {
return current_dir.substr(p + 1);

View File

@ -99,7 +99,7 @@ Error FileAccessWindows::_open(const String &p_path, int p_mode_flags) {
HANDLE f = FindFirstFileW((LPCWSTR)(path.utf16().get_data()), &d);
if (f != INVALID_HANDLE_VALUE) {
String fname = String::utf16((const char16_t *)(d.cFileName));
if (fname != String()) {
if (!fname.is_empty()) {
String base_file = path.get_file();
if (base_file != fname && base_file.findn(fname) == 0) {
WARN_PRINT("Case mismatch opening requested file '" + base_file + "', stored as '" + fname + "' in the filesystem. This file will not open when exported to other case-sensitive platforms.");
@ -142,7 +142,7 @@ void FileAccessWindows::close() {
fclose(f);
f = nullptr;
if (save_path != "") {
if (!save_path.is_empty()) {
bool rename_error = true;
int attempts = 4;
while (rename_error && attempts) {

View File

@ -761,7 +761,7 @@ void ActionMapEditor::_add_action_pressed() {
}
void ActionMapEditor::_add_action(const String &p_name) {
if (p_name == "" || !_is_action_name_valid(p_name)) {
if (p_name.is_empty() || !_is_action_name_valid(p_name)) {
show_message(TTR("Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or '\"'"));
return;
}
@ -785,7 +785,7 @@ void ActionMapEditor::_action_edited() {
return;
}
if (new_name == "" || !_is_action_name_valid(new_name)) {
if (new_name.is_empty() || !_is_action_name_valid(new_name)) {
ti->set_text(0, old_name);
show_message(TTR("Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or '\"'"));
return;

View File

@ -650,7 +650,7 @@ public:
List<StringName> anims;
ap->get_animation_list(&anims);
for (const StringName &E : anims) {
if (animations != String()) {
if (!animations.is_empty()) {
animations += ",";
}
@ -659,7 +659,7 @@ public:
}
}
if (animations != String()) {
if (!animations.is_empty()) {
animations += ",";
}
animations += "[stop]";
@ -1332,7 +1332,7 @@ public:
List<StringName> anims;
ap->get_animation_list(&anims);
for (List<StringName>::Element *G = anims.front(); G; G = G->next()) {
if (animations != String()) {
if (!animations.is_empty()) {
animations += ",";
}
@ -1341,7 +1341,7 @@ public:
}
}
if (animations != String()) {
if (!animations.is_empty()) {
animations += ",";
}
animations += "[stop]";
@ -2665,7 +2665,7 @@ String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const {
if (stream.is_valid()) {
if (stream->get_path().is_resource_file()) {
stream_name = stream->get_path().get_file();
} else if (stream->get_name() != "") {
} else if (!stream->get_name().is_empty()) {
stream_name = stream->get_name();
} else {
stream_name = stream->get_class();
@ -3657,7 +3657,7 @@ void AnimationTrackEditor::insert_transform_key(Node3D *p_node, const String &p_
// Let's build a node path.
String path = root->get_path_to(p_node);
if (p_sub != "") {
if (!p_sub.is_empty()) {
path += ":" + p_sub;
}
@ -3697,7 +3697,7 @@ bool AnimationTrackEditor::has_track(Node3D *p_node, const String &p_sub, const
// Let's build a node path.
String path = root->get_path_to(p_node);
if (p_sub != "") {
if (!p_sub.is_empty()) {
path += ":" + p_sub;
}
@ -3762,7 +3762,7 @@ void AnimationTrackEditor::insert_node_value_key(Node *p_node, const String &p_p
EditorHistory *history = EditorNode::get_singleton()->get_editor_history();
for (int i = 1; i < history->get_path_size(); i++) {
String prop = history->get_path_property(i);
ERR_FAIL_COND(prop == "");
ERR_FAIL_COND(prop.is_empty());
path += ":" + prop;
}
@ -3862,7 +3862,7 @@ void AnimationTrackEditor::insert_value_key(const String &p_property, const Vari
for (int i = 1; i < history->get_path_size(); i++) {
String prop = history->get_path_property(i);
ERR_FAIL_COND(prop == "");
ERR_FAIL_COND(prop.is_empty());
path += ":" + prop;
}
@ -6021,7 +6021,7 @@ void AnimationTrackEditor::_pick_track_select_recursive(TreeItem *p_item, const
NodePath np = p_item->get_metadata(0);
Node *node = get_node(np);
if (p_filter != String() && ((String)node->get_name()).findn(p_filter) != -1) {
if (!p_filter.is_empty() && ((String)node->get_name()).findn(p_filter) != -1) {
p_select_candidates.push_back(node);
}

View File

@ -1534,7 +1534,7 @@ void CodeTextEditor::set_edit_state(const Variant &p_state) {
void CodeTextEditor::set_error(const String &p_error) {
error->set_text(p_error);
if (p_error != "") {
if (!p_error.is_empty()) {
error->set_default_cursor_shape(CURSOR_POINTING_HAND);
} else {
error->set_default_cursor_shape(CURSOR_ARROW);
@ -1547,7 +1547,7 @@ void CodeTextEditor::set_error_pos(int p_line, int p_column) {
}
void CodeTextEditor::goto_error() {
if (error->get_text() != "") {
if (!error->get_text().is_empty()) {
text_editor->unfold_line(error_line);
text_editor->set_caret_line(error_line);
text_editor->set_caret_column(error_column);

View File

@ -111,7 +111,7 @@ public:
void ConnectDialog::ok_pressed() {
String method_name = dst_method->get_text();
if (method_name == "") {
if (method_name.is_empty()) {
error->set_text(TTR("Method in target node must be specified."));
error->popup_centered();
return;
@ -234,7 +234,7 @@ void ConnectDialog::_add_bind() {
*/
void ConnectDialog::_remove_bind() {
String st = bind_editor->get_selected_path();
if (st == "") {
if (st.is_empty()) {
return;
}
int idx = st.get_slice("/", 1).to_int() - 1;
@ -969,7 +969,7 @@ void ConnectionsDock::update_tree() {
} else if (pi.type != Variant::NIL) {
tname = Variant::get_type_name(pi.type);
}
signaldesc += (pi.name == "" ? String("arg " + itos(i)) : pi.name) + ": " + tname;
signaldesc += (pi.name.is_empty() ? String("arg " + itos(i)) : pi.name) + ": " + tname;
argnames.push_back(pi.name + ":" + tname);
}
}
@ -1001,7 +1001,7 @@ void ConnectionsDock::update_tree() {
if (!found) {
DocTools *dd = EditorHelp::get_doc_data();
Map<String, DocData::ClassDoc>::Element *F = dd->class_list.find(base);
while (F && descr == String()) {
while (F && descr.is_empty()) {
for (int i = 0; i < F->get().signals.size(); i++) {
if (F->get().signals[i].name == signal_name.operator String()) {
descr = DTR(F->get().signals[i].description);

View File

@ -173,7 +173,7 @@ void CreateDialog::_update_search() {
_configure_search_option_item(root, base_type, ClassDB::class_exists(base_type));
const String search_text = search_box->get_text();
bool empty_search = search_text == "";
bool empty_search = search_text.is_empty();
// Filter all candidate results.
Vector<String> candidates;
@ -244,7 +244,7 @@ void CreateDialog::_configure_search_option_item(TreeItem *r_item, const String
r_item->set_icon(0, EditorNode::get_singleton()->get_class_icon(p_type, icon_fallback));
}
if (search_box->get_text() != "") {
if (!search_box->get_text().is_empty()) {
r_item->set_collapsed(false);
} else {
// Don't collapse the root node or an abstract node on the first tree level.
@ -322,7 +322,7 @@ void CreateDialog::_cleanup() {
void CreateDialog::_confirmed() {
String selected_item = get_selected_type();
if (selected_item == String()) {
if (selected_item.is_empty()) {
return;
}
@ -642,7 +642,7 @@ void CreateDialog::_load_favorites_and_history() {
while (!f->eof_reached()) {
String l = f->get_line().strip_edges();
if (l != String()) {
if (!l.is_empty()) {
favorite_list.push_back(l);
}
}

View File

@ -79,7 +79,7 @@ void ScriptEditorDebugger::_put_msg(String p_message, Array p_data) {
void ScriptEditorDebugger::debug_copy() {
String msg = reason->get_text();
if (msg == "") {
if (msg.is_empty()) {
return;
}
DisplayServer::get_singleton()->clipboard_set(msg);
@ -312,7 +312,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
if (is_move_to_foreground()) {
DisplayServer::get_singleton()->window_move_to_foreground();
}
if (error != "") {
if (!error.is_empty()) {
tabs->set_current_tab(0);
}
profiler->set_enabled(false);
@ -1083,7 +1083,7 @@ void ScriptEditorDebugger::_method_changed(Object *p_base, const StringName &p_n
Resource *res = Object::cast_to<Resource>(p_base);
if (res && res->get_path() != String()) {
if (res && !res->get_path().is_empty()) {
String respath = res->get_path();
int pathid = _get_res_path_cache(respath);
@ -1113,7 +1113,7 @@ void ScriptEditorDebugger::_property_changed(Object *p_base, const StringName &p
if (p_value.is_ref()) {
Ref<Resource> res = p_value;
if (res.is_valid() && res->get_path() != String()) {
if (res.is_valid() && !res->get_path().is_empty()) {
Array msg;
msg.push_back(pathid);
msg.push_back(p_property);
@ -1133,13 +1133,13 @@ void ScriptEditorDebugger::_property_changed(Object *p_base, const StringName &p
Resource *res = Object::cast_to<Resource>(p_base);
if (res && res->get_path() != String()) {
if (res && !res->get_path().is_empty()) {
String respath = res->get_path();
int pathid = _get_res_path_cache(respath);
if (p_value.is_ref()) {
Ref<Resource> res2 = p_value;
if (res2.is_valid() && res2->get_path() != String()) {
if (res2.is_valid() && !res2->get_path().is_empty()) {
Array msg;
msg.push_back(pathid);
msg.push_back(p_property);

View File

@ -75,7 +75,7 @@ void DependencyEditor::_fix_and_find(EditorFileSystemDirectory *efsd, Map<String
String path = efsd->get_file_path(i);
for (KeyValue<String, String> &E : candidates[file]) {
if (E.value == String()) {
if (E.value.is_empty()) {
E.value = path;
continue;
}
@ -135,7 +135,7 @@ void DependencyEditor::_fix_all() {
for (KeyValue<String, Map<String, String>> &E : candidates) {
for (const KeyValue<String, String> &F : E.value) {
if (F.value != String()) {
if (!F.value.is_empty()) {
remaps[F.key] = F.value;
}
}

View File

@ -252,17 +252,17 @@ void DocTools::remove_from(const DocTools &p_data) {
}
void DocTools::add_doc(const DocData::ClassDoc &p_class_doc) {
ERR_FAIL_COND(p_class_doc.name == "");
ERR_FAIL_COND(p_class_doc.name.is_empty());
class_list[p_class_doc.name] = p_class_doc;
}
void DocTools::remove_doc(const String &p_class_name) {
ERR_FAIL_COND(p_class_name == "" || !class_list.has(p_class_name));
ERR_FAIL_COND(p_class_name.is_empty() || !class_list.has(p_class_name));
class_list.erase(p_class_name);
}
bool DocTools::has_doc(const String &p_class_name) {
if (p_class_name == "") {
if (p_class_name.is_empty()) {
return false;
}
return class_list.has(p_class_name);
@ -437,7 +437,7 @@ void DocTools::generate(bool p_basic_types) {
method_list.sort();
for (const MethodInfo &E : method_list) {
if (E.name == "" || (E.name[0] == '_' && !(E.flags & METHOD_FLAG_VIRTUAL))) {
if (E.name.is_empty() || (E.name[0] == '_' && !(E.flags & METHOD_FLAG_VIRTUAL))) {
continue; //hidden, don't count
}
@ -459,21 +459,21 @@ void DocTools::generate(bool p_basic_types) {
}
if (E.flags & METHOD_FLAG_CONST) {
if (method.qualifiers != "") {
if (!method.qualifiers.is_empty()) {
method.qualifiers += " ";
}
method.qualifiers += "const";
}
if (E.flags & METHOD_FLAG_VARARG) {
if (method.qualifiers != "") {
if (!method.qualifiers.is_empty()) {
method.qualifiers += " ";
}
method.qualifiers += "vararg";
}
if (E.flags & METHOD_FLAG_STATIC) {
if (method.qualifiers != "") {
if (!method.qualifiers.is_empty()) {
method.qualifiers += " ";
}
method.qualifiers += "static";
@ -736,21 +736,21 @@ void DocTools::generate(bool p_basic_types) {
DocData::return_doc_from_retinfo(method, mi.return_val);
if (mi.flags & METHOD_FLAG_VARARG) {
if (method.qualifiers != "") {
if (!method.qualifiers.is_empty()) {
method.qualifiers += " ";
}
method.qualifiers += "vararg";
}
if (mi.flags & METHOD_FLAG_CONST) {
if (method.qualifiers != "") {
if (!method.qualifiers.is_empty()) {
method.qualifiers += " ";
}
method.qualifiers += "const";
}
if (mi.flags & METHOD_FLAG_STATIC) {
if (method.qualifiers != "") {
if (!method.qualifiers.is_empty()) {
method.qualifiers += " ";
}
method.qualifiers += "static";
@ -885,7 +885,7 @@ void DocTools::generate(bool p_basic_types) {
md.name = mi.name;
if (mi.flags & METHOD_FLAG_VARARG) {
if (md.qualifiers != "") {
if (!md.qualifiers.is_empty()) {
md.qualifiers += " ";
}
md.qualifiers += "vararg";
@ -1005,7 +1005,7 @@ Error DocTools::load_classes(const String &p_dir) {
da->list_dir_begin();
String path;
path = da->get_next();
while (path != String()) {
while (!path.is_empty()) {
if (!da->current_is_dir() && path.ends_with("xml")) {
Ref<XMLParser> parser = memnew(XMLParser);
Error err2 = parser->open(p_dir.plus_file(path));
@ -1035,7 +1035,7 @@ Error DocTools::erase_classes(const String &p_dir) {
da->list_dir_begin();
String path;
path = da->get_next();
while (path != String()) {
while (!path.is_empty()) {
if (!da->current_is_dir() && path.ends_with("xml")) {
to_erase.push_back(path);
}
@ -1236,7 +1236,7 @@ Error DocTools::_load(Ref<XMLParser> parser) {
}
static void _write_string(FileAccess *f, int p_tablevel, const String &p_string) {
if (p_string == "") {
if (p_string.is_empty()) {
return;
}
String tab;
@ -1254,15 +1254,15 @@ static void _write_method_doc(FileAccess *f, const String &p_name, Vector<DocDat
const DocData::MethodDoc &m = p_method_docs[i];
String qualifiers;
if (m.qualifiers != "") {
if (!m.qualifiers.is_empty()) {
qualifiers += " qualifiers=\"" + m.qualifiers.xml_escape() + "\"";
}
_write_string(f, 2, "<" + p_name + " name=\"" + m.name.xml_escape() + "\"" + qualifiers + ">");
if (m.return_type != "") {
if (!m.return_type.is_empty()) {
String enum_text;
if (m.return_enum != String()) {
if (!m.return_enum.is_empty()) {
enum_text = " enum=\"" + m.return_enum + "\"";
}
_write_string(f, 3, "<return type=\"" + m.return_type + "\"" + enum_text + " />");
@ -1277,11 +1277,11 @@ static void _write_method_doc(FileAccess *f, const String &p_name, Vector<DocDat
const DocData::ArgumentDoc &a = m.arguments[j];
String enum_text;
if (a.enumeration != String()) {
if (!a.enumeration.is_empty()) {
enum_text = " enum=\"" + a.enumeration + "\"";
}
if (a.default_value != "") {
if (!a.default_value.is_empty()) {
_write_string(f, 3, "<argument index=\"" + itos(j) + "\" name=\"" + a.name.xml_escape() + "\" type=\"" + a.type.xml_escape() + "\"" + enum_text + " default=\"" + a.default_value.xml_escape(true) + "\" />");
} else {
_write_string(f, 3, "<argument index=\"" + itos(j) + "\" name=\"" + a.name.xml_escape() + "\" type=\"" + a.type.xml_escape() + "\"" + enum_text + " />");
@ -1319,7 +1319,7 @@ Error DocTools::save_classes(const String &p_default_path, const Map<String, Str
_write_string(f, 0, "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
String header = "<class name=\"" + c.name + "\"";
if (c.inherits != "") {
if (!c.inherits.is_empty()) {
header += " inherits=\"" + c.inherits + "\"";
}
header += String(" version=\"") + VERSION_BRANCH + "\"";
@ -1353,10 +1353,10 @@ Error DocTools::save_classes(const String &p_default_path, const Map<String, Str
for (int i = 0; i < c.properties.size(); i++) {
String additional_attributes;
if (c.properties[i].enumeration != String()) {
if (!c.properties[i].enumeration.is_empty()) {
additional_attributes += " enum=\"" + c.properties[i].enumeration + "\"";
}
if (c.properties[i].default_value != String()) {
if (!c.properties[i].default_value.is_empty()) {
additional_attributes += " default=\"" + c.properties[i].default_value.xml_escape(true) + "\"";
}
@ -1380,13 +1380,13 @@ Error DocTools::save_classes(const String &p_default_path, const Map<String, Str
for (int i = 0; i < c.constants.size(); i++) {
const DocData::ConstantDoc &k = c.constants[i];
if (k.is_value_valid) {
if (k.enumeration != String()) {
if (!k.enumeration.is_empty()) {
_write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\" enum=\"" + k.enumeration + "\">");
} else {
_write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\">");
}
} else {
if (k.enumeration != String()) {
if (!k.enumeration.is_empty()) {
_write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"platform-dependent\" enum=\"" + k.enumeration + "\">");
} else {
_write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"platform-dependent\">");
@ -1406,7 +1406,7 @@ Error DocTools::save_classes(const String &p_default_path, const Map<String, Str
for (int i = 0; i < c.theme_properties.size(); i++) {
const DocData::ThemeItemDoc &ti = c.theme_properties[i];
if (ti.default_value != "") {
if (!ti.default_value.is_empty()) {
_write_string(f, 2, "<theme_item name=\"" + ti.name + "\" data_type=\"" + ti.data_type + "\" type=\"" + ti.type + "\" default=\"" + ti.default_value.xml_escape(true) + "\">");
} else {
_write_string(f, 2, "<theme_item name=\"" + ti.name + "\" data_type=\"" + ti.data_type + "\" type=\"" + ti.type + "\">");

View File

@ -88,7 +88,7 @@ void EditorAssetInstaller::_item_edited() {
String path = item->get_metadata(0);
updating = true;
if (path == String() || item == tree->get_root()) { //a dir or root
if (path.is_empty() || item == tree->get_root()) { //a dir or root
_update_subitems(item, item->is_checked(0), true);
}
@ -212,7 +212,7 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
depth--;
}
if (skip || path == String()) {
if (skip || path.is_empty()) {
continue;
}
@ -307,7 +307,7 @@ void EditorAssetInstaller::ok_pressed() {
if (status_map.has(name) && status_map[name]->is_checked(0)) {
String path = status_map[name]->get_metadata(0);
if (path == String()) { // a dir
if (path.is_empty()) { // a dir
String dirpath;
TreeItem *t = status_map[name];

View File

@ -340,22 +340,22 @@ void EditorAutoloadSettings::_autoload_file_callback(const String &p_path) {
}
void EditorAutoloadSettings::_autoload_text_submitted(const String p_name) {
if (autoload_add_path->get_text() != "" && _autoload_name_is_valid(p_name, nullptr)) {
if (!autoload_add_path->get_text().is_empty() && _autoload_name_is_valid(p_name, nullptr)) {
_autoload_add();
}
}
void EditorAutoloadSettings::_autoload_path_text_changed(const String p_path) {
add_autoload->set_disabled(
p_path == "" || !_autoload_name_is_valid(autoload_add_name->get_text(), nullptr));
p_path.is_empty() || !_autoload_name_is_valid(autoload_add_name->get_text(), nullptr));
}
void EditorAutoloadSettings::_autoload_text_changed(const String p_name) {
String error_string;
bool is_name_valid = _autoload_name_is_valid(p_name, &error_string);
add_autoload->set_disabled(autoload_add_path->get_text() == "" || !is_name_valid);
add_autoload->set_disabled(autoload_add_path->get_text().is_empty() || !is_name_valid);
error_message->set_text(error_string);
error_message->set_visible(autoload_add_name->get_text() != "" && !is_name_valid);
error_message->set_visible(!autoload_add_name->get_text().is_empty() && !is_name_valid);
}
Node *EditorAutoloadSettings::_create_autoload(const String &p_path) {

View File

@ -164,7 +164,7 @@ void EditorCommandPalette::_sbox_input(const Ref<InputEvent> &p_ie) {
void EditorCommandPalette::_confirmed() {
TreeItem *selected_option = search_options->get_selected();
String command_key = selected_option != nullptr ? selected_option->get_metadata(0) : "";
if (command_key != "") {
if (!command_key.is_empty()) {
hide();
execute_command(command_key);
}

View File

@ -100,7 +100,7 @@ void EditorHistory::_add_object(ObjectID p_object, const String &p_property, int
history.resize(current + 1); //clip history to next
}
if (p_property != "" && has_prev) {
if (!p_property.is_empty() && has_prev) {
//add a sub property
History &pr = history.write[current];
h = pr;
@ -566,7 +566,7 @@ void EditorData::remove_scene(int p_idx) {
current_edited_scene--;
}
if (edited_scene[p_idx].path != String()) {
if (!edited_scene[p_idx].path.is_empty()) {
ScriptEditor::get_singleton()->close_builtin_scripts_from_scene(edited_scene[p_idx].path);
}
@ -583,7 +583,7 @@ bool EditorData::_find_updated_instances(Node *p_root, Node *p_node, Set<String>
if (p_node == p_root) {
ss = p_node->get_scene_inherited_state();
} else if (p_node->get_scene_file_path() != String()) {
} else if (!p_node->get_scene_file_path().is_empty()) {
ss = p_node->get_scene_instance_state();
}
@ -647,7 +647,7 @@ bool EditorData::check_and_update_scene(int p_idx) {
memdelete(edited_scene[p_idx].root);
edited_scene.write[p_idx].root = new_scene;
if (new_scene->get_scene_file_path() != "") {
if (!new_scene->get_scene_file_path().is_empty()) {
edited_scene.write[p_idx].path = new_scene->get_scene_file_path();
}
edited_scene.write[p_idx].selection = new_selection;
@ -682,14 +682,14 @@ void EditorData::set_edited_scene_root(Node *p_root) {
ERR_FAIL_INDEX(current_edited_scene, edited_scene.size());
edited_scene.write[current_edited_scene].root = p_root;
if (p_root) {
if (p_root->get_scene_file_path() != "") {
if (!p_root->get_scene_file_path().is_empty()) {
edited_scene.write[current_edited_scene].path = p_root->get_scene_file_path();
} else {
p_root->set_scene_file_path(edited_scene[current_edited_scene].path);
}
}
if (edited_scene[current_edited_scene].path != "") {
if (!edited_scene[current_edited_scene].path.is_empty()) {
edited_scene.write[current_edited_scene].file_modified_time = FileAccess::get_modified_time(edited_scene[current_edited_scene].path);
}
}
@ -764,7 +764,7 @@ Ref<Script> EditorData::get_scene_root_script(int p_idx) const {
Ref<Script> s = edited_scene[p_idx].root->get_script();
if (!s.is_valid() && edited_scene[p_idx].root->get_child_count()) {
Node *n = edited_scene[p_idx].root->get_child(0);
while (!s.is_valid() && n && n->get_scene_file_path() == String()) {
while (!s.is_valid() && n && n->get_scene_file_path().is_empty()) {
s = n->get_script();
n = n->get_parent();
}
@ -777,7 +777,7 @@ String EditorData::get_scene_title(int p_idx, bool p_always_strip_extension) con
if (!edited_scene[p_idx].root) {
return TTR("[empty]");
}
if (edited_scene[p_idx].root->get_scene_file_path() == "") {
if (edited_scene[p_idx].root->get_scene_file_path().is_empty()) {
return TTR("[unsaved]");
}
@ -818,7 +818,7 @@ String EditorData::get_scene_path(int p_idx) const {
ERR_FAIL_INDEX_V(p_idx, edited_scene.size(), String());
if (edited_scene[p_idx].root) {
if (edited_scene[p_idx].root->get_scene_file_path() == "") {
if (edited_scene[p_idx].root->get_scene_file_path().is_empty()) {
edited_scene[p_idx].root->set_scene_file_path(edited_scene[p_idx].path);
} else {
return edited_scene[p_idx].root->get_scene_file_path();

View File

@ -49,7 +49,7 @@ void EditorDirDialog::_update_dir(TreeItem *p_item, EditorFileSystemDirectory *p
if (!p_item->get_parent()) {
p_item->set_text(0, "res://");
} else {
if (!opened_paths.has(path) && (p_select_path == String() || !p_select_path.begins_with(path))) {
if (!opened_paths.has(path) && (p_select_path.is_empty() || !p_select_path.begins_with(path))) {
p_item->set_collapsed(true);
}

View File

@ -264,7 +264,7 @@ void EditorExportPlatform::gen_debug_flags(Vector<String> &r_flags, int p_flags)
String passwd = EditorSettings::get_singleton()->get("filesystem/file_server/password");
r_flags.push_back("--remote-fs");
r_flags.push_back(host + ":" + itos(port));
if (passwd != "") {
if (!passwd.is_empty()) {
r_flags.push_back("--remote-fs-password");
r_flags.push_back(passwd);
}
@ -528,7 +528,7 @@ void EditorExportPlatform::_edit_files_with_filter(DirAccess *da, const Vector<S
}
void EditorExportPlatform::_edit_filter_list(Set<String> &r_list, const String &p_filter, bool exclude) {
if (p_filter == "") {
if (p_filter.is_empty()) {
return;
}
Vector<String> split = p_filter.split(",");
@ -683,12 +683,12 @@ EditorExportPlatform::FeatureContainers EditorExportPlatform::get_feature_contai
result.features_pv.push_back(E);
}
if (p_preset->get_custom_features() != String()) {
if (!p_preset->get_custom_features().is_empty()) {
Vector<String> tmp_custom_list = p_preset->get_custom_features().split(",");
for (int i = 0; i < tmp_custom_list.size(); i++) {
String f = tmp_custom_list[i].strip_edges();
if (f != String()) {
if (!f.is_empty()) {
result.features.insert(f);
result.features_pv.push_back(f);
}
@ -994,12 +994,12 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
Vector<String> custom_list;
if (p_preset->get_custom_features() != String()) {
if (!p_preset->get_custom_features().is_empty()) {
Vector<String> tmp_custom_list = p_preset->get_custom_features().split(",");
for (int i = 0; i < tmp_custom_list.size(); i++) {
String f = tmp_custom_list[i].strip_edges();
if (f != String()) {
if (!f.is_empty()) {
custom_list.push_back(f);
}
}
@ -1033,14 +1033,14 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
// Store icon and splash images directly, they need to bypass the import system and be loaded as images
String icon = ProjectSettings::get_singleton()->get("application/config/icon");
String splash = ProjectSettings::get_singleton()->get("application/boot_splash/image");
if (icon != String() && FileAccess::exists(icon)) {
if (!icon.is_empty() && FileAccess::exists(icon)) {
Vector<uint8_t> array = FileAccess::get_file_as_array(icon);
err = p_func(p_udata, icon, array, idx, total, enc_in_filters, enc_ex_filters, key);
if (err != OK) {
return err;
}
}
if (splash != String() && FileAccess::exists(splash) && icon != splash) {
if (!splash.is_empty() && FileAccess::exists(splash) && icon != splash) {
Vector<uint8_t> array = FileAccess::get_file_as_array(splash);
err = p_func(p_udata, splash, array, idx, total, enc_in_filters, enc_ex_filters, key);
if (err != OK) {
@ -1359,7 +1359,7 @@ void EditorExportPlatform::gen_export_flags(Vector<String> &r_flags, int p_flags
String passwd = EditorSettings::get_singleton()->get("filesystem/file_server/password");
r_flags.push_back("--remote-fs");
r_flags.push_back(host + ":" + itos(port));
if (passwd != "") {
if (!passwd.is_empty()) {
r_flags.push_back("--remote-fs-password");
r_flags.push_back(passwd);
}
@ -1855,7 +1855,7 @@ Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_pr
template_path = template_path.strip_edges();
if (template_path == String()) {
if (template_path.is_empty()) {
if (p_preset->get("binary_format/64_bits")) {
if (p_debug) {
template_path = find_export_template(debug_file_64);
@ -1871,7 +1871,7 @@ Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_pr
}
}
if (template_path != String() && !FileAccess::exists(template_path)) {
if (!template_path.is_empty() && !FileAccess::exists(template_path)) {
EditorNode::get_singleton()->show_warning(TTR("Template file not found:") + "\n" + template_path);
return ERR_FILE_NOT_FOUND;
}

View File

@ -310,7 +310,7 @@ EditorFeatureProfile::EditorFeatureProfile() {}
void EditorFeatureProfileManager::_notification(int p_what) {
if (p_what == NOTIFICATION_READY) {
current_profile = EDITOR_GET("_default_feature_profile");
if (current_profile != String()) {
if (!current_profile.is_empty()) {
current.instantiate();
Error err = current->load_from_file(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(current_profile + ".profile"));
if (err != OK) {
@ -334,7 +334,7 @@ String EditorFeatureProfileManager::_get_selected_profile() {
void EditorFeatureProfileManager::_update_profile_list(const String &p_select_profile) {
String selected_profile;
if (p_select_profile == String()) { //default, keep
if (p_select_profile.is_empty()) { //default, keep
if (profile_list->get_selected() >= 0) {
selected_profile = profile_list->get_item_metadata(profile_list->get_selected());
if (!FileAccess::exists(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(selected_profile + ".profile"))) {
@ -352,7 +352,7 @@ void EditorFeatureProfileManager::_update_profile_list(const String &p_select_pr
d->list_dir_begin();
while (true) {
String f = d->get_next();
if (f == String()) {
if (f.is_empty()) {
break;
}
@ -371,7 +371,7 @@ void EditorFeatureProfileManager::_update_profile_list(const String &p_select_pr
for (int i = 0; i < profiles.size(); i++) {
String name = profiles[i];
if (i == 0 && selected_profile == String()) {
if (i == 0 && selected_profile.is_empty()) {
selected_profile = name;
}
@ -386,15 +386,15 @@ void EditorFeatureProfileManager::_update_profile_list(const String &p_select_pr
}
}
class_list_vbc->set_visible(selected_profile != String());
property_list_vbc->set_visible(selected_profile != String());
no_profile_selected_help->set_visible(selected_profile == String());
profile_actions[PROFILE_CLEAR]->set_disabled(current_profile == String());
profile_actions[PROFILE_ERASE]->set_disabled(selected_profile == String());
profile_actions[PROFILE_EXPORT]->set_disabled(selected_profile == String());
profile_actions[PROFILE_SET]->set_disabled(selected_profile == String());
class_list_vbc->set_visible(!selected_profile.is_empty());
property_list_vbc->set_visible(!selected_profile.is_empty());
no_profile_selected_help->set_visible(selected_profile.is_empty());
profile_actions[PROFILE_CLEAR]->set_disabled(current_profile.is_empty());
profile_actions[PROFILE_ERASE]->set_disabled(selected_profile.is_empty());
profile_actions[PROFILE_EXPORT]->set_disabled(selected_profile.is_empty());
profile_actions[PROFILE_SET]->set_disabled(selected_profile.is_empty());
current_profile_name->set_text(current_profile != String() ? current_profile : TTR("(none)"));
current_profile_name->set_text(!current_profile.is_empty() ? current_profile : TTR("(none)"));
_update_selected_profile();
}
@ -412,7 +412,7 @@ void EditorFeatureProfileManager::_profile_action(int p_action) {
} break;
case PROFILE_SET: {
String selected = _get_selected_profile();
ERR_FAIL_COND(selected == String());
ERR_FAIL_COND(selected.is_empty());
if (selected == current_profile) {
return; // Nothing to do here.
}
@ -438,7 +438,7 @@ void EditorFeatureProfileManager::_profile_action(int p_action) {
} break;
case PROFILE_ERASE: {
String selected = _get_selected_profile();
ERR_FAIL_COND(selected == String());
ERR_FAIL_COND(selected.is_empty());
erase_profile_dialog->set_text(vformat(TTR("Remove currently selected profile, '%s'? Cannot be undone."), selected));
erase_profile_dialog->popup_centered(Size2(240, 60) * EDSCALE);
@ -448,7 +448,7 @@ void EditorFeatureProfileManager::_profile_action(int p_action) {
void EditorFeatureProfileManager::_erase_selected_profile() {
String selected = _get_selected_profile();
ERR_FAIL_COND(selected == String());
ERR_FAIL_COND(selected.is_empty());
DirAccessRef da = DirAccess::open(EditorSettings::get_singleton()->get_feature_profiles_dir());
ERR_FAIL_COND_MSG(!da, "Cannot open directory '" + EditorSettings::get_singleton()->get_feature_profiles_dir() + "'.");
@ -718,7 +718,7 @@ void EditorFeatureProfileManager::_update_selected_profile() {
class_list->clear();
String profile = _get_selected_profile();
if (profile == String()) { //nothing selected, nothing edited
if (profile.is_empty()) { //nothing selected, nothing edited
property_list->clear();
edited.unref();
return;
@ -822,7 +822,7 @@ void EditorFeatureProfileManager::_export_profile(const String &p_path) {
void EditorFeatureProfileManager::_save_and_update() {
String edited_path = _get_selected_profile();
ERR_FAIL_COND(edited_path == String());
ERR_FAIL_COND(edited_path.is_empty());
ERR_FAIL_COND(edited.is_null());
edited->save_to_file(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(edited_path + ".profile"));

View File

@ -274,7 +274,7 @@ void EditorFileDialog::_post_popup() {
file_box->set_visible(true);
}
if (is_visible() && get_current_file() != "") {
if (is_visible() && !get_current_file().is_empty()) {
_request_single_thumbnail(get_current_dir().plus_file(get_current_file()));
}

View File

@ -241,7 +241,7 @@ void EditorFileSystem::_scan_filesystem() {
first = false;
continue;
}
if (l == String()) {
if (l.is_empty()) {
continue;
}
@ -295,7 +295,7 @@ void EditorFileSystem::_scan_filesystem() {
{
FileAccessRef f2 = FileAccess::open(update_cache, FileAccess::READ);
String l = f2->get_line().strip_edges();
while (l != String()) {
while (!l.is_empty()) {
file_cache.erase(l); //erase cache for this, so it gets updated
l = f2->get_line().strip_edges();
}
@ -405,7 +405,7 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo
return false; //parse error, try reimport manually (Avoid reimport loop on broken file)
}
if (assign != String()) {
if (!assign.is_empty()) {
if (assign.begins_with("path")) {
to_check.push_back(value);
} else if (assign == "files") {
@ -476,7 +476,7 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo
memdelete(md5s);
return false; // parse error
}
if (assign != String()) {
if (!assign.is_empty()) {
if (!p_only_imported_files) {
if (assign == "source_md5") {
source_md5 = value;
@ -497,11 +497,11 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo
//check source md5 matching
if (!p_only_imported_files) {
if (source_file != String() && source_file != p_path) {
if (!source_file.is_empty() && source_file != p_path) {
return true; //file was moved, reimport
}
if (source_md5 == String()) {
if (source_md5.is_empty()) {
return true; //lacks md5, so just reimport
}
@ -510,7 +510,7 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo
return true;
}
if (dest_files.size() && dest_md5 != String()) {
if (dest_files.size() && !dest_md5.is_empty()) {
md5 = FileAccess::get_multiple_md5(dest_files);
if (md5 != dest_md5) {
return true;
@ -710,7 +710,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, DirAccess
da->list_dir_begin();
while (true) {
String f = da->get_next();
if (f == "") {
if (f.is_empty()) {
break;
}
@ -820,7 +820,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, DirAccess
scan_actions.push_back(ia);
}
if (fc->type == String()) {
if (fc->type.is_empty()) {
fi->type = ResourceLoader::get_resource_type(path);
fi->import_group_file = ResourceLoader::get_import_group_file(path);
//there is also the chance that file type changed due to reimport, must probably check this somehow here (or kind of note it for next time in another file?)
@ -932,7 +932,7 @@ void EditorFileSystem::_scan_fs_changes(EditorFileSystemDirectory *p_dir, const
da->list_dir_begin();
while (true) {
String f = da->get_next();
if (f == "") {
if (f.is_empty()) {
break;
}
@ -1246,7 +1246,7 @@ void EditorFileSystem::_save_filesystem_cache(EditorFileSystemDirectory *p_dir,
p_file->store_line("::" + p_dir->get_path() + "::" + String::num(p_dir->modified_time));
for (int i = 0; i < p_dir->files.size(); i++) {
if (p_dir->files[i]->import_group_file != String()) {
if (!p_dir->files[i]->import_group_file.is_empty()) {
group_file_cache.insert(p_dir->files[i]->import_group_file);
}
String s = p_dir->files[i]->file + "::" + p_dir->files[i]->type + "::" + itos(p_dir->files[i]->uid) + "::" + itos(p_dir->files[i]->modified_time) + "::" + itos(p_dir->files[i]->import_modified_time) + "::" + itos(p_dir->files[i]->import_valid) + "::" + p_dir->files[i]->import_group_file + "::" + p_dir->files[i]->script_class_name + "<>" + p_dir->files[i]->script_class_extends + "<>" + p_dir->files[i]->script_class_icon_path;
@ -1386,7 +1386,7 @@ EditorFileSystemDirectory *EditorFileSystem::get_filesystem_path(const String &p
f = f.substr(6, f.length());
f = f.replace("\\", "/");
if (f == String()) {
if (f.is_empty()) {
return filesystem;
}
@ -1465,7 +1465,7 @@ void EditorFileSystem::_scan_script_classes(EditorFileSystemDirectory *p_dir) {
int filecount = p_dir->files.size();
const EditorFileSystemDirectory::FileInfo *const *files = p_dir->files.ptr();
for (int i = 0; i < filecount; i++) {
if (files[i]->script_class_name == String()) {
if (files[i]->script_class_name.is_empty()) {
continue;
}
@ -1545,7 +1545,7 @@ void EditorFileSystem::update_file(const String &p_file) {
}
String type = ResourceLoader::get_resource_type(p_file);
if (type == "" && textfile_extensions.has(p_file.get_extension())) {
if (type.is_empty() && textfile_extensions.has(p_file.get_extension())) {
type = "TextFile";
}
ResourceUID::ID uid = ResourceLoader::get_resource_uid(p_file);
@ -1616,9 +1616,9 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector
ERR_CONTINUE(err != OK);
ERR_CONTINUE(!config->has_section_key("remap", "importer"));
String file_importer_name = config->get_value("remap", "importer");
ERR_CONTINUE(file_importer_name == String());
ERR_CONTINUE(file_importer_name.is_empty());
if (importer_name != String() && importer_name != file_importer_name) {
if (!importer_name.is_empty() && importer_name != file_importer_name) {
EditorNode::get_singleton()->show_warning(vformat(TTR("There are multiple importers for different types pointing to file %s, import aborted"), p_group_file));
ERR_FAIL_V(ERR_FILE_CORRUPT);
}
@ -1656,7 +1656,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector
return OK; // (do nothing)
}
ERR_FAIL_COND_V(importer_name == String(), ERR_UNCONFIGURED);
ERR_FAIL_COND_V(importer_name.is_empty(), ERR_UNCONFIGURED);
Ref<ResourceImporter> importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(importer_name);
@ -1677,7 +1677,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector
if (version > 0) {
f->store_line("importer_version=" + itos(version));
}
if (importer->get_resource_type() != "") {
if (!importer->get_resource_type().is_empty()) {
f->store_line("type=\"" + importer->get_resource_type() + "\"");
}
@ -1759,7 +1759,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector
if (ResourceCache::has(file)) {
Resource *r = ResourceCache::get(file);
if (r->get_import_path() != String()) {
if (!r->get_import_path().is_empty()) {
String dst_path = ResourceFormatImporter::get_singleton()->get_internal_resource_path(file);
r->set_import_path(dst_path);
r->set_import_last_modified_time(0);
@ -1783,7 +1783,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName
Map<StringName, Variant> params;
String importer_name; //empty by default though
if (p_custom_importer != String()) {
if (!p_custom_importer.is_empty()) {
importer_name = p_custom_importer;
}
if (p_custom_options != nullptr) {
@ -1808,7 +1808,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName
}
if (cf->has_section("remap")) {
if (p_custom_importer == String()) {
if (p_custom_importer.is_empty()) {
importer_name = cf->get_value("remap", "importer");
}
@ -1834,7 +1834,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName
Ref<ResourceImporter> importer;
bool load_default = false;
//find the importer
if (importer_name != "") {
if (!importer_name.is_empty()) {
importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(importer_name);
}
@ -1894,7 +1894,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName
if (version > 0) {
f->store_line("importer_version=" + itos(version));
}
if (importer->get_resource_type() != "") {
if (!importer->get_resource_type().is_empty()) {
f->store_line("type=\"" + importer->get_resource_type() + "\"");
}
@ -1907,7 +1907,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName
Vector<String> dest_paths;
if (err == OK) {
if (importer->get_save_extension() == "") {
if (importer->get_save_extension().is_empty()) {
//no path
} else if (import_variants.size()) {
//import with variants
@ -2003,7 +2003,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName
if (ResourceCache::has(p_file)) {
Resource *r = ResourceCache::get(p_file);
if (r->get_import_path() != String()) {
if (!r->get_import_path().is_empty()) {
String dst_path = ResourceFormatImporter::get_singleton()->get_internal_resource_path(p_file);
r->set_import_path(dst_path);
r->set_import_last_modified_time(0);
@ -2062,7 +2062,7 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) {
groups_to_reimport.insert(file);
//groups do not belong to grups
group_file = String();
} else if (group_file != String()) {
} else if (!group_file.is_empty()) {
//it's a group file, add group to import and skip this file
groups_to_reimport.insert(group_file);
} else {

View File

@ -113,7 +113,7 @@ void EditorFolding::_fill_folds(const Node *p_root, const Node *p_node, Array &p
if (E.usage & PROPERTY_USAGE_EDITOR) {
if (E.type == Variant::OBJECT) {
RES res = p_node->get(E.name);
if (res.is_valid() && !resources.has(res) && res->get_path() != String() && !res->get_path().is_resource_file()) {
if (res.is_valid() && !resources.has(res) && !res->get_path().is_empty() && !res->get_path().is_resource_file()) {
Vector<String> res_unfolds = _get_unfolds(res.ptr());
resource_folds.push_back(res->get_path());
resource_folds.push_back(res_unfolds);
@ -243,8 +243,8 @@ void EditorFolding::_do_object_unfolds(Object *p_object, Set<RES> &resources) {
//can unfold
if (E.usage & PROPERTY_USAGE_EDITOR) {
if (group != "") { //group
if (group_base == String() || E.name.begins_with(group_base)) {
if (!group.is_empty()) { //group
if (group_base.is_empty() || E.name.begins_with(group_base)) {
bool can_revert = EditorPropertyRevert::can_property_revert(p_object, E.name);
if (can_revert) {
unfold_group.insert(group);
@ -262,7 +262,7 @@ void EditorFolding::_do_object_unfolds(Object *p_object, Set<RES> &resources) {
if (E.type == Variant::OBJECT) {
RES res = p_object->get(E.name);
if (res.is_valid() && !resources.has(res) && res->get_path() != String() && !res->get_path().is_resource_file()) {
if (res.is_valid() && !resources.has(res) && !res->get_path().is_empty() && !res->get_path().is_resource_file()) {
resources.insert(res);
_do_object_unfolds(res.ptr(), resources);
}

View File

@ -78,7 +78,7 @@
} \
{ \
Dictionary variations; \
if (m_variations != String()) { \
if (!m_variations.is_empty()) { \
Vector<String> variation_tags = m_variations.split(","); \
for (int i = 0; i < variation_tags.size(); i++) { \
Vector<String> tokens = variation_tags[i].split("="); \
@ -104,7 +104,7 @@
} \
{ \
Dictionary variations; \
if (m_variations != String()) { \
if (!m_variations.is_empty()) { \
Vector<String> variation_tags = m_variations.split(","); \
for (int i = 0; i < variation_tags.size(); i++) { \
Vector<String> tokens = variation_tags[i].split("="); \
@ -130,7 +130,7 @@
} \
{ \
Dictionary variations; \
if (m_variations != String()) { \
if (!m_variations.is_empty()) { \
Vector<String> variation_tags = m_variations.split(","); \
for (int i = 0; i < variation_tags.size(); i++) { \
Vector<String> tokens = variation_tags[i].split("="); \

View File

@ -250,7 +250,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
class_desc->add_text(" ");
}
if (p_overview && p_method.description != "") {
if (p_overview && !p_method.description.is_empty()) {
class_desc->push_meta("@method " + p_method.name);
}
@ -258,7 +258,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
_add_text(p_method.name);
class_desc->pop();
if (p_overview && p_method.description != "") {
if (p_overview && !p_method.description.is_empty()) {
class_desc->pop(); //meta
}
@ -275,7 +275,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
_add_text(p_method.arguments[j].name);
class_desc->add_text(": ");
_add_type(p_method.arguments[j].type, p_method.arguments[j].enumeration);
if (p_method.arguments[j].default_value != "") {
if (!p_method.arguments[j].default_value.is_empty()) {
class_desc->push_color(symbol_color);
class_desc->add_text(" = ");
class_desc->pop();
@ -301,7 +301,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
class_desc->push_color(symbol_color);
class_desc->add_text(")");
class_desc->pop();
if (p_method.qualifiers != "") {
if (!p_method.qualifiers.is_empty()) {
class_desc->push_color(qualifier_color);
class_desc->add_text(" ");
_add_text(p_method.qualifiers);
@ -375,7 +375,7 @@ void EditorHelp::_update_method_list(const Vector<DocData::MethodDoc> p_methods,
if (i < m.size() - 1 && new_prefix == m[i + 1].name.substr(0, 3) && new_prefix != group_prefix) {
is_new_group = i > 0;
group_prefix = new_prefix;
} else if (group_prefix != "" && new_prefix != group_prefix) {
} else if (!group_prefix.is_empty() && new_prefix != group_prefix) {
is_new_group = true;
group_prefix = "";
}
@ -387,7 +387,7 @@ void EditorHelp::_update_method_list(const Vector<DocData::MethodDoc> p_methods,
class_desc->pop(); //cell
}
if (m[i].description != "" || m[i].errors_returned.size() > 0) {
if (!m[i].description.is_empty() || m[i].errors_returned.size() > 0) {
r_method_descrpitons = true;
}
@ -521,19 +521,19 @@ void EditorHelp::_update_doc() {
// Inheritance tree
// Ascendents
if (cd.inherits != "") {
if (!cd.inherits.is_empty()) {
class_desc->push_color(title_color);
class_desc->push_font(doc_font);
class_desc->add_text(TTR("Inherits:") + " ");
String inherits = cd.inherits;
while (inherits != "") {
while (!inherits.is_empty()) {
_add_type(inherits);
inherits = doc->class_list[inherits].inherits;
if (inherits != "") {
if (!inherits.is_empty()) {
class_desc->add_text(" < ");
}
}
@ -577,7 +577,7 @@ void EditorHelp::_update_doc() {
class_desc->add_newline();
// Brief description
if (cd.brief_description != "") {
if (!cd.brief_description.is_empty()) {
class_desc->push_color(text_color);
class_desc->push_font(doc_bold_font);
class_desc->push_indent(1);
@ -591,7 +591,7 @@ void EditorHelp::_update_doc() {
}
// Class description
if (cd.description != "") {
if (!cd.description.is_empty()) {
section_line.push_back(Pair<String, int>(TTR("Description"), class_desc->get_line_count() - 2));
description_line = class_desc->get_line_count() - 2;
class_desc->push_color(title_color);
@ -694,16 +694,16 @@ void EditorHelp::_update_doc() {
bool describe = false;
if (cd.properties[i].setter != "") {
if (!cd.properties[i].setter.is_empty()) {
skip_methods.insert(cd.properties[i].setter);
describe = true;
}
if (cd.properties[i].getter != "") {
if (!cd.properties[i].getter.is_empty()) {
skip_methods.insert(cd.properties[i].getter);
describe = true;
}
if (cd.properties[i].description != "") {
if (!cd.properties[i].description.is_empty()) {
describe = true;
}
@ -735,7 +735,7 @@ void EditorHelp::_update_doc() {
class_desc->push_cell();
class_desc->push_font(doc_code_font);
if (cd.properties[i].default_value != "") {
if (!cd.properties[i].default_value.is_empty()) {
class_desc->push_color(symbol_color);
if (cd.properties[i].overridden) {
class_desc->add_text(" [");
@ -764,18 +764,18 @@ void EditorHelp::_update_doc() {
class_desc->push_cell();
class_desc->push_font(doc_code_font);
if (cd.is_script_doc && (cd.properties[i].setter != "" || cd.properties[i].getter != "")) {
if (cd.is_script_doc && (!cd.properties[i].setter.is_empty() || !cd.properties[i].getter.is_empty())) {
class_desc->push_color(symbol_color);
class_desc->add_text(" [" + TTR("property:") + " ");
class_desc->pop(); // color
if (cd.properties[i].setter != "") {
if (!cd.properties[i].setter.is_empty()) {
class_desc->push_color(value_color);
class_desc->add_text("setter");
class_desc->pop(); // color
}
if (cd.properties[i].getter != "") {
if (cd.properties[i].setter != "") {
if (!cd.properties[i].getter.is_empty()) {
if (!cd.properties[i].setter.is_empty()) {
class_desc->push_color(symbol_color);
class_desc->add_text(", ");
class_desc->pop(); // color
@ -914,7 +914,7 @@ void EditorHelp::_update_doc() {
class_desc->pop();
// Theme item default value.
if (cd.theme_properties[i].default_value != "") {
if (!cd.theme_properties[i].default_value.is_empty()) {
class_desc->push_color(symbol_color);
class_desc->add_text(" [" + TTR("default:") + " ");
class_desc->pop();
@ -929,7 +929,7 @@ void EditorHelp::_update_doc() {
class_desc->pop(); // monofont
// Theme item description.
if (cd.theme_properties[i].description != "") {
if (!cd.theme_properties[i].description.is_empty()) {
class_desc->push_font(doc_font);
class_desc->push_color(comment_color);
class_desc->push_indent(1);
@ -985,7 +985,7 @@ void EditorHelp::_update_doc() {
_add_text(cd.signals[i].arguments[j].name);
class_desc->add_text(": ");
_add_type(cd.signals[i].arguments[j].type);
if (cd.signals[i].arguments[j].default_value != "") {
if (!cd.signals[i].arguments[j].default_value.is_empty()) {
class_desc->push_color(symbol_color);
class_desc->add_text(" = ");
class_desc->pop();
@ -999,7 +999,7 @@ void EditorHelp::_update_doc() {
class_desc->add_text(")");
class_desc->pop();
class_desc->pop(); // end monofont
if (cd.signals[i].description != "") {
if (!cd.signals[i].description.is_empty()) {
class_desc->push_font(doc_font);
class_desc->push_color(comment_color);
class_desc->push_indent(1);
@ -1114,7 +1114,7 @@ void EditorHelp::_update_doc() {
class_desc->add_newline();
if (enum_list[i].description.strip_edges() != "") {
if (!enum_list[i].description.strip_edges().is_empty()) {
class_desc->push_font(doc_font);
class_desc->push_color(comment_color);
_add_text(DTR(enum_list[i].description));
@ -1183,7 +1183,7 @@ void EditorHelp::_update_doc() {
class_desc->add_newline();
if (constants[i].description != "") {
if (!constants[i].description.is_empty()) {
class_desc->push_font(doc_font);
class_desc->push_color(comment_color);
_add_text(DTR(constants[i].description));
@ -1239,7 +1239,7 @@ void EditorHelp::_update_doc() {
_add_text(cd.properties[i].name);
class_desc->pop(); // color
if (cd.properties[i].default_value != "") {
if (!cd.properties[i].default_value.is_empty()) {
class_desc->push_color(symbol_color);
class_desc->add_text(" [" + TTR("default:") + " ");
class_desc->pop(); // color
@ -1253,18 +1253,18 @@ void EditorHelp::_update_doc() {
class_desc->pop(); // color
}
if (cd.is_script_doc && (cd.properties[i].setter != "" || cd.properties[i].getter != "")) {
if (cd.is_script_doc && (!cd.properties[i].setter.is_empty() || !cd.properties[i].getter.is_empty())) {
class_desc->push_color(symbol_color);
class_desc->add_text(" [" + TTR("property:") + " ");
class_desc->pop(); // color
if (cd.properties[i].setter != "") {
if (!cd.properties[i].setter.is_empty()) {
class_desc->push_color(value_color);
class_desc->add_text("setter");
class_desc->pop(); // color
}
if (cd.properties[i].getter != "") {
if (cd.properties[i].setter != "") {
if (!cd.properties[i].getter.is_empty()) {
if (!cd.properties[i].setter.is_empty()) {
class_desc->push_color(symbol_color);
class_desc->add_text(", ");
class_desc->pop(); // color
@ -1289,7 +1289,7 @@ void EditorHelp::_update_doc() {
method_map[methods[j].name] = methods[j];
}
if (cd.properties[i].setter != "") {
if (!cd.properties[i].setter.is_empty()) {
class_desc->push_cell();
class_desc->pop(); // cell
@ -1313,7 +1313,7 @@ void EditorHelp::_update_doc() {
method_line[cd.properties[i].setter] = property_line[cd.properties[i].name];
}
if (cd.properties[i].getter != "") {
if (!cd.properties[i].getter.is_empty()) {
class_desc->push_cell();
class_desc->pop(); // cell

View File

@ -161,7 +161,7 @@ void EditorHelpSearch::popup_dialog(const String &p_term) {
popup_centered_ratio(0.5F);
}
if (p_term == "") {
if (p_term.is_empty()) {
search_box->clear();
} else {
if (old_term == p_term) {
@ -331,7 +331,7 @@ bool EditorHelpSearch::Runner::_phase_match_classes() {
// Match class name.
if (search_flags & SEARCH_CLASSES) {
match.name = term == "" || _match_string(term, class_doc.name);
match.name = term.is_empty() || _match_string(term, class_doc.name);
}
// Match members if the term is long enough.
@ -513,7 +513,7 @@ TreeItem *EditorHelpSearch::Runner::_create_class_hierarchy(const ClassMatch &p_
// Ensure parent nodes are created first.
TreeItem *parent = root_item;
if (p_match.doc->inherits != "") {
if (!p_match.doc->inherits.is_empty()) {
if (class_items.has(p_match.doc->inherits)) {
parent = class_items[p_match.doc->inherits];
} else {
@ -558,7 +558,7 @@ TreeItem *EditorHelpSearch::Runner::_create_method_item(TreeItem *p_parent, cons
for (int i = 0; i < p_doc->arguments.size(); i++) {
const DocData::ArgumentDoc &arg = p_doc->arguments[i];
tooltip += arg.type + " " + arg.name;
if (arg.default_value != "") {
if (!arg.default_value.is_empty()) {
tooltip += " = " + arg.default_value;
}
if (i < p_doc->arguments.size() - 1) {
@ -574,7 +574,7 @@ TreeItem *EditorHelpSearch::Runner::_create_signal_item(TreeItem *p_parent, cons
for (int i = 0; i < p_doc->arguments.size(); i++) {
const DocData::ArgumentDoc &arg = p_doc->arguments[i];
tooltip += arg.type + " " + arg.name;
if (arg.default_value != "") {
if (!arg.default_value.is_empty()) {
tooltip += " = " + arg.default_value;
}
if (i < p_doc->arguments.size() - 1) {

View File

@ -2239,7 +2239,7 @@ void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, Ref<Edit
ep->property_usage = 0;
}
if (F.label != String()) {
if (!F.label.is_empty()) {
ep->set_label(F.label);
}
@ -2438,7 +2438,7 @@ void EditorInspector::update_tree() {
}
}
if (category->icon.is_null()) {
if (type != String()) { // Can happen for built-in scripts.
if (!type.is_empty()) { // Can happen for built-in scripts.
category->icon = EditorNode::get_singleton()->get_class_icon(type, "Object");
}
}
@ -2459,7 +2459,7 @@ void EditorInspector::update_tree() {
class_descr_cache[type2] = descr;
}
category->set_tooltip(p.name + "::" + (class_descr_cache[type2] == "" ? "" : class_descr_cache[type2]));
category->set_tooltip(p.name + "::" + (class_descr_cache[type2].is_empty() ? "" : class_descr_cache[type2]));
}
// Add editors at the start of a category.
@ -2529,7 +2529,7 @@ void EditorInspector::update_tree() {
}
} else {
// Check if we exit or not a subgroup. If there is a prefix, remove it from the property label string.
if (subgroup != "" && subgroup_base != "") {
if (!subgroup.is_empty() && !subgroup_base.is_empty()) {
if (path.begins_with(subgroup_base)) {
path = path.trim_prefix(subgroup_base);
} else if (subgroup_base.begins_with(path)) {
@ -2540,7 +2540,7 @@ void EditorInspector::update_tree() {
}
// Check if we exit or not a group. If there is a prefix, remove it from the property label string.
if (group != "" && group_base != "" && subgroup == "") {
if (!group.is_empty() && !group_base.is_empty() && subgroup.is_empty()) {
if (path.begins_with(group_base)) {
path = path.trim_prefix(group_base);
} else if (group_base.begins_with(path)) {
@ -2552,10 +2552,10 @@ void EditorInspector::update_tree() {
}
// Add the group and subgroup to the path.
if (subgroup != "") {
if (!subgroup.is_empty()) {
path = subgroup + "/" + path;
}
if (group != "") {
if (!group.is_empty()) {
path = group + "/" + path;
}
}
@ -2584,7 +2584,7 @@ void EditorInspector::update_tree() {
}
// Ignore properties that do not fit the filter.
if (use_filter && filter != "") {
if (use_filter && !filter.is_empty()) {
if (!filter.is_subsequence_ofi(path) && !filter.is_subsequence_ofi(property_label_string) && property_prefix.to_lower().find(filter.to_lower()) == -1) {
continue;
}
@ -2707,7 +2707,7 @@ void EditorInspector::update_tree() {
// Get the class name.
StringName classname = object->get_class_name();
if (object_class != String()) {
if (!object_class.is_empty()) {
classname = object_class;
}
@ -2729,7 +2729,7 @@ void EditorInspector::update_tree() {
// Build the property description String and add it to the cache.
DocTools *dd = EditorHelp::get_doc_data();
Map<String, DocData::ClassDoc>::Element *F = dd->class_list.find(classname);
while (F && descr == String()) {
while (F && descr.is_empty()) {
for (int i = 0; i < F->get().properties.size(); i++) {
if (F->get().properties[i].name == propname.operator String()) {
descr = DTR(F->get().properties[i].description);
@ -2781,7 +2781,7 @@ void EditorInspector::update_tree() {
//and set label?
}
if (F.label != String()) {
if (!F.label.is_empty()) {
ep->set_label(F.label);
} else {
// Use the existing one.
@ -2820,7 +2820,7 @@ void EditorInspector::update_tree() {
ep->connect("multiple_properties_changed", callable_mp(this, &EditorInspector::_multiple_properties_changed));
ep->connect("resource_selected", callable_mp(this, &EditorInspector::_resource_selected), varray(), CONNECT_DEFERRED);
ep->connect("object_id_selected", callable_mp(this, &EditorInspector::_object_id_selected), varray(), CONNECT_DEFERRED);
if (doc_hint != String()) {
if (!doc_hint.is_empty()) {
ep->set_tooltip(property_prefix + p.name + "::" + doc_hint);
} else {
ep->set_tooltip(property_prefix + p.name);
@ -3050,7 +3050,7 @@ void EditorInspector::_edit_request_change(Object *p_object, const String &p_pro
return;
}
if (p_property == String()) {
if (p_property.is_empty()) {
update_tree_pending = true;
} else {
pending.insert(p_property);

View File

@ -74,7 +74,7 @@ void EditorLayoutsDialog::ok_pressed() {
for (int i = 0; i < selected_items.size(); ++i) {
emit_signal(SNAME("name_confirmed"), layout_names->get_item_text(selected_items[i]));
}
} else if (name->is_visible() && name->get_text() != "") {
} else if (name->is_visible() && !name->get_text().is_empty()) {
emit_signal(SNAME("name_confirmed"), name->get_text());
}
}

View File

@ -162,11 +162,11 @@ void EditorLog::_clear_request() {
void EditorLog::_copy_request() {
String text = log->get_selected_text();
if (text == "") {
if (text.is_empty()) {
text = log->get_text();
}
if (text != "") {
if (!text.is_empty()) {
DisplayServer::get_singleton()->clipboard_set(text);
}
}
@ -237,7 +237,7 @@ void EditorLog::_add_log_line(LogMessage &p_message, bool p_replace_previous) {
// Only add the message to the log if it passes the filters.
bool filter_active = type_filter_map[p_message.type]->is_active();
String search_text = search_box->get_text();
bool search_match = search_text == String() || p_message.text.findn(search_text) > -1;
bool search_match = search_text.is_empty() || p_message.text.findn(search_text) > -1;
if (!filter_active || !search_match) {
return;

View File

@ -858,7 +858,7 @@ void EditorNode::_resources_changed(const Vector<String> &p_resources) {
continue;
}
if (res->get_import_path() != String()) {
if (!res->get_import_path().is_empty()) {
// this is an imported resource, will be reloaded if reimported via the _resources_reimported() callback
continue;
}
@ -886,7 +886,7 @@ void EditorNode::_fs_changed() {
// FIXME: Move this to a cleaner location, it's hacky to do this is _fs_changed.
String export_error;
if (export_defer.preset != "" && !EditorFileSystem::get_singleton()->is_scanning()) {
if (!export_defer.preset.is_empty() && !EditorFileSystem::get_singleton()->is_scanning()) {
String preset_name = export_defer.preset;
// Ensures export_project does not loop infinitely, because notifications may
// come during the export.
@ -1006,7 +1006,7 @@ void EditorNode::_sources_changed(bool p_exist) {
_load_docks();
if (defer_load_scene != "") {
if (!defer_load_scene.is_empty()) {
load_scene(defer_load_scene);
defer_load_scene = "";
}
@ -1242,7 +1242,7 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String
preferred.move_to_front(tres_element);
}
if (p_at_path != String()) {
if (!p_at_path.is_empty()) {
file->set_current_dir(p_at_path);
if (p_resource->get_path().is_resource_file()) {
file->set_current_file(p_resource->get_path().get_file());
@ -1254,7 +1254,7 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String
file->set_current_file(String());
}
}
} else if (p_resource->get_path() != "") {
} else if (!p_resource->get_path().is_empty()) {
file->set_current_path(p_resource->get_path());
if (extensions.size()) {
String ext = p_resource->get_path().get_extension().to_lower();
@ -1676,7 +1676,7 @@ void EditorNode::_save_scene(String p_file, int idx) {
return;
}
if (scene->get_scene_file_path() != String() && _validate_scene_recursive(scene->get_scene_file_path(), scene)) {
if (!scene->get_scene_file_path().is_empty() && _validate_scene_recursive(scene->get_scene_file_path(), scene)) {
show_accept(TTR("This scene can't be saved because there is a cyclic instancing inclusion.\nPlease resolve it and then attempt to save again."), TTR("OK"));
return;
}
@ -1780,7 +1780,7 @@ void EditorNode::restart_editor() {
args.push_back("--path");
args.push_back(ProjectSettings::get_singleton()->get_resource_path());
args.push_back("-e");
if (to_reopen != String()) {
if (!to_reopen.is_empty()) {
args.push_back(to_reopen);
}
@ -1792,13 +1792,13 @@ void EditorNode::_save_all_scenes() {
for (int i = 0; i < editor_data.get_edited_scene_count(); i++) {
Node *scene = editor_data.get_edited_scene_root(i);
if (scene) {
if (scene->get_scene_file_path() != "" && DirAccess::exists(scene->get_scene_file_path().get_base_dir())) {
if (!scene->get_scene_file_path().is_empty() && DirAccess::exists(scene->get_scene_file_path().get_base_dir())) {
if (i != editor_data.get_edited_scene()) {
_save_scene(scene->get_scene_file_path(), i);
} else {
_save_scene_with_preview(scene->get_scene_file_path());
}
} else if (scene->get_scene_file_path() != "") {
} else if (!scene->get_scene_file_path().is_empty()) {
all_saved = false;
}
}
@ -1818,7 +1818,7 @@ void EditorNode::_mark_unsaved_scenes() {
}
String path = node->get_scene_file_path();
if (!(path == String() || FileAccess::exists(path))) {
if (!(path.is_empty() || FileAccess::exists(path))) {
if (i == editor_data.get_edited_scene()) {
set_current_version(-1);
} else {
@ -2080,7 +2080,7 @@ void EditorNode::push_item(Object *p_object, const String &p_property, bool p_in
if (id != editor_history.get_current()) {
if (p_inspector_only) {
editor_history.add_object_inspector_only(id);
} else if (p_property == "") {
} else if (p_property.is_empty()) {
editor_history.add_object(id);
} else {
editor_history.add_object(id, p_property);
@ -2193,7 +2193,7 @@ void EditorNode::_edit_current() {
inspector_dock->update(nullptr);
}
if (get_edited_scene() && get_edited_scene()->get_scene_file_path() != String()) {
if (get_edited_scene() && !get_edited_scene()->get_scene_file_path().is_empty()) {
String source_scene = get_edited_scene()->get_scene_file_path();
if (FileAccess::exists(source_scene + ".import")) {
editable_warning = TTR("This scene was imported, so changes to it won't be kept.\nInstancing it or inheriting will allow making changes to it.\nPlease read the documentation relevant to importing scenes to better understand this workflow.");
@ -2316,7 +2316,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
String run_filename;
if (p_current || (editor_data.get_edited_scene_root() && p_custom != String() && p_custom == editor_data.get_edited_scene_root()->get_scene_file_path())) {
if (p_current || (editor_data.get_edited_scene_root() && !p_custom.is_empty() && p_custom == editor_data.get_edited_scene_root()->get_scene_file_path())) {
Node *scene = editor_data.get_edited_scene_root();
if (!scene) {
@ -2324,7 +2324,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
return;
}
if (scene->get_scene_file_path() == "") {
if (scene->get_scene_file_path().is_empty()) {
current_option = -1;
_menu_option(FILE_SAVE_AS_SCENE);
// Set the option to save and run so when the dialog is accepted, the scene runs.
@ -2334,11 +2334,11 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
}
run_filename = scene->get_scene_file_path();
} else if (p_custom != "") {
} else if (!p_custom.is_empty()) {
run_filename = p_custom;
}
if (run_filename == "") {
if (run_filename.is_empty()) {
// evidently, run the scene
if (!ensure_main_scene(false)) {
return;
@ -2349,7 +2349,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
if (unsaved_cache) {
Node *scene = editor_data.get_edited_scene_root();
if (scene && scene->get_scene_file_path() != "") { // Only autosave if there is a scene and if it has a path.
if (scene && !scene->get_scene_file_path().is_empty()) { // Only autosave if there is a scene and if it has a path.
_save_scene_with_preview(scene->get_scene_file_path());
}
}
@ -2381,7 +2381,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
if (p_current) {
play_scene_button->set_pressed(true);
play_scene_button->set_icon(gui_base->get_theme_icon(SNAME("Reload"), SNAME("EditorIcons")));
} else if (p_custom != "") {
} else if (!p_custom.is_empty()) {
run_custom_filename = p_custom;
play_custom_scene_button->set_pressed(true);
play_custom_scene_button->set_icon(gui_base->get_theme_icon(SNAME("Reload"), SNAME("EditorIcons")));
@ -2501,7 +2501,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
if (scene_root) {
String scene_filename = scene_root->get_scene_file_path();
save_confirmation->get_ok_button()->set_text(TTR("Save & Close"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), scene_filename != "" ? scene_filename : "unsaved scene"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), !scene_filename.is_empty() ? scene_filename : "unsaved scene"));
save_confirmation->popup_centered();
break;
}
@ -2519,7 +2519,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
case FILE_SAVE_SCENE: {
int scene_idx = (p_option == FILE_SAVE_SCENE) ? -1 : tab_closing;
Node *scene = editor_data.get_edited_scene_root(scene_idx);
if (scene && scene->get_scene_file_path() != "") {
if (scene && !scene->get_scene_file_path().is_empty()) {
if (DirAccess::exists(scene->get_scene_file_path().get_base_dir())) {
if (scene_idx != editor_data.get_edited_scene()) {
_save_scene_with_preview(scene->get_scene_file_path(), scene_idx);
@ -2575,7 +2575,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
file->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper());
}
if (scene->get_scene_file_path() != "") {
if (!scene->get_scene_file_path().is_empty()) {
String path = scene->get_scene_file_path();
file->set_current_path(path);
if (extensions.size()) {
@ -2649,7 +2649,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
if (!editor_data.get_undo_redo().undo()) {
log->add_message(TTR("Nothing to undo."), EditorLog::MSG_TYPE_EDITOR);
} else if (action != "") {
} else if (!action.is_empty()) {
log->add_message(vformat(TTR("Undo: %s"), action), EditorLog::MSG_TYPE_EDITOR);
}
}
@ -2676,7 +2676,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
String filename = scene->get_scene_file_path();
if (filename == String()) {
if (filename.is_empty()) {
show_warning(TTR("Can't reload a scene that was never saved."));
break;
}
@ -2746,7 +2746,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
case FILE_SHOW_IN_FILESYSTEM: {
String path = editor_data.get_scene_path(editor_data.get_edited_scene());
if (path != String()) {
if (!path.is_empty()) {
filesystem_dock->navigate_to_path(path);
}
} break;
@ -3011,7 +3011,7 @@ void EditorNode::_discard_changes(const String &p_str) {
Node *scene = editor_data.get_edited_scene_root(tab_closing);
if (scene != nullptr) {
String scene_filename = scene->get_scene_file_path();
if (scene_filename != "") {
if (!scene_filename.is_empty()) {
previous_scenes.push_back(scene_filename);
}
}
@ -3138,7 +3138,7 @@ void EditorNode::_editor_select(int p_which) {
}
void EditorNode::select_editor_by_name(const String &p_name) {
ERR_FAIL_COND(p_name == "");
ERR_FAIL_COND(p_name.is_empty());
for (int i = 0; i < main_editor_buttons.size(); i++) {
if (main_editor_buttons[i]->get_text() == p_name) {
@ -4491,13 +4491,13 @@ void EditorNode::_save_docks_to_config(Ref<ConfigFile> p_layout, const String &p
String names;
for (int j = 0; j < dock_slot[i]->get_tab_count(); j++) {
String name = dock_slot[i]->get_tab_control(j)->get_name();
if (names != "") {
if (!names.is_empty()) {
names += ",";
}
names += name;
}
if (names != "") {
if (!names.is_empty()) {
p_layout->set_value(p_section, "dock_" + itos(i + 1), names);
}
}
@ -4522,7 +4522,7 @@ void EditorNode::_save_open_scenes_to_config(Ref<ConfigFile> p_layout, const Str
Array scenes;
for (int i = 0; i < editor_data.get_edited_scene_count(); i++) {
String path = editor_data.get_scene_path(i);
if (path == "") {
if (path.is_empty()) {
continue;
}
scenes.push_back(path);
@ -4789,7 +4789,7 @@ bool EditorNode::ensure_main_scene(bool p_from_native) {
pick_main_scene->set_meta("from_native", p_from_native); // whether from play button or native run
String main_scene = GLOBAL_DEF("application/run/main_scene", "");
if (main_scene == "") {
if (main_scene.is_empty()) {
current_option = -1;
pick_main_scene->set_text(TTR("No main scene has ever been defined, select one?\nYou can change it later in \"Project Settings\" under the 'application' category."));
pick_main_scene->popup_centered();
@ -4852,7 +4852,7 @@ bool EditorNode::is_run_playing() const {
String EditorNode::get_run_playing_scene() const {
String run_filename = editor_run.get_running_scene();
if (run_filename == "" && is_run_playing()) {
if (run_filename.is_empty() && is_run_playing()) {
run_filename = GLOBAL_DEF("application/run/main_scene", ""); // Must be the main scene then.
}
@ -4978,7 +4978,7 @@ void EditorNode::_scene_tab_closed(int p_tab, int option) {
: editor_data.get_scene_version(p_tab) != 0;
if (unsaved) {
save_confirmation->get_ok_button()->set_text(TTR("Save & Close"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), scene->get_scene_file_path() != "" ? scene->get_scene_file_path() : "unsaved scene"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), !scene->get_scene_file_path().is_empty() ? scene->get_scene_file_path() : "unsaved scene"));
save_confirmation->popup_centered();
} else {
_discard_changes();
@ -4998,7 +4998,7 @@ void EditorNode::_scene_tab_hovered(int p_tab) {
tab_preview_panel->hide();
} else {
String path = editor_data.get_scene_path(p_tab);
if (path != String()) {
if (!path.is_empty()) {
EditorResourcePreview::get_singleton()->queue_resource_preview(path, this, "_thumbnail_done", p_tab);
}
}
@ -5307,7 +5307,7 @@ Variant EditorNode::drag_resource(const Ref<Resource> &p_res, Control *p_from) {
drag_control->add_child(drag_preview);
if (p_res->get_path().is_resource_file()) {
label->set_text(p_res->get_path().get_file());
} else if (p_res->get_name() != "") {
} else if (!p_res->get_name().is_empty()) {
label->set_text(p_res->get_name());
} else {
label->set_text(p_res->get_class());
@ -5446,7 +5446,7 @@ void EditorNode::_add_dropped_files_recursive(const Vector<String> &p_files, Str
sub_dir->list_dir_begin();
String next_file = sub_dir->get_next();
while (next_file != "") {
while (!next_file.is_empty()) {
if (next_file == "." || next_file == "..") {
next_file = sub_dir->get_next();
continue;

View File

@ -130,14 +130,14 @@ void EditorPath::update_path() {
name = r->get_name();
}
if (name == "") {
if (name.is_empty()) {
name = r->get_class();
}
} else if (obj->is_class("EditorDebuggerRemoteObject")) {
name = obj->call("get_title");
} else if (Object::cast_to<Node>(obj)) {
name = Object::cast_to<Node>(obj)->get_name();
} else if (Object::cast_to<Resource>(obj) && Object::cast_to<Resource>(obj)->get_name() != "") {
} else if (Object::cast_to<Resource>(obj) && !Object::cast_to<Resource>(obj)->get_name().is_empty()) {
name = Object::cast_to<Resource>(obj)->get_name();
} else {
name = obj->get_class();

View File

@ -131,7 +131,7 @@ EditorPaths::EditorPaths() {
}
}
paths_valid = (data_path != "" && config_path != "" && cache_path != "");
paths_valid = (!data_path.is_empty() && !config_path.is_empty() && !cache_path.is_empty());
ERR_FAIL_COND_MSG(!paths_valid, "Editor data, config, or cache paths are invalid.");
// Validate or create each dir and its relevant subdirectories.

View File

@ -295,7 +295,7 @@ Error EditorInterface::save_scene() {
if (!get_edited_scene_root()) {
return ERR_CANT_CREATE;
}
if (get_edited_scene_root()->get_scene_file_path() == String()) {
if (get_edited_scene_root()->get_scene_file_path().is_empty()) {
return ERR_CANT_CREATE;
}

View File

@ -165,7 +165,7 @@ Vector<String> EditorPluginSettings::_get_plugins(const String &p_dir) {
Vector<String> plugins;
da->list_dir_begin();
for (String path = da->get_next(); path != String(); path = da->get_next()) {
for (String path = da->get_next(); !path.is_empty(); path = da->get_next()) {
if (path[0] == '.' || !da->current_is_dir()) {
continue;
}

View File

@ -380,7 +380,7 @@ void EditorPropertyPath::_path_pressed() {
dialog->set_file_mode(save_mode ? EditorFileDialog::FILE_MODE_SAVE_FILE : EditorFileDialog::FILE_MODE_OPEN_FILE);
for (int i = 0; i < extensions.size(); i++) {
String e = extensions[i].strip_edges();
if (e != String()) {
if (!e.is_empty()) {
dialog->add_filter(extensions[i].strip_edges());
}
}
@ -706,7 +706,7 @@ void EditorPropertyFlags::setup(const Vector<String> &p_options) {
bool first = true;
for (int i = 0; i < p_options.size(); i++) {
String option = p_options[i].strip_edges();
if (option != "") {
if (!option.is_empty()) {
CheckBox *cb = memnew(CheckBox);
cb->set_text(option);
cb->set_clip_text(true);
@ -1055,7 +1055,7 @@ void EditorPropertyLayers::setup(LayerType p_layer_type) {
name = ProjectSettings::get_singleton()->get(basename + vformat("/layer_%d", i + 1));
}
if (name == "") {
if (name.is_empty()) {
name = vformat(TTR("Layer %d"), i + 1);
}
@ -1186,7 +1186,7 @@ void EditorPropertyObjectID::_edit_pressed() {
void EditorPropertyObjectID::update_property() {
String type = base_type;
if (type == "") {
if (type.is_empty()) {
type = "Object";
}
@ -3229,7 +3229,7 @@ static EditorPropertyRangeHint _parse_range_hint(PropertyHint p_hint, const Stri
}
}
if ((hint.radians || degrees) && hint.suffix == String()) {
if ((hint.radians || degrees) && hint.suffix.is_empty()) {
hint.suffix = U"\u00B0";
}
@ -3514,10 +3514,10 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_
} break;
case Variant::NODE_PATH: {
EditorPropertyNodePath *editor = memnew(EditorPropertyNodePath);
if (p_hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && p_hint_text != String()) {
if (p_hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && !p_hint_text.is_empty()) {
editor->setup(p_hint_text, Vector<StringName>(), (p_usage & PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT));
}
if (p_hint == PROPERTY_HINT_NODE_PATH_VALID_TYPES && p_hint_text != String()) {
if (p_hint == PROPERTY_HINT_NODE_PATH_VALID_TYPES && !p_hint_text.is_empty()) {
Vector<String> types = p_hint_text.split(",", false);
Vector<StringName> sn = Variant(types); //convert via variant
editor->setup(NodePath(), sn, (p_usage & PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT));

View File

@ -431,7 +431,7 @@ bool EditorPropertyArray::_is_drop_valid(const Dictionary &p_drag_data) const {
// When the subtype is of type Object, an additional subtype may be specified in the hint string
// (e.g. Resource, Texture2D, ShaderMaterial, etc). We want the allowed type to be that, not just "Object".
if (subtype == Variant::OBJECT && subtype_hint_string != "") {
if (subtype == Variant::OBJECT && !subtype_hint_string.is_empty()) {
allowed_type = subtype_hint_string;
}

View File

@ -52,7 +52,7 @@ void EditorResourcePicker::_update_resource() {
} else {
assign_button->set_icon(EditorNode::get_singleton()->get_object_icon(edited_resource.operator->(), "Object"));
if (edited_resource->get_name() != String()) {
if (!edited_resource->get_name().is_empty()) {
assign_button->set_text(edited_resource->get_name());
} else if (edited_resource->get_path().is_resource_file()) {
assign_button->set_text(edited_resource->get_path().get_file());
@ -113,7 +113,7 @@ void EditorResourcePicker::_file_selected(const String &p_path) {
RES loaded_resource = ResourceLoader::load(p_path);
ERR_FAIL_COND_MSG(loaded_resource.is_null(), "Cannot load resource from path '" + p_path + "'.");
if (base_type != "") {
if (!base_type.is_empty()) {
bool any_type_matches = false;
for (int i = 0; i < base_type.get_slice_count(","); i++) {
@ -180,7 +180,7 @@ void EditorResourcePicker::_update_menu_items() {
RES cb = EditorSettings::get_singleton()->get_resource_clipboard();
bool paste_valid = false;
if (cb.is_valid()) {
if (base_type == "") {
if (base_type.is_empty()) {
paste_valid = true;
} else {
for (int i = 0; i < base_type.get_slice_count(","); i++) {
@ -391,7 +391,7 @@ void EditorResourcePicker::set_create_options(Object *p_menu_node) {
}
// By default provide generic "New ..." options.
if (base_type != "") {
if (!base_type.is_empty()) {
int idx = 0;
Set<String> allowed_types;
@ -571,7 +571,7 @@ bool EditorResourcePicker::_is_drop_valid(const Dictionary &p_drag_data) const {
String file = files[0];
String file_type = EditorFileSystem::get_singleton()->get_file_type(file);
if (file_type != "" && _is_type_valid(file_type, allowed_types)) {
if (!file_type.is_empty() && _is_type_valid(file_type, allowed_types)) {
return true;
}
}

View File

@ -141,7 +141,7 @@ void EditorResourcePreview::_generate_preview(Ref<ImageTexture> &r_texture, Ref<
type = ResourceLoader::get_resource_type(p_item.path);
}
if (type == "") {
if (type.is_empty()) {
r_texture = Ref<ImageTexture>();
r_small_texture = Ref<ImageTexture>();
return; //could not guess type

View File

@ -180,7 +180,7 @@ Error EditorRun::run(const String &p_scene) {
args.push_back("--skip-breakpoints");
}
if (p_scene != "") {
if (!p_scene.is_empty()) {
args.push_back(p_scene);
}
@ -244,7 +244,7 @@ Error EditorRun::run(const String &p_scene) {
}
status = STATUS_PLAY;
if (p_scene != "") {
if (!p_scene.is_empty()) {
running_scene = p_scene;
}

View File

@ -45,7 +45,7 @@ class SectionedInspectorFilter : public Object {
}
String name = p_name;
if (section != "") {
if (!section.is_empty()) {
name = section + "/" + name;
}
@ -60,7 +60,7 @@ class SectionedInspectorFilter : public Object {
}
String name = p_name;
if (section != "") {
if (!section.is_empty()) {
name = section + "/" + name;
}
@ -155,7 +155,7 @@ String SectionedInspector::get_current_section() const {
String SectionedInspector::get_full_item_path(const String &p_item) {
String base = get_current_section();
if (base != "") {
if (!base.is_empty()) {
return base + "/" + p_item;
} else {
return p_item;

View File

@ -389,14 +389,14 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
best = locale;
}
if (best == String() && host_lang.begins_with(locale)) {
if (best.is_empty() && host_lang.begins_with(locale)) {
best = locale;
}
etl++;
}
if (best == String()) {
if (best.is_empty()) {
best = "en";
}
@ -989,7 +989,7 @@ void EditorSettings::setup_network() {
if (ip == current) {
selected = ip;
}
if (hint != "") {
if (!hint.is_empty()) {
hint += ",";
}
hint += ip;
@ -1008,7 +1008,7 @@ void EditorSettings::save() {
return;
}
if (singleton->config_file_path == "") {
if (singleton->config_file_path.is_empty()) {
ERR_PRINT("Cannot save EditorSettings config, no valid path");
return;
}
@ -1218,7 +1218,7 @@ void EditorSettings::load_favorites() {
FileAccess *f = FileAccess::open(get_project_settings_dir().plus_file("favorites"), FileAccess::READ);
if (f) {
String line = f->get_line().strip_edges();
while (line != "") {
while (!line.is_empty()) {
favorites.push_back(line);
line = f->get_line().strip_edges();
}
@ -1228,7 +1228,7 @@ void EditorSettings::load_favorites() {
f = FileAccess::open(get_project_settings_dir().plus_file("recent_dirs"), FileAccess::READ);
if (f) {
String line = f->get_line().strip_edges();
while (line != "") {
while (!line.is_empty()) {
recent_dirs.push_back(line);
line = f->get_line().strip_edges();
}
@ -1252,7 +1252,7 @@ void EditorSettings::list_text_editor_themes() {
List<String> custom_themes;
d->list_dir_begin();
String file = d->get_next();
while (file != String()) {
while (!file.is_empty()) {
if (file.get_extension() == "tet" && !_is_default_text_editor_theme(file.get_basename().to_lower())) {
custom_themes.push_back(file.get_basename());
}
@ -1371,7 +1371,7 @@ Vector<String> EditorSettings::get_script_templates(const String &p_extension, c
if (d) {
d->list_dir_begin();
String file = d->get_next();
while (file != String()) {
while (!file.is_empty()) {
if (file.get_extension() == p_extension) {
templates.push_back(file.get_basename());
}

View File

@ -262,9 +262,9 @@ void EditorSpinSlider::_update_value_input_stylebox() {
// The margin values below were determined by empirical testing.
if (is_layout_rtl()) {
stylebox->set_default_margin(SIDE_LEFT, 0);
stylebox->set_default_margin(SIDE_RIGHT, (get_label() != String() ? 23 : 16) * EDSCALE);
stylebox->set_default_margin(SIDE_RIGHT, (!get_label().is_empty() ? 23 : 16) * EDSCALE);
} else {
stylebox->set_default_margin(SIDE_LEFT, (get_label() != String() ? 23 : 16) * EDSCALE);
stylebox->set_default_margin(SIDE_LEFT, (!get_label().is_empty() ? 23 : 16) * EDSCALE);
stylebox->set_default_margin(SIDE_RIGHT, 0);
}
@ -308,7 +308,7 @@ void EditorSpinSlider::_draw_spin_slider() {
lc = fc;
}
if (flat && label != String()) {
if (flat && !label.is_empty()) {
Color label_bg_color = get_theme_color(SNAME("dark_color_3"), SNAME("Editor"));
if (rtl) {
draw_rect(Rect2(Vector2(size.width - (sb->get_offset().x * 2 + label_width), 0), Vector2(sb->get_offset().x * 2 + label_width, size.height)), label_bg_color);

View File

@ -1553,7 +1553,7 @@ Ref<Theme> create_custom_theme(const Ref<Theme> p_theme) {
Ref<Theme> theme = create_editor_theme(p_theme);
const String custom_theme_path = EditorSettings::get_singleton()->get("interface/theme/custom_theme");
if (custom_theme_path != "") {
if (!custom_theme_path.is_empty()) {
Ref<Theme> custom_theme = ResourceLoader::load(custom_theme_path);
if (custom_theme.is_valid()) {
theme->merge_with(custom_theme);

View File

@ -53,7 +53,7 @@ void ExportTemplateManager::_update_template_status() {
da->list_dir_begin();
if (err == OK) {
String c = da->get_next();
while (c != String()) {
while (!c.is_empty()) {
if (da->current_is_dir() && !c.begins_with(".")) {
templates.insert(c);
}
@ -424,7 +424,7 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_
ret = unzGoToNextFile(pkg);
}
if (version == String()) {
if (version.is_empty()) {
EditorNode::get_singleton()->show_warning(TTR("No version.txt found inside the export templates file."));
unzClose(pkg);
return false;

View File

@ -88,7 +88,7 @@ void EditorFileServer::_subthread_start(void *s) {
ERR_FAIL();
}
} else {
if (cd->efs->password != "") {
if (!cd->efs->password.is_empty()) {
encode_uint32(ERR_INVALID_DATA, buf4);
cd->connection->put_data(buf4, 4);
OS::get_singleton()->delay_usec(1000000);

View File

@ -64,7 +64,7 @@ bool FileSystemDock::_create_tree(TreeItem *p_parent, EditorFileSystemDirectory
// Create a tree item for the subdirectory.
TreeItem *subdirectory_item = tree->create_item(p_parent);
String dname = p_dir->get_name();
if (dname == "") {
if (dname.is_empty()) {
dname = "res://";
}
@ -923,7 +923,7 @@ void FileSystemDock::_update_file_list(bool p_keep_selection) {
files->select(item_index, false);
}
if (!p_keep_selection && file != "" && fname == file) {
if (!p_keep_selection && !file.is_empty() && fname == file) {
files->select(item_index, true);
files->ensure_current_is_visible();
}
@ -1670,7 +1670,7 @@ Vector<String> FileSystemDock::_remove_self_included_paths(Vector<String> select
selected_strings.sort_custom<NaturalNoCaseComparator>();
String last_path = "";
for (int i = 0; i < selected_strings.size(); i++) {
if (last_path != "" && selected_strings[i].begins_with(last_path)) {
if (!last_path.is_empty() && selected_strings[i].begins_with(last_path)) {
selected_strings.remove_at(i);
i--;
}
@ -2016,7 +2016,7 @@ void FileSystemDock::_search_changed(const String &p_text, const Control *p_from
tree_search_box->set_text(searched_string);
}
bool unfold_path = (p_text == String() && path != String());
bool unfold_path = (p_text.is_empty() && !path.is_empty());
switch (display_mode) {
case DISPLAY_MODE_TREE_ONLY: {
_update_tree(searched_string.length() == 0 ? uncollapsed_paths_before_search : Vector<String>(), false, false, unfold_path);
@ -2665,7 +2665,7 @@ void FileSystemDock::_get_imported_files(const String &p_path, Vector<String> &f
DirAccess *da = DirAccess::open(p_path);
da->list_dir_begin();
String n = da->get_next();
while (n != String()) {
while (!n.is_empty()) {
if (n != "." && n != ".." && !n.ends_with(".import")) {
String npath = p_path + n + (da->current_is_dir() ? "/" : "");
_get_imported_files(npath, files);
@ -2720,7 +2720,7 @@ void FileSystemDock::_update_import_dock() {
if (cf->has_section_key("remap", "type")) {
type = cf->get_value("remap", "type");
}
if (import_type == "") {
if (import_type.is_empty()) {
import_type = type;
} else if (import_type != type) {
// All should be the same type.

View File

@ -114,7 +114,7 @@ void FindInFiles::_notification(int p_notification) {
}
void FindInFiles::start() {
if (_pattern == "") {
if (_pattern.is_empty()) {
print_verbose("Nothing to search, pattern is empty");
emit_signal(SNAME(SIGNAL_FINISHED));
return;
@ -224,7 +224,7 @@ void FindInFiles::_scan_dir(String path, PackedStringArray &out_folders) {
for (int i = 0; i < 1000; ++i) {
String file = dir->get_next();
if (file == "") {
if (file.is_empty()) {
break;
}

View File

@ -227,7 +227,7 @@ void GroupDialog::_group_renamed() {
}
}
if (name == "") {
if (name.is_empty()) {
renamed_group->set_text(0, selected_group);
error->set_text(TTR("Invalid group name."));
error->popup_centered();

View File

@ -1362,7 +1362,7 @@ Collada::Node *Collada::_parse_visual_instance_geometry(XMLParser &parser) {
} else if (parser.get_node_name() == "skeleton") {
parser.read();
String uri = _uri_to_id(parser.get_node_data());
if (uri != "") {
if (!uri.is_empty()) {
geom->skeletons.push_back(uri);
}
}
@ -1464,7 +1464,7 @@ Collada::Node *Collada::_parse_visual_scene_node(XMLParser &parser) {
bool found_name = false;
if (id == "") {
if (id.is_empty()) {
id = "%NODEID%" + itos(Math::rand());
} else {
@ -1479,7 +1479,7 @@ Collada::Node *Collada::_parse_visual_scene_node(XMLParser &parser) {
Node *node = nullptr;
name = parser.has_attribute("name") ? parser.get_attribute_value_safe("name") : parser.get_attribute_value_safe("id");
if (name == "") {
if (name.is_empty()) {
name = id;
} else {
found_name = true;
@ -1499,7 +1499,7 @@ Collada::Node *Collada::_parse_visual_scene_node(XMLParser &parser) {
joint->sid = parser.get_attribute_value_safe("name");
}
if (joint->sid != "") {
if (!joint->sid.is_empty()) {
state.sid_to_node_map[joint->sid] = id;
}
@ -1696,16 +1696,16 @@ void Collada::_parse_animation(XMLParser &parser) {
source_param_types[current_source] = Vector<String>();
} else if (name == "float_array") {
if (current_source != "") {
if (!current_source.is_empty()) {
float_sources[current_source] = _read_float_array(parser);
}
} else if (name == "Name_array") {
if (current_source != "") {
if (!current_source.is_empty()) {
string_sources[current_source] = _read_string_array(parser);
}
} else if (name == "accessor") {
if (current_source != "" && parser.has_attribute("stride")) {
if (!current_source.is_empty() && parser.has_attribute("stride")) {
source_strides[current_source] = parser.get_attribute_value("stride").to_int();
}
} else if (name == "sampler") {
@ -1725,7 +1725,7 @@ void Collada::_parse_animation(XMLParser &parser) {
}
} else if (name == "input") {
if (current_sampler != "") {
if (!current_sampler.is_empty()) {
samplers[current_sampler][parser.get_attribute_value("semantic")] = parser.get_attribute_value("source");
}
@ -1838,7 +1838,7 @@ void Collada::_parse_animation(XMLParser &parser) {
track.component = track.param.get_slice(".", 1).to_upper();
}
track.param = track.param.get_slice(".", 0);
if (names.size() > 1 && track.component == "") {
if (names.size() > 1 && track.component.is_empty()) {
//this is a guess because the collada spec is ambiguous here...
//i suppose if you have many names (outputs) you can't use a component and i should abide to that.
track.component = name;
@ -1855,7 +1855,7 @@ void Collada::_parse_animation(XMLParser &parser) {
state.referenced_tracks[target].push_back(state.animation_tracks.size() - 1);
if (id != "") {
if (!id.is_empty()) {
if (!state.by_id_tracks.has(id)) {
state.by_id_tracks[id] = Vector<int>();
}
@ -1953,10 +1953,10 @@ void Collada::_parse_library(XMLParser &parser) {
while (parser.read() == OK) {
if (parser.get_node_type() == XMLParser::NODE_ELEMENT) {
if (parser.get_node_name() == "mesh") {
state.mesh_name_map[id] = (name2 != "") ? name2 : id;
state.mesh_name_map[id] = (!name2.is_empty()) ? name2 : id;
_parse_mesh_geometry(parser, id, name2);
} else if (parser.get_node_name() == "spline") {
state.mesh_name_map[id] = (name2 != "") ? name2 : id;
state.mesh_name_map[id] = (!name2.is_empty()) ? name2 : id;
_parse_curve_geometry(parser, id, name2);
} else if (!parser.is_empty()) {
parser.skip_section();
@ -2286,7 +2286,7 @@ void Collada::_find_morph_nodes(VisualScene *p_vscene, Node *p_node) {
if (nj->controller) {
String base = nj->source;
while (base != "" && !state.mesh_data_map.has(base)) {
while (!base.is_empty() && !state.mesh_data_map.has(base)) {
if (state.skin_controller_data_map.has(base)) {
SkinControllerData &sk = state.skin_controller_data_map[base];
base = sk.base;

View File

@ -1597,7 +1597,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
menu_langs = memnew(PopupMenu);
menu_langs->set_name("Language");
for (int i = 0; langs[i].name != String(); i++) {
for (int i = 0; !langs[i].name.is_empty(); i++) {
if (langs[i].name == "-") {
menu_langs->add_separator();
} else {
@ -1609,7 +1609,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
menu_scripts = memnew(PopupMenu);
menu_scripts->set_name("Script");
for (int i = 0; scripts[i].name != String(); i++) {
for (int i = 0; !scripts[i].name.is_empty(); i++) {
if (scripts[i].name == "-") {
menu_scripts->add_separator();
} else {
@ -1826,7 +1826,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() {
glyph_tree->connect("item_selected", callable_mp(this, &DynamicFontImportSettings::_range_selected));
glyph_tree->set_v_size_flags(Control::SIZE_EXPAND_FILL);
glyph_root = glyph_tree->create_item();
for (int i = 0; unicode_ranges[i].name != String(); i++) {
for (int i = 0; !unicode_ranges[i].name.is_empty(); i++) {
_add_glyph_range_item(unicode_ranges[i].start, unicode_ranges[i].end, unicode_ranges[i].name);
}

View File

@ -303,7 +303,7 @@ Error ColladaImport::_create_scene(Collada::Node *p_node, Node3D *p_parent) {
} break;
}
if (p_node->name != "") {
if (!p_node->name.is_empty()) {
node->set_name(p_node->name);
}
NodeMap nm;
@ -317,7 +317,7 @@ Error ColladaImport::_create_scene(Collada::Node *p_node, Node3D *p_parent) {
p_parent->add_child(node, true);
node->set_owner(scene);
if (p_node->empty_draw_type != "") {
if (!p_node->empty_draw_type.is_empty()) {
node->set_meta("empty_draw_type", Variant(p_node->empty_draw_type));
}
@ -340,9 +340,9 @@ Error ColladaImport::_create_material(const String &p_target) {
Ref<StandardMaterial3D> material = memnew(StandardMaterial3D);
String base_name;
if (src_mat.name != "") {
if (!src_mat.name.is_empty()) {
base_name = src_mat.name;
} else if (effect.name != "") {
} else if (!effect.name.is_empty()) {
base_name = effect.name;
} else {
base_name = "Material";
@ -360,9 +360,9 @@ Error ColladaImport::_create_material(const String &p_target) {
// DIFFUSE
if (effect.diffuse.texture != "") {
if (!effect.diffuse.texture.is_empty()) {
String texfile = effect.get_texture_path(effect.diffuse.texture, collada);
if (texfile != "") {
if (!texfile.is_empty()) {
if (texfile.begins_with("/")) {
texfile = texfile.replace_first("/", "res://");
}
@ -381,9 +381,9 @@ Error ColladaImport::_create_material(const String &p_target) {
// SPECULAR
if (effect.specular.texture != "") {
if (!effect.specular.texture.is_empty()) {
String texfile = effect.get_texture_path(effect.specular.texture, collada);
if (texfile != "") {
if (!texfile.is_empty()) {
if (texfile.begins_with("/")) {
texfile = texfile.replace_first("/", "res://");
}
@ -406,9 +406,9 @@ Error ColladaImport::_create_material(const String &p_target) {
// EMISSION
if (effect.emission.texture != "") {
if (!effect.emission.texture.is_empty()) {
String texfile = effect.get_texture_path(effect.emission.texture, collada);
if (texfile != "") {
if (!texfile.is_empty()) {
if (texfile.begins_with("/")) {
texfile = texfile.replace_first("/", "res://");
}
@ -433,9 +433,9 @@ Error ColladaImport::_create_material(const String &p_target) {
// NORMAL
if (effect.bump.texture != "") {
if (!effect.bump.texture.is_empty()) {
String texfile = effect.get_texture_path(effect.bump.texture, collada);
if (texfile != "") {
if (!texfile.is_empty()) {
if (texfile.begins_with("/")) {
texfile = texfile.replace_first("/", "res://");
}
@ -525,7 +525,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
normal_ofs = vertex_ofs;
}
if (normal_source_id != "") {
if (!normal_source_id.is_empty()) {
ERR_FAIL_COND_V(!meshdata.sources.has(normal_source_id), ERR_INVALID_DATA);
normal_src = &meshdata.sources[normal_source_id];
}
@ -545,7 +545,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
binormal_ofs = vertex_ofs;
}
if (binormal_source_id != "") {
if (!binormal_source_id.is_empty()) {
ERR_FAIL_COND_V(!meshdata.sources.has(binormal_source_id), ERR_INVALID_DATA);
binormal_src = &meshdata.sources[binormal_source_id];
}
@ -565,7 +565,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
tangent_ofs = vertex_ofs;
}
if (tangent_source_id != "") {
if (!tangent_source_id.is_empty()) {
ERR_FAIL_COND_V(!meshdata.sources.has(tangent_source_id), ERR_INVALID_DATA);
tangent_src = &meshdata.sources[tangent_source_id];
}
@ -585,7 +585,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
uv_ofs = vertex_ofs;
}
if (uv_source_id != "") {
if (!uv_source_id.is_empty()) {
ERR_FAIL_COND_V(!meshdata.sources.has(uv_source_id), ERR_INVALID_DATA);
uv_src = &meshdata.sources[uv_source_id];
}
@ -605,7 +605,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
uv2_ofs = vertex_ofs;
}
if (uv2_source_id != "") {
if (!uv2_source_id.is_empty()) {
ERR_FAIL_COND_V(!meshdata.sources.has(uv2_source_id), ERR_INVALID_DATA);
uv2_src = &meshdata.sources[uv2_source_id];
}
@ -625,7 +625,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
color_ofs = vertex_ofs;
}
if (color_source_id != "") {
if (!color_source_id.is_empty()) {
ERR_FAIL_COND_V(!meshdata.sources.has(color_source_id), ERR_INVALID_DATA);
color_src = &meshdata.sources[color_source_id];
}
@ -914,7 +914,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
material = material_cache[target];
}
} else if (p.material != "") {
} else if (!p.material.is_empty()) {
WARN_PRINT("Collada: Unreferenced material in geometry instance: " + p.material);
}
}
@ -1198,7 +1198,7 @@ Error ColladaImport::_create_resources(Collada::Node *p_node, bool p_use_compres
}
}
ERR_FAIL_COND_V_MSG(ngsource != "", ERR_INVALID_DATA, "Controller instance source '" + ngsource + "' is neither skin or morph!");
ERR_FAIL_COND_V_MSG(!ngsource.is_empty(), ERR_INVALID_DATA, "Controller instance source '" + ngsource + "' is neither skin or morph!");
} else {
meshid = ng2->source;
@ -1215,13 +1215,13 @@ Error ColladaImport::_create_resources(Collada::Node *p_node, bool p_use_compres
mesh = Ref<ImporterMesh>(memnew(ImporterMesh));
const Collada::MeshData &meshdata = collada.state.mesh_data_map[meshid];
String name = meshdata.name;
if (name == "") {
if (name.is_empty()) {
name = "Mesh";
}
int counter = 2;
while (mesh_unique_names.has(name)) {
name = meshdata.name;
if (name == "") {
if (name.is_empty()) {
name = "Mesh";
}
name += itos(counter++);
@ -1261,7 +1261,7 @@ Error ColladaImport::_create_resources(Collada::Node *p_node, bool p_use_compres
}
mi->set_surface_material(i, material);
} else if (matname != "") {
} else if (!matname.is_empty()) {
WARN_PRINT("Collada: Unreferenced material in geometry instance: " + matname);
}
}
@ -1343,7 +1343,7 @@ void ColladaImport::_fix_param_animation_tracks() {
// test source(s)
String source = ng->source;
while (source != "") {
while (!source.is_empty()) {
if (collada.state.skin_controller_data_map.has(source)) {
const Collada::SkinControllerData &skin = collada.state.skin_controller_data_map[source];
@ -1796,7 +1796,7 @@ Node *EditorSceneFormatImporterCollada::import_scene(const String &p_path, uint3
AnimationPlayer *ap = memnew(AnimationPlayer);
for (int i = 0; i < state.animations.size(); i++) {
String name;
if (state.animations[i]->get_name() == "") {
if (state.animations[i]->get_name().is_empty()) {
name = "default";
} else {
name = state.animations[i]->get_name();

View File

@ -113,7 +113,7 @@ Error ResourceImporterCSVTranslation::import(const String &p_source_file, const
while (line.size() == locales.size() + 1) {
String key = line[0];
if (key != "") {
if (!key.is_empty()) {
for (int i = 1; i < line.size(); i++) {
translations.write[i - 1]->add_message(key, line[i].c_unescape());
}

View File

@ -235,7 +235,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
while (l.length() && l[l.length() - 1] == '\\') {
String add = f->get_line().strip_edges();
l += add;
if (add == String()) {
if (add.is_empty()) {
break;
}
}
@ -301,7 +301,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
surf_tool->set_normal(normals[norm]);
}
if (face[idx].size() >= 2 && face[idx][1] != String()) {
if (face[idx].size() >= 2 && !face[idx][1].is_empty()) {
int uv = face[idx][1].to_int() - 1;
if (uv < 0) {
uv += uvs.size() + 1;
@ -363,9 +363,9 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
mesh = surf_tool->commit(mesh, mesh_flags);
if (current_material != String()) {
if (!current_material.is_empty()) {
mesh->surface_set_name(mesh->get_surface_count() - 1, current_material.get_basename());
} else if (current_group != String()) {
} else if (!current_group.is_empty()) {
mesh->surface_set_name(mesh->get_surface_count() - 1, current_group);
}

View File

@ -481,7 +481,7 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, Map<Ref<I
fixed_name = _fixstr(name, "convcolonly");
}
ERR_FAIL_COND_V(fixed_name == String(), nullptr);
ERR_FAIL_COND_V(fixed_name.is_empty(), nullptr);
if (shapes.size()) {
StaticBody3D *col = memnew(StaticBody3D);
@ -577,7 +577,7 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, Map<Ref<I
fixed_name = _fixstr(name, "convcol");
}
if (fixed_name != String()) {
if (!fixed_name.is_empty()) {
if (mi->get_parent() && !mi->get_parent()->has_node(fixed_name)) {
mi->set_name(fixed_name);
}
@ -710,7 +710,7 @@ Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, Map<Ref<
mat_id = mat->get_name();
}
if (mat_id != String() && p_material_data.has(mat_id)) {
if (!mat_id.is_empty() && p_material_data.has(mat_id)) {
Dictionary matdata = p_material_data[mat_id];
for (int j = 0; j < post_importer_plugins.size(); j++) {
@ -1433,7 +1433,7 @@ void ResourceImporterScene::get_import_options(const String &p_path, List<Import
String script_ext_hint;
for (const String &E : script_extentions) {
if (script_ext_hint != "") {
if (!script_ext_hint.is_empty()) {
script_ext_hint += ",";
}
script_ext_hint += "*." + E;
@ -1559,7 +1559,7 @@ void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_m
mesh_id = src_mesh_node->get_mesh()->get_name();
}
if (mesh_id != String() && p_mesh_data.has(mesh_id)) {
if (!mesh_id.is_empty() && p_mesh_data.has(mesh_id)) {
Dictionary mesh_settings = p_mesh_data[mesh_id];
if (mesh_settings.has("generate/shadow_meshes")) {
@ -1649,7 +1649,7 @@ void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_m
}
}
if (save_to_file != String()) {
if (!save_to_file.is_empty()) {
Ref<Mesh> existing = Ref<Resource>(ResourceCache::get(save_to_file));
if (existing.is_valid()) {
//if somehow an existing one is useful, create
@ -2051,7 +2051,7 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p
String post_import_script_path = p_options["import_script/path"];
Ref<EditorScenePostImport> post_import_script;
if (post_import_script_path != "") {
if (!post_import_script_path.is_empty()) {
Ref<Script> scr = ResourceLoader::load(post_import_script_path);
if (!scr.is_valid()) {
EditorNode::add_io_error(TTR("Couldn't load post-import script:") + " " + post_import_script_path);

View File

@ -92,7 +92,7 @@ void SceneImportSettings::_fill_material(Tree *p_tree, const Ref<Material> &p_ma
if (p_material->has_meta("import_id")) {
import_id = p_material->get_meta("import_id");
has_import_id = true;
} else if (p_material->get_name() != "") {
} else if (!p_material->get_name().is_empty()) {
import_id = p_material->get_name();
has_import_id = true;
} else {
@ -148,7 +148,7 @@ void SceneImportSettings::_fill_mesh(Tree *p_tree, const Ref<Mesh> &p_mesh, Tree
if (p_mesh->has_meta("import_id")) {
import_id = p_mesh->get_meta("import_id");
has_import_id = true;
} else if (p_mesh->get_name() != String()) {
} else if (!p_mesh->get_name().is_empty()) {
import_id = p_mesh->get_name();
has_import_id = true;
} else {
@ -414,7 +414,7 @@ void SceneImportSettings::_update_camera() {
float rot_y = cam_rot_y;
float zoom = cam_zoom;
if (selected_type == "Node" || selected_type == "") {
if (selected_type == "Node" || selected_type.is_empty()) {
camera_aabb = contents_aabb;
} else {
if (mesh_preview->get_mesh().is_valid()) {

View File

@ -525,7 +525,7 @@ void ImportDock::_reimport() {
Ref<ResourceImporter> importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(importer_name);
ERR_CONTINUE(!importer.is_valid());
String group_file_property = importer->get_option_group_file();
if (group_file_property != String()) {
if (!group_file_property.is_empty()) {
//can import from a group (as in, atlas)
ERR_CONTINUE(!params->values.has(group_file_property));
String group_file = params->values[group_file_property];

View File

@ -312,7 +312,7 @@ void InspectorDock::_prepare_history() {
Resource *r = Object::cast_to<Resource>(obj);
if (r->get_path().is_resource_file()) {
text = r->get_path().get_file();
} else if (r->get_name() != String()) {
} else if (!r->get_name().is_empty()) {
text = r->get_name();
} else {
text = r->get_class();
@ -460,7 +460,7 @@ void InspectorDock::open_resource(const String &p_type) {
void InspectorDock::set_warning(const String &p_message) {
warning->hide();
if (p_message != String()) {
if (!p_message.is_empty()) {
warning->show();
warning_dialog->set_text(p_message);
}

View File

@ -75,7 +75,7 @@ bool MultiNodeEdit::_set_impl(const StringName &p_name, const Variant &p_value,
ur->add_do_property(n, name, path);
} else {
Variant new_value;
if (p_field == "") {
if (p_field.is_empty()) {
// whole value
new_value = p_value;
} else {

View File

@ -552,7 +552,7 @@ void AnimationNodeBlendSpace1DEditor::_notification(int p_what) {
if (error != error_label->get_text()) {
error_label->set_text(error);
if (error != String()) {
if (!error.is_empty()) {
error_panel->show();
} else {
error_panel->hide();

View File

@ -761,7 +761,7 @@ void AnimationNodeBlendSpace2DEditor::_notification(int p_what) {
if (error != error_label->get_text()) {
error_label->set_text(error);
if (error != String()) {
if (!error.is_empty()) {
error_panel->show();
} else {
error_panel->hide();

View File

@ -292,7 +292,7 @@ void AnimationNodeBlendTreeEditor::_add_node(int p_idx) {
anode = EditorSettings::get_singleton()->get_resource_clipboard();
ERR_FAIL_COND(!anode.is_valid());
base_name = anode->get_class();
} else if (add_options[p_idx].type != String()) {
} else if (!add_options[p_idx].type.is_empty()) {
AnimationNode *an = Object::cast_to<AnimationNode>(ClassDB::instantiate(add_options[p_idx].type));
ERR_FAIL_COND(!an);
anode = Ref<AnimationNode>(an);
@ -600,7 +600,7 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
String accum;
for (int i = 0; i < path.get_name_count(); i++) {
String name = path.get_name(i);
if (accum != String()) {
if (!accum.is_empty()) {
accum += "/";
}
accum += name;
@ -752,7 +752,7 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) {
if (error != error_label->get_text()) {
error_label->set_text(error);
if (error != String()) {
if (!error.is_empty()) {
error_panel->show();
} else {
error_panel->hide();
@ -821,13 +821,13 @@ AnimationNodeBlendTreeEditor *AnimationNodeBlendTreeEditor::singleton = nullptr;
void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<AnimationNode> p_node) {
String prev_name = blend_tree->get_node_name(p_node);
ERR_FAIL_COND(prev_name == String());
ERR_FAIL_COND(prev_name.is_empty());
GraphNode *gn = Object::cast_to<GraphNode>(graph->get_node(prev_name));
ERR_FAIL_COND(!gn);
const String &new_name = p_text;
ERR_FAIL_COND(new_name == "" || new_name.find(".") != -1 || new_name.find("/") != -1);
ERR_FAIL_COND(new_name.is_empty() || new_name.find(".") != -1 || new_name.find("/") != -1);
if (new_name == prev_name) {
return; //nothing to do

View File

@ -190,7 +190,7 @@ void AnimationPlayerEditor::_play_pressed() {
current = animation->get_item_text(animation->get_selected());
}
if (current != "") {
if (!current.is_empty()) {
if (current == player->get_assigned_animation()) {
player->stop(); //so it won't blend with itself
}
@ -207,7 +207,7 @@ void AnimationPlayerEditor::_play_from_pressed() {
current = animation->get_item_text(animation->get_selected());
}
if (current != "") {
if (!current.is_empty()) {
float time = player->get_current_animation_position();
if (current == player->get_assigned_animation() && player->is_playing()) {
@ -228,7 +228,7 @@ void AnimationPlayerEditor::_play_bw_pressed() {
current = animation->get_item_text(animation->get_selected());
}
if (current != "") {
if (!current.is_empty()) {
if (current == player->get_assigned_animation()) {
player->stop(); //so it won't blend with itself
}
@ -245,7 +245,7 @@ void AnimationPlayerEditor::_play_bw_from_pressed() {
current = animation->get_item_text(animation->get_selected());
}
if (current != "") {
if (!current.is_empty()) {
float time = player->get_current_animation_position();
if (current == player->get_assigned_animation()) {
player->stop(); //so it won't blend with itself
@ -280,7 +280,7 @@ void AnimationPlayerEditor::_animation_selected(int p_which) {
current = animation->get_item_text(animation->get_selected());
}
if (current != "") {
if (!current.is_empty()) {
player->set_assigned_animation(current);
Ref<Animation> anim = player->get_animation(current);
@ -397,7 +397,7 @@ void AnimationPlayerEditor::_animation_save_as(const Ref<Resource> &p_resource)
String path;
//file->set_current_path(current_path);
if (p_resource->get_path() != "") {
if (!p_resource->get_path().is_empty()) {
path = p_resource->get_path();
if (extensions.size()) {
if (extensions.find(p_resource->get_path().get_extension().to_lower()) == nullptr) {
@ -406,7 +406,7 @@ void AnimationPlayerEditor::_animation_save_as(const Ref<Resource> &p_resource)
}
} else {
if (extensions.size()) {
if (p_resource->get_name() != "") {
if (!p_resource->get_name().is_empty()) {
path = p_resource->get_name() + "." + extensions.front()->get().to_lower();
} else {
String resource_name_snake_case = p_resource->get_class().camelcase_to_underscore();
@ -486,7 +486,7 @@ void AnimationPlayerEditor::_animation_name_edited() {
player->stop();
String new_name = name->get_text();
if (new_name == "" || new_name.find(":") != -1 || new_name.find("/") != -1) {
if (new_name.is_empty() || new_name.find(":") != -1 || new_name.find("/") != -1) {
error_dialog->set_text(TTR("Invalid animation name!"));
error_dialog->popup_centered();
return;
@ -720,7 +720,7 @@ void AnimationPlayerEditor::_animation_edit() {
void AnimationPlayerEditor::_save_animation(String p_file) {
String current = animation->get_item_text(animation->get_selected());
if (current != "") {
if (!current.is_empty()) {
Ref<Animation> anim = player->get_animation(current);
ERR_FAIL_COND(!Object::cast_to<Resource>(*anim));
@ -1007,7 +1007,7 @@ void AnimationPlayerEditor::_seek_value_changed(float p_value, bool p_set, bool
updating = true;
String current = player->get_assigned_animation();
if (current == "" || !player->has_animation(current)) {
if (current.is_empty() || !player->has_animation(current)) {
updating = false;
current = "";
return;
@ -1086,7 +1086,7 @@ void AnimationPlayerEditor::_animation_tool_menu(int p_option) {
}
Ref<Animation> anim;
if (current != String()) {
if (!current.is_empty()) {
anim = player->get_animation(current);
}
@ -1141,7 +1141,7 @@ void AnimationPlayerEditor::_animation_tool_menu(int p_option) {
}
String name = anim2->get_name();
if (name == "") {
if (name.is_empty()) {
name = TTR("Pasted Animation");
}

View File

@ -438,7 +438,7 @@ void AnimationNodeStateMachineEditor::_add_menu_type(int p_index) {
return;
}
if (base_name == String()) {
if (base_name.is_empty()) {
base_name = node->get_class().replace_first("AnimationNode", "");
}
@ -927,7 +927,7 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) {
if (error != error_label->get_text()) {
error_label->set_text(error);
if (error != String()) {
if (!error.is_empty()) {
error_panel->show();
} else {
error_panel->hide();
@ -1059,7 +1059,7 @@ void AnimationNodeStateMachineEditor::_removed_from_graph() {
void AnimationNodeStateMachineEditor::_name_edited(const String &p_text) {
const String &new_name = p_text;
ERR_FAIL_COND(new_name == "" || new_name.find(".") != -1 || new_name.find("/") != -1);
ERR_FAIL_COND(new_name.is_empty() || new_name.find(".") != -1 || new_name.find("/") != -1);
if (new_name == prev_name) {
return; // Nothing to do.

View File

@ -343,7 +343,7 @@ void EditorAssetLibraryItemDownload::_http_download_completed(int p_status, int
if (p_code != 200) {
error_text = TTR("Request failed, return code:") + " " + itos(p_code);
status->set_text(TTR("Failed:") + " " + itos(p_code));
} else if (sha256 != "") {
} else if (!sha256.is_empty()) {
String download_sha256 = FileAccess::get_sha256(download->get_download_file());
if (sha256 != download_sha256) {
error_text = TTR("Bad download hash, assuming file has been tampered with.") + "\n";
@ -354,7 +354,7 @@ void EditorAssetLibraryItemDownload::_http_download_completed(int p_status, int
} break;
}
if (error_text != String()) {
if (!error_text.is_empty()) {
download_error->set_text(TTR("Asset Download Error:") + "\n" + error_text);
download_error->popup_centered();
// Let the user retry the download.
@ -921,7 +921,7 @@ void EditorAssetLibrary::_search(int p_page) {
support_list += String(support_key[i]) + "+";
}
}
if (support_list != String()) {
if (!support_list.is_empty()) {
args += "&support=" + support_list.substr(0, support_list.length() - 1);
}
@ -934,7 +934,7 @@ void EditorAssetLibrary::_search(int p_page) {
args += "&reverse=true";
}
if (filter->get_text() != String()) {
if (!filter->get_text().is_empty()) {
args += "&filter=" + filter->get_text().uri_encode();
}
@ -1187,7 +1187,7 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const
library_vb->add_child(asset_bottom_page);
if (result.is_empty()) {
if (filter->get_text() != String()) {
if (!filter->get_text().is_empty()) {
library_error->set_text(
vformat(TTR("No results for \"%s\"."), filter->get_text()));
} else {
@ -1218,7 +1218,7 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const
item->connect("author_selected", callable_mp(this, &EditorAssetLibrary::_select_author));
item->connect("category_selected", callable_mp(this, &EditorAssetLibrary::_select_category));
if (r.has("icon_url") && r["icon_url"] != "") {
if (r.has("icon_url") && !r["icon_url"].operator String().is_empty()) {
_request_image(item->get_instance_id(), r["icon_url"], IMAGE_QUEUE_ICON, 0);
}
}
@ -1255,7 +1255,7 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const
description->configure(r["title"], r["asset_id"], category_map[r["category_id"]], r["category_id"], r["author"], r["author_id"], r["cost"], r["version"], r["version_string"], r["description"], r["download_url"], r["browse_url"], r["download_hash"]);
if (r.has("icon_url") && r["icon_url"] != "") {
if (r.has("icon_url") && !r["icon_url"].operator String().is_empty()) {
_request_image(description->get_instance_id(), r["icon_url"], IMAGE_QUEUE_ICON, 0);
}

View File

@ -1460,7 +1460,7 @@ bool CanvasItemEditor::_gui_input_open_scene_on_double_click(const Ref<InputEven
List<CanvasItem *> selection = _get_edited_canvas_items();
if (selection.size() == 1) {
CanvasItem *canvas_item = selection[0];
if (canvas_item->get_scene_file_path() != "" && canvas_item != editor->get_edited_scene()) {
if (!canvas_item->get_scene_file_path().is_empty() && canvas_item != editor->get_edited_scene()) {
editor->open_request(canvas_item->get_scene_file_path());
return true;
}
@ -5843,7 +5843,7 @@ bool CanvasItemEditorViewport::_create_instance(Node *parent, String &path, cons
return false;
}
if (editor->get_edited_scene()->get_scene_file_path() != "") { // cyclical instancing
if (!editor->get_edited_scene()->get_scene_file_path().is_empty()) { // cyclical instancing
if (_cyclical_dependency_exists(editor->get_edited_scene()->get_scene_file_path(), instantiated_scene)) {
memdelete(instantiated_scene);
return false;

View File

@ -477,7 +477,7 @@ Ref<Texture2D> EditorScriptPreviewPlugin::generate(const RES &p_from, const Size
}
String code = scr->get_source_code().strip_edges();
if (code == "") {
if (code.is_empty()) {
return Ref<Texture2D>();
}

View File

@ -34,7 +34,7 @@ void GPUParticlesCollisionSDF3DEditorPlugin::_bake() {
if (col_sdf) {
if (col_sdf->get_texture().is_null() || !col_sdf->get_texture()->get_path().is_resource_file()) {
String path = get_tree()->get_edited_scene_root()->get_scene_file_path();
if (path == String()) {
if (path.is_empty()) {
path = "res://" + col_sdf->get_name() + "_data.exr";
} else {
String ext = path.get_extension();

Some files were not shown because too many files have changed in this diff Show More