Merge pull request #52633 from lewiji/mono-build-solution-shortcut-4.0
This commit is contained in:
commit
de8d38014e
|
@ -43,8 +43,10 @@
|
||||||
#include "core/os/thread.h"
|
#include "core/os/thread.h"
|
||||||
|
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
|
#include "core/os/keyboard.h"
|
||||||
#include "editor/bindings_generator.h"
|
#include "editor/bindings_generator.h"
|
||||||
#include "editor/editor_node.h"
|
#include "editor/editor_node.h"
|
||||||
|
#include "editor/editor_settings.h"
|
||||||
#include "editor/node_dock.h"
|
#include "editor/node_dock.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1353,6 +1355,7 @@ void CSharpLanguage::_editor_init_callback() {
|
||||||
|
|
||||||
// Enable it as a plugin
|
// Enable it as a plugin
|
||||||
EditorNode::add_editor_plugin(godotsharp_editor);
|
EditorNode::add_editor_plugin(godotsharp_editor);
|
||||||
|
ED_SHORTCUT("mono/build_solution", TTR("Build Solution"), KEY_MASK_ALT | KEY_B);
|
||||||
godotsharp_editor->enable_plugin();
|
godotsharp_editor->enable_plugin();
|
||||||
|
|
||||||
get_singleton()->godotsharp_editor = godotsharp_editor;
|
get_singleton()->godotsharp_editor = godotsharp_editor;
|
||||||
|
|
|
@ -418,11 +418,15 @@ namespace GodotTools
|
||||||
|
|
||||||
AddToolSubmenuItem("C#", _menuPopup);
|
AddToolSubmenuItem("C#", _menuPopup);
|
||||||
|
|
||||||
|
var buildSolutionShortcut = (Shortcut)EditorShortcut("mono/build_solution");
|
||||||
|
|
||||||
_toolBarBuildButton = new Button
|
_toolBarBuildButton = new Button
|
||||||
{
|
{
|
||||||
Text = "Build",
|
Text = "Build",
|
||||||
HintTooltip = "Build solution",
|
HintTooltip = "Build Solution".TTR(),
|
||||||
FocusMode = Control.FocusModeEnum.None
|
FocusMode = Control.FocusModeEnum.None,
|
||||||
|
Shortcut = buildSolutionShortcut,
|
||||||
|
ShortcutInTooltip = true
|
||||||
};
|
};
|
||||||
_toolBarBuildButton.PressedSignal += BuildSolutionPressed;
|
_toolBarBuildButton.PressedSignal += BuildSolutionPressed;
|
||||||
AddControlToContainer(CustomControlContainer.Toolbar, _toolBarBuildButton);
|
AddControlToContainer(CustomControlContainer.Toolbar, _toolBarBuildButton);
|
||||||
|
|
|
@ -13,6 +13,9 @@ namespace GodotTools.Internals
|
||||||
public static object EditorDef(string setting, object defaultValue, bool restartIfChanged = false) =>
|
public static object EditorDef(string setting, object defaultValue, bool restartIfChanged = false) =>
|
||||||
internal_EditorDef(setting, defaultValue, restartIfChanged);
|
internal_EditorDef(setting, defaultValue, restartIfChanged);
|
||||||
|
|
||||||
|
public static object EditorShortcut(string setting) =>
|
||||||
|
internal_EditorShortcut(setting);
|
||||||
|
|
||||||
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
||||||
public static string TTR(this string text) => internal_TTR(text);
|
public static string TTR(this string text) => internal_TTR(text);
|
||||||
|
|
||||||
|
@ -27,6 +30,9 @@ namespace GodotTools.Internals
|
||||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||||
private static extern object internal_EditorDef(string setting, object defaultValue, bool restartIfChanged);
|
private static extern object internal_EditorDef(string setting, object defaultValue, bool restartIfChanged);
|
||||||
|
|
||||||
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||||
|
private static extern object internal_EditorShortcut(string setting);
|
||||||
|
|
||||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||||
private static extern string internal_TTR(string text);
|
private static extern string internal_TTR(string text);
|
||||||
}
|
}
|
||||||
|
|
|
@ -306,6 +306,12 @@ MonoObject *godot_icall_Globals_EditorDef(MonoString *p_setting, MonoObject *p_d
|
||||||
return GDMonoMarshal::variant_to_mono_object(result);
|
return GDMonoMarshal::variant_to_mono_object(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MonoObject *godot_icall_Globals_EditorShortcut(MonoString *p_setting) {
|
||||||
|
String setting = GDMonoMarshal::mono_string_to_godot(p_setting);
|
||||||
|
Ref<Shortcut> result = ED_GET_SHORTCUT(setting);
|
||||||
|
return GDMonoMarshal::variant_to_mono_object(result);
|
||||||
|
}
|
||||||
|
|
||||||
MonoString *godot_icall_Globals_TTR(MonoString *p_text) {
|
MonoString *godot_icall_Globals_TTR(MonoString *p_text) {
|
||||||
String text = GDMonoMarshal::mono_string_to_godot(p_text);
|
String text = GDMonoMarshal::mono_string_to_godot(p_text);
|
||||||
return GDMonoMarshal::mono_string_from_godot(TTR(text));
|
return GDMonoMarshal::mono_string_from_godot(TTR(text));
|
||||||
|
@ -380,6 +386,7 @@ void register_editor_internal_calls() {
|
||||||
GDMonoUtils::add_internal_call("GodotTools.Internals.Globals::internal_EditorScale", godot_icall_Globals_EditorScale);
|
GDMonoUtils::add_internal_call("GodotTools.Internals.Globals::internal_EditorScale", godot_icall_Globals_EditorScale);
|
||||||
GDMonoUtils::add_internal_call("GodotTools.Internals.Globals::internal_GlobalDef", godot_icall_Globals_GlobalDef);
|
GDMonoUtils::add_internal_call("GodotTools.Internals.Globals::internal_GlobalDef", godot_icall_Globals_GlobalDef);
|
||||||
GDMonoUtils::add_internal_call("GodotTools.Internals.Globals::internal_EditorDef", godot_icall_Globals_EditorDef);
|
GDMonoUtils::add_internal_call("GodotTools.Internals.Globals::internal_EditorDef", godot_icall_Globals_EditorDef);
|
||||||
|
GDMonoUtils::add_internal_call("GodotTools.Internals.Globals::internal_EditorShortcut", godot_icall_Globals_EditorShortcut);
|
||||||
GDMonoUtils::add_internal_call("GodotTools.Internals.Globals::internal_TTR", godot_icall_Globals_TTR);
|
GDMonoUtils::add_internal_call("GodotTools.Internals.Globals::internal_TTR", godot_icall_Globals_TTR);
|
||||||
|
|
||||||
// Utils.OS
|
// Utils.OS
|
||||||
|
|
Loading…
Reference in New Issue