Unify and streamline connecting to Resource changes
This commit is contained in:
@@ -30,7 +30,6 @@
|
||||
|
||||
#include "label_3d.h"
|
||||
|
||||
#include "core/core_string_names.h"
|
||||
#include "scene/main/viewport.h"
|
||||
#include "scene/resources/theme.h"
|
||||
#include "scene/scene_string_names.h"
|
||||
@@ -762,12 +761,12 @@ void Label3D::_font_changed() {
|
||||
void Label3D::set_font(const Ref<Font> &p_font) {
|
||||
if (font_override != p_font) {
|
||||
if (font_override.is_valid()) {
|
||||
font_override->disconnect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Label3D::_font_changed));
|
||||
font_override->disconnect_changed(callable_mp(this, &Label3D::_font_changed));
|
||||
}
|
||||
font_override = p_font;
|
||||
dirty_font = true;
|
||||
if (font_override.is_valid()) {
|
||||
font_override->connect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Label3D::_font_changed));
|
||||
font_override->connect_changed(callable_mp(this, &Label3D::_font_changed));
|
||||
}
|
||||
_queue_update();
|
||||
}
|
||||
@@ -779,7 +778,7 @@ Ref<Font> Label3D::get_font() const {
|
||||
|
||||
Ref<Font> Label3D::_get_font_or_default() const {
|
||||
if (theme_font.is_valid()) {
|
||||
theme_font->disconnect(CoreStringNames::get_singleton()->changed, callable_mp(const_cast<Label3D *>(this), &Label3D::_font_changed));
|
||||
theme_font->disconnect_changed(callable_mp(const_cast<Label3D *>(this), &Label3D::_font_changed));
|
||||
theme_font.unref();
|
||||
}
|
||||
|
||||
@@ -797,7 +796,7 @@ Ref<Font> Label3D::_get_font_or_default() const {
|
||||
Ref<Font> f = ThemeDB::get_singleton()->get_project_theme()->get_theme_item(Theme::DATA_TYPE_FONT, "font", E);
|
||||
if (f.is_valid()) {
|
||||
theme_font = f;
|
||||
theme_font->connect(CoreStringNames::get_singleton()->changed, callable_mp(const_cast<Label3D *>(this), &Label3D::_font_changed));
|
||||
theme_font->connect_changed(callable_mp(const_cast<Label3D *>(this), &Label3D::_font_changed));
|
||||
}
|
||||
return f;
|
||||
}
|
||||
@@ -814,7 +813,7 @@ Ref<Font> Label3D::_get_font_or_default() const {
|
||||
Ref<Font> f = ThemeDB::get_singleton()->get_default_theme()->get_theme_item(Theme::DATA_TYPE_FONT, "font", E);
|
||||
if (f.is_valid()) {
|
||||
theme_font = f;
|
||||
theme_font->connect(CoreStringNames::get_singleton()->changed, callable_mp(const_cast<Label3D *>(this), &Label3D::_font_changed));
|
||||
theme_font->connect_changed(callable_mp(const_cast<Label3D *>(this), &Label3D::_font_changed));
|
||||
}
|
||||
return f;
|
||||
}
|
||||
@@ -825,7 +824,7 @@ Ref<Font> Label3D::_get_font_or_default() const {
|
||||
Ref<Font> f = ThemeDB::get_singleton()->get_default_theme()->get_theme_item(Theme::DATA_TYPE_FONT, "font", StringName());
|
||||
if (f.is_valid()) {
|
||||
theme_font = f;
|
||||
theme_font->connect(CoreStringNames::get_singleton()->changed, callable_mp(const_cast<Label3D *>(this), &Label3D::_font_changed));
|
||||
theme_font->connect_changed(callable_mp(const_cast<Label3D *>(this), &Label3D::_font_changed));
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user