diff --git a/AutoComplete.cs b/AutoComplete.cs
new file mode 100644
index 00000000..f6ec0af5
--- /dev/null
+++ b/AutoComplete.cs
@@ -0,0 +1,94 @@
+//! \file AutoComplete.cs
+//! \date Tue Aug 04 20:41:22 2015
+//! \brief TextBox that uses filesystem as source for autocomplete.
+//
+// Copyright (C) 2014-2015 by morkt
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+
+namespace GARbro.GUI
+{
+ ///
+ /// TextBox that uses filesystem as source for autocomplete.
+ ///
+ public class ExtAutoCompleteBox : AutoCompleteBox
+ {
+ public delegate void EnterKeyDownEvent (object sender, KeyEventArgs e);
+ public event EnterKeyDownEvent EnterKeyDown;
+
+ public ExtAutoCompleteBox ()
+ {
+ this.GotFocus += (s, e) => { IsTextBoxFocused = true; };
+ this.LostFocus += (s, e) => { IsTextBoxFocused = false; };
+ }
+
+ public bool IsTextBoxFocused
+ {
+ get { return (bool)GetValue (HasFocusProperty); }
+ private set { SetValue (HasFocusProperty, value); }
+ }
+
+ public static readonly DependencyProperty HasFocusProperty =
+ DependencyProperty.RegisterAttached ("IsTextBoxFocused", typeof(bool), typeof(ExtAutoCompleteBox), new UIPropertyMetadata());
+
+ protected override void OnKeyDown (KeyEventArgs e)
+ {
+ base.OnKeyDown (e);
+ if (e.Key == Key.Enter)
+ RaiseEnterKeyDownEvent (e);
+ }
+
+ private void RaiseEnterKeyDownEvent (KeyEventArgs e)
+ {
+ if (EnterKeyDown != null)
+ EnterKeyDown (this, e);
+ }
+
+ protected override void OnPopulating (PopulatingEventArgs e)
+ {
+ try
+ {
+ var candidates = new List();
+ string dirname = Path.GetDirectoryName (this.Text);
+ if (!string.IsNullOrEmpty (dirname) && Directory.Exists (dirname))
+ {
+ foreach (var dir in Directory.GetDirectories (dirname))
+ {
+ if (dir.StartsWith (dirname, StringComparison.CurrentCultureIgnoreCase))
+ candidates.Add (dir);
+ }
+ }
+ this.ItemsSource = candidates;
+ }
+ catch
+ {
+ // ignore filesystem errors
+ }
+ base.OnPopulating (e);
+ }
+ }
+}
diff --git a/GARbro.GUI.csproj b/GARbro.GUI.csproj
index 4ace66b7..7a27ffd4 100644
--- a/GARbro.GUI.csproj
+++ b/GARbro.GUI.csproj
@@ -126,6 +126,7 @@
ArcParameters.xaml
+
ConvertMedia.xaml
diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs
index a66fd381..f64cd455 100644
--- a/MainWindow.xaml.cs
+++ b/MainWindow.xaml.cs
@@ -24,28 +24,25 @@
using System;
using System.IO;
using System.Collections.Generic;
+using System.Collections.Specialized;
using System.ComponentModel;
+using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Text;
-using System.Diagnostics;
+using System.Text.RegularExpressions;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
-using System.Windows.Media;
using System.Windows.Threading;
-using System.Threading;
using Microsoft.VisualBasic.FileIO;
using GARbro.GUI.Properties;
using GARbro.GUI.Strings;
using GameRes;
using Rnd.Windows;
-using System.Collections.Specialized;
-using System.Collections.ObjectModel;
using Microsoft.Win32;
using NAudio.Wave;
-using System.Text.RegularExpressions;
namespace GARbro.GUI
{
@@ -1250,66 +1247,6 @@ namespace GARbro.GUI
}
}
- ///
- /// TextBox that uses filesystem as source for autocomplete.
- ///
- public class ExtAutoCompleteBox : AutoCompleteBox
- {
- public delegate void EnterKeyDownEvent (object sender, KeyEventArgs e);
- public event EnterKeyDownEvent EnterKeyDown;
-
- public ExtAutoCompleteBox ()
- {
- this.GotFocus += (s, e) => { IsTextBoxFocused = true; };
- this.LostFocus += (s, e) => { IsTextBoxFocused = false; };
- }
-
- public bool IsTextBoxFocused
- {
- get { return (bool)GetValue (HasFocusProperty); }
- private set { SetValue (HasFocusProperty, value); }
- }
-
- public static readonly DependencyProperty HasFocusProperty =
- DependencyProperty.RegisterAttached ("IsTextBoxFocused", typeof(bool), typeof(ExtAutoCompleteBox), new UIPropertyMetadata());
-
- protected override void OnKeyDown (KeyEventArgs e)
- {
- base.OnKeyDown (e);
- if (e.Key == Key.Enter)
- RaiseEnterKeyDownEvent (e);
- }
-
- private void RaiseEnterKeyDownEvent (KeyEventArgs e)
- {
- if (EnterKeyDown != null)
- EnterKeyDown (this, e);
- }
-
- protected override void OnPopulating (PopulatingEventArgs e)
- {
- var candidates = new List();
- try
- {
- string dirname = Path.GetDirectoryName (this.Text);
- if (!string.IsNullOrEmpty (dirname) && Directory.Exists (dirname))
- {
- foreach (var dir in Directory.GetDirectories (dirname))
- {
- if (dir.StartsWith (dirname, StringComparison.CurrentCultureIgnoreCase))
- candidates.Add (dir);
- }
- }
- this.ItemsSource = candidates;
- }
- catch
- {
- // ignore filesystem errors
- }
- base.OnPopulating (e);
- }
- }
-
public class SortModeToBooleanConverter : IValueConverter
{
public object Convert (object value, Type targetType, object parameter, CultureInfo culture)
diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs
index 40dbbe5c..6b7ce57a 100644
--- a/Properties/AssemblyInfo.cs
+++ b/Properties/AssemblyInfo.cs
@@ -51,5 +51,5 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion ("1.1.4.22")]
-[assembly: AssemblyFileVersion ("1.1.4.22")]
+[assembly: AssemblyVersion ("1.1.4.23")]
+[assembly: AssemblyFileVersion ("1.1.4.23")]