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

Commit 15284ec

Browse files
authored
Merge pull request #76 from Hexer10/#52_Obj_Browser_Fix
#52 obj browser fix
2 parents cc6cbe1 + ca308a4 commit 15284ec

File tree

6 files changed

+45
-68
lines changed

6 files changed

+45
-68
lines changed

Interop/TranslationProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ private void FillToEnglishDefaults()
249249
language.Add("ComPluginsUnload", "Unloads all compiled plugins");
250250
language.Add("NewConfig", "New config");
251251
language.Add("CannotDelConf", "Cannot delete config");
252-
language.Add("YCannotDelConf", "You cannot delete this config.");
252+
language.Add("YCannotDelConf", "You cannot delete the default config.");
253253
language.Add("SelectExe", "Select executable");
254254
language.Add("CMDLineCom", "Commandline variables");
255255
language.Add("RConCMDLineCom", "Rcon commandline variables");

UI/MainWindow.xaml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,8 @@
224224
</dock:LayoutRoot>
225225
</dock:DockingManager>
226226
<GridSplitter Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="5" Background="{DynamicResource GrayBrush5}" />
227-
<TreeView Grid.Column="1" Name="ObjectBrowser" TreeViewItem.Expanded="TreeViewOBItem_Expanded" Margin="0,28,0,20" />
228-
<TextBlock Grid.Column="1" Name="ObjectBrowserDirBlock" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="2,2,0,2" IsHitTestVisible="False" />
227+
<TreeView Grid.Column="1" Name="ObjectBrowser" TreeViewItem.Expanded="TreeViewOBItem_Expanded" Margin="0,28,0,26" />
228+
<ComboBox Grid.Column="1" x:Name="ObjectBrowserDirList" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="0" Height="5" BorderThickness="0" SelectionChanged="ObjectBrowserDirList_SelectionChanged"/>
229229
<ListView Grid.Column="1" Name="ObjectBrowserButtonHolder" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="0" Height="28" ScrollViewer.HorizontalScrollBarVisibility="Hidden" BorderThickness="0" SelectionMode="Single">
230230
<ListView.ItemsPanel>
231231
<ItemsPanelTemplate>
@@ -234,22 +234,16 @@
234234
</ListView.ItemsPanel>
235235
<ListViewItem Selected="ListViewOBItem_SelectFile">
236236
<StackPanel Orientation="Horizontal">
237-
<TextBlock Name="OBItemText_File" Text="File Dir." />
237+
<TextBlock Name="OBItemText_File" Text="File Directory" />
238238
<Image Source="/SPCode;component/Resources/iconmonstr-code-fork-1-20.png" Width="20" Height="20" />
239239
</StackPanel>
240240
</ListViewItem>
241241
<ListViewItem Selected="ListViewOBItem_SelectConfig">
242242
<StackPanel Orientation="Horizontal">
243-
<TextBlock Name="OBItemText_Config" Text="Config Dir." />
243+
<TextBlock Name="OBItemText_Config" Text="Config Directory" />
244244
<Image Source="/SPCode;component/Resources/iconmonstr-code-fork-2-20.png" Width="20" Height="20" />
245245
</StackPanel>
246246
</ListViewItem>
247-
<ListViewItem Selected="ListViewOBItem_SelectOBItem">
248-
<StackPanel Orientation="Horizontal">
249-
<TextBlock Name="OBItemText_Item" Text="Item Dir." />
250-
<Image Source="/SPCode;component/Resources/iconmonstr-code-fork-4-20.png" Width="20" Height="20" />
251-
</StackPanel>
252-
</ListViewItem>
253247
</ListView>
254248
</Grid>
255249
<GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Top" Height="5" Background="{DynamicResource GrayBrush5}" />

UI/MainWindow.xaml.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ public MainWindow(SplashScreen sc)
7878
Win_ToolBar.Height = double.NaN;
7979
}
8080

