summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2016-07-31 20:14:44 +0200
committerGitHub <noreply@github.com>2016-07-31 20:14:44 +0200
commit3ca08d2a0fc48ac5e073fe586ae47d1fbcda47e2 (patch)
treea09eabf09faa5fc1daea458c942322814a5512b9
parent37ce4387875e66c1d212c626ba9b4f13e98e6e1c (diff)
parenta1c0fdac9a4ec1e8c2097b457a52e568f983c7d0 (diff)
Merge pull request #5980 from profelis/PR-run-btn-availability
Run button availability check
-rw-r--r--tools/editor/project_manager.cpp21
-rw-r--r--tools/editor/project_manager.h3
2 files changed, 10 insertions, 14 deletions
diff --git a/tools/editor/project_manager.cpp b/tools/editor/project_manager.cpp
index 28d9738fee..f885fbba07 100644
--- a/tools/editor/project_manager.cpp
+++ b/tools/editor/project_manager.cpp
@@ -518,23 +518,23 @@ void ProjectManager::_panel_draw(Node *p_hb) {
void ProjectManager::_update_project_buttons()
{
- String single_selected = "";
- if (selected_list.size() == 1) {
- single_selected = selected_list.front()->key();
- }
-
- single_selected_main = "";
for(int i=0;i<scroll_childs->get_child_count();i++) {
+
CanvasItem *item = scroll_childs->get_child(i)->cast_to<CanvasItem>();
item->update();
-
- if (single_selected!="" && single_selected == item->get_meta("name"))
- single_selected_main = item->get_meta("main_scene");
+ }
+
+ bool has_runnable_scene = false;
+ for (Map<String,String>::Element *E=selected_list.front(); E; E=E->next()) {
+ const String &selected_main = E->get();
+ if (selected_main == "") continue;
+ has_runnable_scene = true;
+ break;
}
erase_btn->set_disabled(selected_list.size()<1);
open_btn->set_disabled(selected_list.size()<1);
- run_btn->set_disabled(selected_list.size()<1 || (selected_list.size()==1 && single_selected_main==""));
+ run_btn->set_disabled(!has_runnable_scene);
}
void ProjectManager::_panel_input(const InputEvent& p_ev,Node *p_hb) {
@@ -1072,7 +1072,6 @@ void ProjectManager::_erase_project_confirm() {
EditorSettings::get_singleton()->save();
selected_list.clear();
last_clicked = "";
- single_selected_main="";
_load_recent_projects();
}
diff --git a/tools/editor/project_manager.h b/tools/editor/project_manager.h
index 50bd7d94c8..da57033905 100644
--- a/tools/editor/project_manager.h
+++ b/tools/editor/project_manager.h
@@ -60,7 +60,6 @@ class ProjectManager : public Control {
VBoxContainer *scroll_childs;
Map<String, String> selected_list; // name -> main_scene
String last_clicked;
- String single_selected_main;
bool importing;
HBoxContainer *projects_hb;
@@ -69,8 +68,6 @@ class ProjectManager : public Control {
Control *gui_base;
- void _item_doubleclicked();
-
void _scan_projects();