Skip to content
This repository was archived by the owner on Sep 11, 2023. It is now read-only.

Commit b32753d

Browse files
New 'New' functionality + 'New From Template'.
1 parent 848d471 commit b32753d

File tree

7 files changed

+34
-5
lines changed

7 files changed

+34
-5
lines changed

Interop/TranslationProvider.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ private void FillToEnglishDefaults()
140140
language.Add("Done", "Done");
141141
language.Add("FileStr", "File");
142142
language.Add("New", "New");
143+
language.Add("NewFromTemplate", "New From Template");
143144
language.Add("Open", "Open");
144145
language.Add("Save", "Save");
145146
language.Add("SaveAll", "Save all");

Resources/lang_0_spcode_entryTemplate.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
<done>done</done>
4646
<file>File</file>
4747
<new>New</new>
48+
<newfromtemplate>New From Template</newfromtemplate>
4849
<open>Open</open>
4950
<save>Save</save>
5051
<saveall>Save all</saveall>

UI/MainWindow.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
<Menu>
5656
<MenuItem Name="MenuI_File" Header="File" SubmenuOpened="FileMenu_Open">
5757
<MenuItem Name="MenuI_New" Header="New" Click="Menu_New" InputGestureText="Ctrl+N" />
58+
<MenuItem Name="MenuI_NewFromTemplate" Header="New From Template" Click="Menu_NewFromTemplate" InputGestureText="Ctrl+Shift+N" />
5859
<MenuItem Name="MenuI_Open" Header="Open" Click="Menu_Open" InputGestureText="Ctrl+O" />
5960
<Separator />
6061
<MenuItem Name="MenuI_Save" Header="Save" Click="Menu_Save" InputGestureText="Ctrl+S" />

UI/MainWindowCommands.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,20 @@ public EditorElement[] GetAllEditorElements()
4444
}
4545

4646
private void Command_New()
47+
{
48+
string newFilePath;
49+
int newFileNum = 0;
50+
do
51+
{
52+
newFilePath = Path.Combine(Program.Configs[Program.SelectedConfig].SMDirectories[0], $"new {++newFileNum}.sp");
53+
} while (File.Exists(newFilePath));
54+
55+
File.Create(newFilePath).Close();
56+
57+
AddEditorElement(newFilePath, $"new {newFileNum}.sp", true);
58+
}
59+
60+
private void Command_NewFromTemplate()
4761
{
4862
var nfWindow = new NewFileWindow { Owner = this, ShowInTaskbar = false };
4963
nfWindow.ShowDialog();

UI/MainWindowInputHandler.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ private void MainWindowEvent_KeyDown(object sender, KeyEventArgs e)
3838
{
3939
switch (e.Key)
4040
{
41+
case Key.N:
42+
{
43+
Command_NewFromTemplate();
44+
e.Handled = true;
45+
break;
46+
}
4147
case Key.S:
4248
{
4349
Command_SaveAll();

UI/MainWindowMenuHandler.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,23 @@ private void FileMenu_Open(object sender, RoutedEventArgs e)
2222
}
2323

2424
var EditorIsSelected = GetCurrentEditorElement() != null;
25-
((MenuItem)((MenuItem)sender).Items[3]).IsEnabled = EditorIsSelected;
26-
((MenuItem)((MenuItem)sender).Items[5]).IsEnabled = EditorIsSelected;
27-
((MenuItem)((MenuItem)sender).Items[7]).IsEnabled = EditorIsSelected;
28-
((MenuItem)((MenuItem)sender).Items[4]).IsEnabled = EditorsAreOpen;
29-
((MenuItem)((MenuItem)sender).Items[8]).IsEnabled = EditorsAreOpen;
25+
((MenuItem)((MenuItem)sender).Items[4]).IsEnabled = EditorIsSelected;
26+
((MenuItem)((MenuItem)sender).Items[6]).IsEnabled = EditorIsSelected;
27+
((MenuItem)((MenuItem)sender).Items[8]).IsEnabled = EditorIsSelected;
28+
((MenuItem)((MenuItem)sender).Items[5]).IsEnabled = EditorsAreOpen;
29+
((MenuItem)((MenuItem)sender).Items[9]).IsEnabled = EditorsAreOpen;
3030
}
3131

3232
private void Menu_New(object sender, RoutedEventArgs e)
3333
{
3434
Command_New();
3535
}
3636

37+
private void Menu_NewFromTemplate(object sender, RoutedEventArgs e)
38+
{
39+
Command_NewFromTemplate();
40+
}
41+
3742
private void Menu_Open(object sender, RoutedEventArgs e)
3843
{
3944
Command_Open();

UI/MainWindowTranslations.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public void Language_Translate(bool Initial = false)
2929
}
3030
MenuI_File.Header = Program.Translations.GetLanguage("FileStr");
3131
MenuI_New.Header = Program.Translations.GetLanguage("New");
32+
MenuI_NewFromTemplate.Header = Program.Translations.GetLanguage("NewFromTemplate");
3233
MenuI_Open.Header = Program.Translations.GetLanguage("Open");
3334
MenuI_Save.Header = Program.Translations.GetLanguage("Save");
3435
MenuI_SaveAll.Header = Program.Translations.GetLanguage("SaveAll");

0 commit comments

Comments
 (0)