81+
ObjectBrowserDirList.ItemsSource = Program.Configs[Program.SelectedConfig].SMDirectories;
82+
ObjectBrowserDirList.SelectedIndex = 0;
83+
8184
MetroDialogOptions.AnimateHide = MetroDialogOptions.AnimateShow = false;
8285
BlendOverEffect = (Storyboard)Resources["BlendOverEffect"];
8386
FadeFindReplaceGridIn = (Storyboard)Resources["FadeFindReplaceGridIn"];
@@ -191,7 +194,8 @@ public bool TryLoadSourceFile(string filePath, bool UseBlendoverEffect = true, b
191194
{
192195
BlendOverEffect.Begin();
193196
}
194-
197+
ChangeObjectBrowserToDirectory(fileInfo.DirectoryName);
198+
ObjectBrowserButtonHolder.SelectedIndex = 0;
195199
return true;
196200
}
197201

UI/MainWindowConfigHandler.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ public void ChangeConfig(int index)
6363
editor.InvalidateVisual();
6464
}
6565
}
66+
ObjectBrowserDirList.ItemsSource = Program.Configs[index].SMDirectories;
67+
ObjectBrowserDirList.Items.Refresh();
68+
ObjectBrowserDirList.SelectedIndex = 0;
6669
}
6770

6871
private void ChangeConfig(string name)

UI/MainWindowObjectBrowser.cs

Lines changed: 32 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ namespace SPCode.UI
1212
public partial class MainWindow
1313
{
1414
private string CurrentObjectBrowserDirectory = string.Empty;
15+
1516
private void TreeViewOBItem_Expanded(object sender, RoutedEventArgs e)
1617
{
1718
var source = e.Source;
18-
if (!(source is TreeViewItem))
19+
if (source is not TreeViewItem)
1920
{
2021
return;
2122
}
@@ -55,73 +56,45 @@ private void TreeViewOBItemParentDir_DoubleClicked(object sender, RoutedEventArg
5556

5657
private void TreeViewOBItemFile_DoubleClicked(object sender, RoutedEventArgs e)
5758
{
58-
if (sender is TreeViewItem item)
59+
if (sender is not TreeViewItem item)
5960
{
60-
var itemInfo = (ObjectBrowserTag)item.Tag;
61-
if (itemInfo.Kind == ObjectBrowserItemKind.File)
62-
{
63-
TryLoadSourceFile(itemInfo.Value, true, false, true);
64-
}
61+
return;
62+
}
63+
var itemInfo = (ObjectBrowserTag)item.Tag;
64+
if (itemInfo.Kind == ObjectBrowserItemKind.File)
65+
{
66+
TryLoadSourceFile(itemInfo.Value, true, false, true);
6567
}
6668
}
6769

6870
private void ListViewOBItem_SelectFile(object sender, RoutedEventArgs e)
6971
{
70-
if (sender is ListViewItem item)
72+
if (sender is not ListViewItem item)
7173
{
72-
var ee = GetCurrentEditorElement();
73-
if (ee != null)
74-
{
75-
var fInfo = new FileInfo(ee.FullFilePath);
76-
ChangeObjectBrowserToDirectory(fInfo.DirectoryName);
77-
}
78-
item.IsSelected = false;
79-
ObjectBrowserButtonHolder.SelectedIndex = -1;
74+
return;
75+
}
76+
var ee = GetCurrentEditorElement();
77+
if (ee != null)
78+
{
79+
var fInfo = new FileInfo(ee.FullFilePath);
80+
ChangeObjectBrowserToDirectory(fInfo.DirectoryName);
8081
}
82+
item.IsSelected = true;
83+
ObjectBrowserButtonHolder.SelectedIndex = -1;
8184
}
8285
private void ListViewOBItem_SelectConfig(object sender, RoutedEventArgs e)
8386
{
84-
if (sender is ListViewItem item)
87+
if (sender is not ListViewItem item)
8588
{
86-
var cc = Program.Configs[Program.SelectedConfig];
87-
if (cc.SMDirectories.Count > 0)
88-
{
89-
ChangeObjectBrowserToDirectory(cc.SMDirectories[0]);
90-
}
91-
item.IsSelected = false;
92-
ObjectBrowserButtonHolder.SelectedIndex = -1;
89+
return;
9390
}
94-
}
95-
private void ListViewOBItem_SelectOBItem(object sender, RoutedEventArgs e)
96-
{
97-
if (sender is ListViewItem viewItem)
91+
var cc = Program.Configs[Program.SelectedConfig];
92+
if (cc.SMDirectories.Count > 0)
9893
{
99-
var objectBrowserSelectedItem = ObjectBrowser.SelectedItem;
100-
if (objectBrowserSelectedItem is TreeViewItem item)
101-
{
102-
var itemInfo = (ObjectBrowserTag)item.Tag;
103-
if (itemInfo.Kind == ObjectBrowserItemKind.Directory)
104-
{
105-
ChangeObjectBrowserToDirectory(itemInfo.Value);
106-
}
107-
else if (itemInfo.Kind == ObjectBrowserItemKind.ParentDirectory)
108-
{
109-
var currentInfo = new DirectoryInfo(CurrentObjectBrowserDirectory);
110-
var parentInfo = currentInfo.Parent;
111-
if (parentInfo != null)
112-
{
113-
if (parentInfo.Exists)
114-
{
115-
ChangeObjectBrowserToDirectory(parentInfo.FullName);
116-
return;
117-
}
118-
}
119-
ChangeObjectBrowserToDrives();
120-
}
121-
}
122-
viewItem.IsSelected = false;
123-
ObjectBrowserButtonHolder.SelectedIndex = -1;
94+
ChangeObjectBrowserToDirectory(cc.SMDirectories[0]);
12495
}
96+
item.IsSelected = true;
97+
ObjectBrowserButtonHolder.SelectedIndex = -1;
12598
}
12699

127100
private void ChangeObjectBrowserToDirectory(string dir)
@@ -157,7 +130,6 @@ private void ChangeObjectBrowserToDirectory(string dir)
157130
Debug.Assert(Dispatcher != null, nameof(Dispatcher) + " != null");
158131
using (Dispatcher.DisableProcessing())
159132
{
160-
ObjectBrowserDirBlock.Text = dir;
161133
ObjectBrowser.Items.Clear();
162134
var parentDirItem = new TreeViewItem()
163135
{
@@ -181,7 +153,6 @@ private void ChangeObjectBrowserToDrives()
181153
Debug.Assert(Dispatcher != null, nameof(Dispatcher) + " != null");
182154
using (Dispatcher.DisableProcessing())
183155
{
184-
ObjectBrowserDirBlock.Text = string.Empty;
185156
ObjectBrowser.Items.Clear();
186157
foreach (var dInfo in drives)
187158
{
@@ -199,6 +170,12 @@ private void ChangeObjectBrowserToDrives()
199170
}
200171
}
201172

173+
private void ObjectBrowserDirList_SelectionChanged(object sender, SelectionChangedEventArgs e)
174+
{
175+
ChangeObjectBrowserToDirectory((string)ObjectBrowserDirList.SelectedItem);
176+
ObjectBrowserButtonHolder.SelectedIndex = 1;
177+
}
178+
202179
private List<TreeViewItem> BuildDirectoryItems(string dir)
203180
{
204181
var itemList = new List<TreeViewItem>();

UI/MainWindowTranslations.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ public void Language_Translate(bool Initial = false)
9393

9494
OBItemText_File.Text = Program.Translations.GetLanguage("OBTextFile");
9595
OBItemText_Config.Text = Program.Translations.GetLanguage("OBTextConfig");
96-
OBItemText_Item.Text = Program.Translations.GetLanguage("OBTextItem");
9796
}
9897
}
9998
}

0 commit comments

Comments
 (0)