Skip to content

Commit

Permalink
Merge pull request #44549 from YeldhamDev/git_button_disable
Browse files Browse the repository at this point in the history
Disable "Commit" button in VCS plugin if there's no commit message
  • Loading branch information
akien-mga authored Dec 20, 2020
2 parents d3ff3dc + 221738f commit fe93f62
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
14 changes: 7 additions & 7 deletions editor/plugins/version_control_editor_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,19 +119,13 @@ void VersionControlEditorPlugin::_initialize_vcs() {
}

void VersionControlEditorPlugin::_send_commit_msg() {
String msg = commit_message->get_text();
if (msg == "") {
commit_status->set_text(TTR("No commit message was provided"));
return;
}

if (EditorVCSInterface::get_singleton()) {
if (staged_files_count == 0) {
commit_status->set_text(TTR("No files added to stage"));
return;
}

EditorVCSInterface::get_singleton()->commit(msg);
EditorVCSInterface::get_singleton()->commit(commit_message->get_text());

commit_message->set_text("");
version_control_dock_button->set_pressed(false);
Expand Down Expand Up @@ -294,6 +288,10 @@ void VersionControlEditorPlugin::_update_commit_status() {
staged_files_count = 0;
}

void VersionControlEditorPlugin::_update_commit_button() {
commit_button->set_disabled(commit_message->get_text().strip_edges() == "");
}

void VersionControlEditorPlugin::register_editor() {
if (!EditorVCSInterface::get_singleton()) {
EditorNode::get_singleton()->add_control_to_dock(EditorNode::DOCK_SLOT_RIGHT_UL, version_commit_dock);
Expand Down Expand Up @@ -463,10 +461,12 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() {
commit_message->set_v_grow_direction(Control::GrowDirection::GROW_DIRECTION_END);
commit_message->set_custom_minimum_size(Size2(200, 100));
commit_message->set_wrap_enabled(true);
commit_message->connect("text_changed", callable_mp(this, &VersionControlEditorPlugin::_update_commit_button));
commit_box_vbc->add_child(commit_message);

commit_button = memnew(Button);
commit_button->set_text(TTR("Commit Changes"));
commit_button->set_disabled(true);
commit_button->connect("pressed", callable_mp(this, &VersionControlEditorPlugin::_send_commit_msg));
commit_box_vbc->add_child(commit_button);

Expand Down
1 change: 1 addition & 0 deletions editor/plugins/version_control_editor_plugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ class VersionControlEditorPlugin : public EditorPlugin {
void _clear_file_diff();
void _update_stage_status();
void _update_commit_status();
void _update_commit_button();

friend class EditorVCSInterface;

Expand Down

0 comments on commit fe93f62

Please sign in to comment.