mirror of
https://github.com/godotengine/godot
synced 2024-09-05 19:49:39 +00:00
fixes 27543, adds a copy button for the editor log
This commit is contained in:
parent
dd2cd06165
commit
aa4e27084f
|
@ -78,10 +78,19 @@ void EditorLog::_clear_request() {
|
||||||
tool_button->set_icon(Ref<Texture>());
|
tool_button->set_icon(Ref<Texture>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EditorLog::_copy_request() {
|
||||||
|
|
||||||
|
log->selection_copy();
|
||||||
|
}
|
||||||
|
|
||||||
void EditorLog::clear() {
|
void EditorLog::clear() {
|
||||||
_clear_request();
|
_clear_request();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EditorLog::copy() {
|
||||||
|
_copy_request();
|
||||||
|
}
|
||||||
|
|
||||||
void EditorLog::add_message(const String &p_msg, MessageType p_type) {
|
void EditorLog::add_message(const String &p_msg, MessageType p_type) {
|
||||||
|
|
||||||
log->add_newline();
|
log->add_newline();
|
||||||
|
@ -125,7 +134,9 @@ void EditorLog::_undo_redo_cbk(void *p_self, const String &p_name) {
|
||||||
void EditorLog::_bind_methods() {
|
void EditorLog::_bind_methods() {
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("_clear_request"), &EditorLog::_clear_request);
|
ClassDB::bind_method(D_METHOD("_clear_request"), &EditorLog::_clear_request);
|
||||||
|
ClassDB::bind_method(D_METHOD("_copy_request"), &EditorLog::_copy_request);
|
||||||
ADD_SIGNAL(MethodInfo("clear_request"));
|
ADD_SIGNAL(MethodInfo("clear_request"));
|
||||||
|
ADD_SIGNAL(MethodInfo("copy_request"));
|
||||||
}
|
}
|
||||||
|
|
||||||
EditorLog::EditorLog() {
|
EditorLog::EditorLog() {
|
||||||
|
@ -139,6 +150,12 @@ EditorLog::EditorLog() {
|
||||||
title->set_h_size_flags(SIZE_EXPAND_FILL);
|
title->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||||
hb->add_child(title);
|
hb->add_child(title);
|
||||||
|
|
||||||
|
copybutton = memnew(Button);
|
||||||
|
hb->add_child(copybutton);
|
||||||
|
copybutton->set_text(TTR("Copy"));
|
||||||
|
copybutton->set_shortcut(ED_SHORTCUT("editor/copy_output", TTR("Copy Selection"), KEY_MASK_CMD | KEY_C));
|
||||||
|
copybutton->connect("pressed", this, "_copy_request");
|
||||||
|
|
||||||
clearbutton = memnew(Button);
|
clearbutton = memnew(Button);
|
||||||
hb->add_child(clearbutton);
|
hb->add_child(clearbutton);
|
||||||
clearbutton->set_text(TTR("Clear"));
|
clearbutton->set_text(TTR("Clear"));
|
||||||
|
|
|
@ -48,6 +48,7 @@ class EditorLog : public VBoxContainer {
|
||||||
GDCLASS(EditorLog, VBoxContainer);
|
GDCLASS(EditorLog, VBoxContainer);
|
||||||
|
|
||||||
Button *clearbutton;
|
Button *clearbutton;
|
||||||
|
Button *copybutton;
|
||||||
Label *title;
|
Label *title;
|
||||||
RichTextLabel *log;
|
RichTextLabel *log;
|
||||||
HBoxContainer *title_hb;
|
HBoxContainer *title_hb;
|
||||||
|
@ -62,6 +63,7 @@ class EditorLog : public VBoxContainer {
|
||||||
|
|
||||||
//void _dragged(const Point2& p_ofs);
|
//void _dragged(const Point2& p_ofs);
|
||||||
void _clear_request();
|
void _clear_request();
|
||||||
|
void _copy_request();
|
||||||
static void _undo_redo_cbk(void *p_self, const String &p_name);
|
static void _undo_redo_cbk(void *p_self, const String &p_name);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -80,6 +82,7 @@ public:
|
||||||
void deinit();
|
void deinit();
|
||||||
|
|
||||||
void clear();
|
void clear();
|
||||||
|
void copy();
|
||||||
EditorLog();
|
EditorLog();
|
||||||
~EditorLog();
|
~EditorLog();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue