diff --git a/dub.json b/dub.json index dcc4675..220ab31 100644 --- a/dub.json +++ b/dub.json @@ -12,7 +12,7 @@ "stringImportPaths": ["views", "views/res", "views/res/i18n", "views/res/mdpi", "views/res/hdpi"], "dependencies": { - "dlangui": "==0.9.119", + "dlangui": "==0.9.120", "dcd": "~>0.9.1" }, diff --git a/src/dlangide/ui/newfile.d b/src/dlangide/ui/newfile.d index a9fce75..ab47509 100644 --- a/src/dlangide/ui/newfile.d +++ b/src/dlangide/ui/newfile.d @@ -122,6 +122,11 @@ class NewFileDlg : Dialog { _edLocation.addFilter(FileFilterEntry(UIString.fromRaw("DlangIDE files"d), "*.dlangidews;*.d;*.dd;*.di;*.ddoc;*.dh;*.json;*.xml;*.ini;*.dt")); _edLocation.caption = "Select directory"d; + _edFileName.editorAction.connect(&onEditorAction); + _edFilePath.editorAction.connect(&onEditorAction); + _edModuleName.editorAction.connect(&onEditorAction); + _edLocation.editorAction.connect(&onEditorAction); + // fill templates dstring[] names; foreach(t; _templates) @@ -156,6 +161,23 @@ class NewFileDlg : Dialog { } + /// called after window with dialog is shown + override void onShow() { + super.onShow(); + _edFileName.selectAll(); + _edFileName.setFocus(); + } + + protected bool onEditorAction(const Action action) { + if (action.id == EditorActions.InsertNewLine) { + if (!validate()) + return false; + close(_buttonActions[0]); + return true; + } + return false; + } + StringListWidget _projectTemplateList; EditBox _templateDescription; DirEditLine _edLocation;