Browse Source

Merge pull request #30923 from NilsIrl/better_dropdown

Improve platform selection in the GDNativeLibrary dock
Rémi Verschelde 6 years ago
parent
commit
baa1d0c3d0
1 changed files with 8 additions and 2 deletions
  1. 8 2
      modules/gdnative/gdnative_library_editor_plugin.cpp

+ 8 - 2
modules/gdnative/gdnative_library_editor_plugin.cpp

@@ -67,12 +67,17 @@ void GDNativeLibraryEditor::_update_tree() {
 	TreeItem *root = tree->create_item();
 
 	PopupMenu *filter_list = filter->get_popup();
+	String text = "";
 	for (int i = 0; i < filter_list->get_item_count(); i++) {
 
 		if (!filter_list->is_item_checked(i)) {
 			continue;
 		}
 		Map<String, NativePlatformConfig>::Element *E = platforms.find(filter_list->get_item_metadata(i));
+		if (!text.empty()) {
+			text += ", ";
+		}
+		text += E->get().name;
 
 		TreeItem *platform = tree->create_item(root);
 		platform->set_text(0, E->get().name);
@@ -122,6 +127,7 @@ void GDNativeLibraryEditor::_update_tree() {
 
 		platform->set_collapsed(collapsed_items.find(E->get().name) != NULL);
 	}
+	filter->set_text(text);
 }
 
 void GDNativeLibraryEditor::_on_item_button(Object *item, int column, int id) {
@@ -339,11 +345,11 @@ GDNativeLibraryEditor::GDNativeLibraryEditor() {
 	label->set_text(TTR("Platform:"));
 	hbox->add_child(label);
 	filter = memnew(MenuButton);
-	filter->set_text(TTR("Choose platform"));
+	filter->set_h_size_flags(SIZE_EXPAND_FILL);
+	filter->set_text_align(filter->ALIGN_LEFT);
 	hbox->add_child(filter);
 	PopupMenu *filter_list = filter->get_popup();
 	filter_list->set_hide_on_checkable_item_selection(false);
-	filter_list->set_h_size_flags(SIZE_EXPAND_FILL);
 
 	int idx = 0;
 	for (Map<String, NativePlatformConfig>::Element *E = platforms.front(); E; E = E->next()) {