(WidgetDPK): update key fields in code-behind.

This commit is contained in:
morkt
2015-06-02 16:56:32 +04:00
parent 60f853835e
commit 315aa97e88
5 changed files with 42 additions and 23 deletions

View File

@@ -1,4 +1,6 @@
using System.Windows.Controls;
using GameRes.Formats.Dac;
using GameRes.Formats.Properties;
namespace GameRes.Formats.GUI
{
@@ -10,8 +12,28 @@ namespace GameRes.Formats.GUI
public WidgetDPK ()
{
InitializeComponent ();
if (null == EncScheme.SelectedItem)
EncScheme.SelectedIndex = 0;
var last_scheme = EncScheme.SelectedItem as DpkScheme;
if (null == last_scheme)
last_scheme = DpkOpener.KnownSchemes[0];
uint key1 = Settings.Default.DPKKey1;
uint key2 = Settings.Default.DPKKey2;
if (last_scheme.Key1 != key1 || last_scheme.Key2 != key2)
EncScheme.SelectedIndex = -1;
Key1.Text = key1.ToString ("X");
Key2.Text = key2.ToString ("X8");
EncScheme.SelectionChanged += OnSchemeChanged;
}
void OnSchemeChanged (object sender, SelectionChangedEventArgs e)
{
var widget = sender as ComboBox;
var scheme = widget.SelectedItem as DpkScheme;
if (null != scheme)
{
Key1.Text = scheme.Key1.ToString ("X");
Key2.Text = scheme.Key2.ToString ("X8");
}
}
}
}