diff --git a/WeeXnes/Core/Global.cs b/WeeXnes/Core/Global.cs
index f234d4d..e54d8c9 100644
--- a/WeeXnes/Core/Global.cs
+++ b/WeeXnes/Core/Global.cs
@@ -8,7 +8,7 @@ namespace WeeXnes.Core
{
public class Information
{
- public const string Version = "4.2.8";
+ public const string Version = "4.3.0";
public const string EncryptionHash = "8zf5#RdyQ]$4x4_";
public const string ApiUrl = "https://api.github.com/repos/weexnes/weexnessuite/releases/latest";
}
diff --git a/WeeXnes/Views/KeyManager/KeyItem.cs b/WeeXnes/Views/KeyManager/KeyItem.cs
index 88c3f9b..d699424 100644
--- a/WeeXnes/Views/KeyManager/KeyItem.cs
+++ b/WeeXnes/Views/KeyManager/KeyItem.cs
@@ -1,4 +1,11 @@
using System;
+using System.Windows.Shapes;
+using WeeXnes.Core;
+using System.IO;
+using System.Net;
+using Wpf.Ui.Controls;
+using Microsoft.Win32;
+using Path = System.Windows.Shapes.Path;
namespace WeeXnes.Views.KeyManager
{
@@ -18,5 +25,47 @@ namespace WeeXnes.Views.KeyManager
{
return this.Name;
}
+
+
+ public void Export()
+ {
+ string filePath = Global.AppDataPathKEY.Value + "\\" + this.Filename;
+ Console.WriteLine(filePath);
+
+ SaveFileDialog dialog = new SaveFileDialog()
+ {
+ Filter = "WXFiles (*.wx)|*.wx",
+ Title = "Export KeyFile"
+ };
+ if (dialog.ShowDialog() == true)
+ {
+ File.Copy(filePath, dialog.FileName, true);
+ Console.WriteLine("Exported to: " + dialog.FileName);
+ }
+ }
+
+ public static void Import()
+ {
+ OpenFileDialog dialog = new OpenFileDialog()
+ {
+ Filter = "WXFiles (*.wx)|*.wx"
+ };
+ if (dialog.ShowDialog() == true)
+ {
+ WXFile wxFile = new WXFile(dialog.FileName);
+ KeyItem newItem = new KeyItem(
+ wxFile.GetName(),
+ EncryptionLib.EncryptorLibary.decrypt(
+ Information.EncryptionHash,
+ wxFile.GetValue()
+ )
+ );
+ newItem.Filename = System.IO.Path.GetFileName(dialog.FileName);
+ WXFile newWxFile = new WXFile(Global.AppDataPathKEY.Value + "\\" + newItem.Filename);
+ WXFile.Methods.WriteFile(newItem, newWxFile);
+ KeyManagerView.Data.KeyItemsList.Add(newItem);
+ Console.WriteLine("Imported: " + dialog.FileName);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/WeeXnes/Views/KeyManager/KeyManagerView.xaml b/WeeXnes/Views/KeyManager/KeyManagerView.xaml
index 49c56eb..a0f8916 100644
--- a/WeeXnes/Views/KeyManager/KeyManagerView.xaml
+++ b/WeeXnes/Views/KeyManager/KeyManagerView.xaml
@@ -21,7 +21,13 @@
+ Click="ContextMenu_Remove"/>
+
+
diff --git a/WeeXnes/Views/KeyManager/KeyManagerView.xaml.cs b/WeeXnes/Views/KeyManager/KeyManagerView.xaml.cs
index 8f0747e..6e9bb7e 100644
--- a/WeeXnes/Views/KeyManager/KeyManagerView.xaml.cs
+++ b/WeeXnes/Views/KeyManager/KeyManagerView.xaml.cs
@@ -34,6 +34,7 @@ namespace WeeXnes.Views.KeyManager
if(String.IsNullOrEmpty(tb_keyvalue.Text))
return;
+
try
{
KeyItem newKey = new KeyItem(
@@ -43,12 +44,13 @@ namespace WeeXnes.Views.KeyManager
WXFile wxFile = new WXFile(
Global.AppDataPathKEY.Value + "\\" + newKey.Filename);
WXFile.Methods.WriteFile(newKey, wxFile);
- Data.KeyItemsList.Add(newKey);
+ KeyManagerView.Data.KeyItemsList.Add(newKey);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
+
ClearInputs();
}
@@ -74,10 +76,19 @@ namespace WeeXnes.Views.KeyManager
}
}
- private void MenuItem_OnClick(object sender, RoutedEventArgs e)
+ private void ContextMenu_Remove(object sender, RoutedEventArgs e)
{
DeleteItem((KeyItem)ListviewKeys.SelectedItem);
}
+ private void ContextMenu_Import(object sender, RoutedEventArgs e)
+ {
+ KeyItem.Import();
+ }
+ private void ContextMenu_Export(object sender, RoutedEventArgs e)
+ {
+ var item = (KeyItem)ListviewKeys.SelectedItem;
+ item.Export();
+ }
private void KeyValue_OnLoaded(object sender, RoutedEventArgs e)
{
diff --git a/WeeXnes/WeeXnes.csproj b/WeeXnes/WeeXnes.csproj
index 03f7514..6f6b99c 100644
--- a/WeeXnes/WeeXnes.csproj
+++ b/WeeXnes/WeeXnes.csproj
@@ -4,7 +4,7 @@
Debug
AnyCPU
- 4.2.8
+ 4.3.0
{4B33CEE7-C74D-43B9-B99A-8B273D5195BC}
WinExe
WeeXnes