Merge pull request #6673 from J08nY/issue-update-spinner
Fix #6653, add an option to stop the update spinner from spinning
This commit is contained in:
commit
fb856e532e
4 changed files with 39 additions and 16 deletions
|
@ -701,6 +701,13 @@ void PopupMenu::set_item_submenu(int p_idx, const String& p_submenu) {
|
|||
update();
|
||||
}
|
||||
|
||||
void PopupMenu::toggle_item_checked(int p_idx) {
|
||||
|
||||
ERR_FAIL_INDEX(p_idx,items.size());
|
||||
items[p_idx].checked = !items[p_idx].checked;
|
||||
update();
|
||||
}
|
||||
|
||||
String PopupMenu::get_item_text(int p_idx) const {
|
||||
|
||||
ERR_FAIL_INDEX_V(p_idx,items.size(),"");
|
||||
|
@ -1061,33 +1068,40 @@ void PopupMenu::_bind_methods() {
|
|||
ObjectTypeDB::bind_method(_MD("add_icon_check_shortcut","texture","shortcut:ShortCut","id"),&PopupMenu::add_icon_check_shortcut,DEFVAL(-1));
|
||||
ObjectTypeDB::bind_method(_MD("add_check_shortcut","shortcut:ShortCut","id"),&PopupMenu::add_check_shortcut,DEFVAL(-1));
|
||||
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("set_item_text","idx","text"),&PopupMenu::set_item_text);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_icon","idx","icon"),&PopupMenu::set_item_icon);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_checked","idx","checked"),&PopupMenu::set_item_checked);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_ID","idx","id"),&PopupMenu::set_item_ID);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_accelerator","idx","accel"),&PopupMenu::set_item_accelerator);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_metadata","idx","metadata"),&PopupMenu::set_item_metadata);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_checked","idx","checked"),&PopupMenu::set_item_checked);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_disabled","idx","disabled"),&PopupMenu::set_item_disabled);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_shortcut","idx","shortcut:ShortCut"),&PopupMenu::set_item_shortcut);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_submenu","idx","submenu"),&PopupMenu::set_item_submenu);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_as_separator","idx","enable"),&PopupMenu::set_item_as_separator);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_as_checkable","idx","enable"),&PopupMenu::set_item_as_checkable);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_ID","idx","id"),&PopupMenu::set_item_ID);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_tooltip","idx","tooltip"),&PopupMenu::set_item_tooltip);
|
||||
ObjectTypeDB::bind_method(_MD("set_item_shortcut","idx","shortcut:ShortCut"),&PopupMenu::set_item_shortcut);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("toggle_item_checked","idx"), &PopupMenu::toggle_item_checked);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("get_item_text","idx"),&PopupMenu::get_item_text);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_icon","idx"),&PopupMenu::get_item_icon);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_metadata","idx"),&PopupMenu::get_item_metadata);
|
||||
ObjectTypeDB::bind_method(_MD("is_item_checked","idx"),&PopupMenu::is_item_checked);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_ID","idx"),&PopupMenu::get_item_ID);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_index","id"),&PopupMenu::get_item_index);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_accelerator","idx"),&PopupMenu::get_item_accelerator);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_shortcut:ShortCut","idx"),&PopupMenu::get_item_shortcut);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_metadata","idx"),&PopupMenu::get_item_metadata);
|
||||
ObjectTypeDB::bind_method(_MD("is_item_disabled","idx"),&PopupMenu::is_item_disabled);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_submenu","idx"),&PopupMenu::get_item_submenu);
|
||||
ObjectTypeDB::bind_method(_MD("is_item_separator","idx"),&PopupMenu::is_item_separator);
|
||||
ObjectTypeDB::bind_method(_MD("is_item_checkable","idx"),&PopupMenu::is_item_checkable);
|
||||
ObjectTypeDB::bind_method(_MD("is_item_checked","idx"),&PopupMenu::is_item_checked);
|
||||
ObjectTypeDB::bind_method(_MD("is_item_disabled","idx"),&PopupMenu::is_item_disabled);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_ID","idx"),&PopupMenu::get_item_ID);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_index","id"),&PopupMenu::get_item_index);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_tooltip","idx"),&PopupMenu::get_item_tooltip);
|
||||
ObjectTypeDB::bind_method(_MD("get_item_shortcut:ShortCut","idx"),&PopupMenu::get_item_shortcut);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("get_item_count"),&PopupMenu::get_item_count);
|
||||
ObjectTypeDB::bind_method(_MD("add_separator"),&PopupMenu::add_separator);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("remove_item","idx"),&PopupMenu::remove_item);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("add_separator"),&PopupMenu::add_separator);
|
||||
ObjectTypeDB::bind_method(_MD("clear"),&PopupMenu::clear);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("_set_items"),&PopupMenu::_set_items);
|
||||
|
@ -1125,5 +1139,3 @@ PopupMenu::PopupMenu() {
|
|||
|
||||
PopupMenu::~PopupMenu() {
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -116,6 +116,8 @@ public:
|
|||
void set_item_tooltip(int p_idx,const String& p_tooltip);
|
||||
void set_item_shortcut(int p_idx, const Ref<ShortCut>& p_shortcut);
|
||||
|
||||
void toggle_item_checked(int p_idx);
|
||||
|
||||
String get_item_text(int p_idx) const;
|
||||
Ref<Texture> get_item_icon(int p_idx) const;
|
||||
bool is_item_checked(int p_idx) const;
|
||||
|
|
|
@ -268,8 +268,10 @@ void EditorNode::_notification(int p_what) {
|
|||
circle_step_msec=tick;
|
||||
circle_step_frame=frame+1;
|
||||
|
||||
// update the circle itself only when its enabled
|
||||
if (!update_menu->get_popup()->is_item_checked(3)){
|
||||
update_menu->set_icon(gui_base->get_icon("Progress"+itos(circle_step+1),"EditorIcons"));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
scene_root->set_size_override(true,Size2(Globals::get_singleton()->get("display/width"),Globals::get_singleton()->get("display/height")));
|
||||
|
@ -2797,6 +2799,10 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
update_menu->get_popup()->set_item_checked(1,true);
|
||||
OS::get_singleton()->set_low_processor_usage_mode(true);
|
||||
} break;
|
||||
case SETTINGS_UPDATE_SPINNER_HIDE: {
|
||||
update_menu->set_icon(gui_base->get_icon("Collapse","EditorIcons"));
|
||||
update_menu->get_popup()->toggle_item_checked(3);
|
||||
} break;
|
||||
case SETTINGS_PREFERENCES: {
|
||||
|
||||
settings_config_dialog->popup_edit_settings();
|
||||
|
@ -6064,6 +6070,8 @@ EditorNode::EditorNode() {
|
|||
p=update_menu->get_popup();
|
||||
p->add_check_item(TTR("Update Always"),SETTINGS_UPDATE_ALWAYS);
|
||||
p->add_check_item(TTR("Update Changes"),SETTINGS_UPDATE_CHANGES);
|
||||
p->add_separator();
|
||||
p->add_check_item(TTR("Disable Update Spinner"),SETTINGS_UPDATE_SPINNER_HIDE);
|
||||
p->set_item_checked(1,true);
|
||||
|
||||
//sources_button->connect();
|
||||
|
|
|
@ -179,6 +179,7 @@ private:
|
|||
RUN_RELOAD_SCRIPTS,
|
||||
SETTINGS_UPDATE_ALWAYS,
|
||||
SETTINGS_UPDATE_CHANGES,
|
||||
SETTINGS_UPDATE_SPINNER_HIDE,
|
||||
SETTINGS_EXPORT_PREFERENCES,
|
||||
SETTINGS_PREFERENCES,
|
||||
SETTINGS_OPTIMIZED_PRESETS,
|
||||
|
|
Loading…
Reference in a new issue