1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-06 12:20:30 +00:00

Make asset library's column count dynamic

This commit is contained in:
python273
2022-07-02 23:15:42 +03:00
parent 73812c70f2
commit d65eb592b0
3 changed files with 17 additions and 8 deletions

View File

@@ -624,6 +624,10 @@ void EditorAssetLibrary::_notification(int p_what) {
} break;
case NOTIFICATION_RESIZED: {
_update_asset_items_columns();
} break;
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
_update_repository_options();
setup_http_request(request);
@@ -1213,7 +1217,7 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const
library_vb->add_child(asset_top_page);
asset_items = memnew(GridContainer);
asset_items->set_columns(2);
_update_asset_items_columns();
asset_items->add_theme_constant_override("h_separation", 10 * EDSCALE);
asset_items->add_theme_constant_override("v_separation", 10 * EDSCALE);
@@ -1379,12 +1383,17 @@ void EditorAssetLibrary::_install_external_asset(String p_zip_path, String p_tit
emit_signal(SNAME("install_asset"), p_zip_path, p_title);
}
void EditorAssetLibrary::disable_community_support() {
support->get_popup()->set_item_checked(SUPPORT_COMMUNITY, false);
void EditorAssetLibrary::_update_asset_items_columns() {
int new_columns = get_size().x / (450.0 * EDSCALE);
new_columns = MAX(1, new_columns);
if (new_columns != asset_items->get_columns()) {
asset_items->set_columns(new_columns);
}
}
void EditorAssetLibrary::set_columns(const int p_columns) {
asset_items->set_columns(p_columns);
void EditorAssetLibrary::disable_community_support() {
support->get_popup()->set_item_checked(SUPPORT_COMMUNITY, false);
}
void EditorAssetLibrary::_bind_methods() {
@@ -1542,7 +1551,7 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) {
library_vb->add_child(asset_top_page);
asset_items = memnew(GridContainer);
asset_items->set_columns(2);
_update_asset_items_columns();
asset_items->add_theme_constant_override("h_separation", 10 * EDSCALE);
asset_items->add_theme_constant_override("v_separation", 10 * EDSCALE);