annotate ARClient/frmSettings.cs @ 0:90ea68d4f92f

First release
author Ivo Smits <Ivo@UCIS.nl>
date Sat, 08 Nov 2014 22:43:51 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
1 ???using System;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
2 using System.Collections.Generic;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
3 using System.IO;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
4 using System.Windows.Forms;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
5
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
6 namespace ARClient {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
7 partial class frmSettings : Form {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
8 public Form1 MainForm { get; set; }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
9 Boolean Loading = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
10 public frmSettings() {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
11 InitializeComponent();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
12 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
13
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
14 private void frmSettings_Load(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
15 Import();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
16 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
17 private void Import() {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
18 Loading = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
19 txtPublicKey.Text = MainForm.PublicKey.ToString();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
20 txtSecretKey.Text = Functions.bin2hex(MainForm.SecretKey.SecretKey);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
21 txtDatabase.Text = MainForm.Database;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
22 lstSyncPeers.Items.Clear();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
23 foreach (String peer in MainForm.Peers) lstSyncPeers.Items.Add(peer);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
24 foreach (MARCKey peer in MainForm.BlockedKeys) lstFilterKey.Items.Add(peer);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
25 chkFilterTypeAnonetDom.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.AnonetDomain);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
26 chkFilterTypeAnonetIPv4.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.AnonetIPv4);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
27 chkFilterTypeAnonetIPv6.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.AnonetIPv6);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
28 chkFilterTypeASN.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.ASNumber);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
29 chkFilterTypeInvalid.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.Invalid);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
30 chkFilterTypeOther.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.Other);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
31 chkFilterTypeOtherDom.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.OtherDomain);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
32 chkFilterTypeOtherIPv4.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.OtherIPv4);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
33 chkFilterTypeOtherIPv6.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.OtherIPv6);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
34 chkFilterTypeKey.Checked = 0 != (MainForm.FilterFlags & Form1.ResourceTypeFilter.Key);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
35 Loading = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
36 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
37
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
38 private void btnDatabaseReload_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
39 MainForm.reloadDatabaseToolStripMenuItem_Click(sender, e);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
40 Import();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
41 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
42 private void btnDatabaseSave_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
43 MainForm.saveDatabaseToolStripMenuItem_Click(sender, e);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
44 Import();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
45 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
46 private void btnDatabaseOpen_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
47 MainForm.openDatabaseToolStripMenuItem_Click(sender, e);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
48 Import();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
49 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
50 private void btnDatabaseSaveAs_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
51 MainForm.saveDatabaseAsToolStripMenuItem_Click(sender, e);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
52 Import();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
53 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
54 private void btnDatabaseCreate_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
55 MainForm.newDatabaseToolStripMenuItem_Click(sender, e);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
56 Import();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
57 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
58
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
59 private void btnPeerAdd_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
60 frmTextInput input = new frmTextInput();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
61 input.Text = "MARC - Synchronization peer";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
62 input.Description = "Enter the HTTP address of the peer, including the protocol (http/https):";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
63 input.Value = "http://";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
64 if (input.ShowDialog(this) == DialogResult.Cancel) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
65 MainForm.Peers.Add(input.Value);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
66 lstSyncPeers.Items.Add(input.Value);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
67 MainForm.DatabaseSaved = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
68 MainForm.UpdatePeersList();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
69 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
70 private void btnPeerDelete_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
71 if (lstSyncPeers.SelectedItem == null) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
72 if (MainForm.Peers.Remove(lstSyncPeers.SelectedItem.ToString())) lstSyncPeers.Items.Remove(lstSyncPeers.SelectedItem);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
73 MainForm.DatabaseSaved = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
74 MainForm.UpdatePeersList();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
75 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
76 private void btnPeerEdit_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
77 if (lstSyncPeers.SelectedItem == null) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
78 frmTextInput input = new frmTextInput();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
79 input.Text = "MARC - Synchronization peer";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
80 input.Description = "Enter the HTTP address of the peer, including the protocol (http/https):";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
81 input.Value = lstSyncPeers.SelectedItem.ToString();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
82 if (input.ShowDialog(this) == DialogResult.Cancel) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
83 if (MainForm.Peers.Remove(lstSyncPeers.SelectedItem.ToString())) lstSyncPeers.Items.Remove(lstSyncPeers.SelectedItem);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
84 MainForm.Peers.Add(input.Value);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
85 lstSyncPeers.Items.Add(input.Value);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
86 MainForm.DatabaseSaved = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
87 MainForm.UpdatePeersList();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
88 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
89
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
90 private void btnKeypairGenerate_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
91 MainForm.GenerateKeyPair();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
92 Import();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
93 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
94
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
95 private void btnFilterKeyDelete_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
96 if (lstFilterKey.SelectedItem == null) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
97 if (MainForm.BlockedKeys.Remove((MARCKey)lstFilterKey.SelectedItem)) lstFilterKey.Items.Remove(lstFilterKey.SelectedItem);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
98 MainForm.DatabaseSaved = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
99 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
100
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
101 private void chkFilterType_CheckedChanged(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
102 if (Loading) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
103 MainForm.FilterFlags =
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
104 (chkFilterTypeAnonetDom.Checked ? Form1.ResourceTypeFilter.AnonetDomain : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
105 (chkFilterTypeAnonetIPv4.Checked ? Form1.ResourceTypeFilter.AnonetIPv4 : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
106 (chkFilterTypeAnonetIPv6.Checked ? Form1.ResourceTypeFilter.AnonetIPv6 : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
107 (chkFilterTypeASN.Checked ? Form1.ResourceTypeFilter.ASNumber : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
108 (chkFilterTypeInvalid.Checked ? Form1.ResourceTypeFilter.Invalid : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
109 (chkFilterTypeOther.Checked ? Form1.ResourceTypeFilter.Other : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
110 (chkFilterTypeOtherDom.Checked ? Form1.ResourceTypeFilter.OtherDomain : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
111 (chkFilterTypeOtherIPv4.Checked ? Form1.ResourceTypeFilter.OtherIPv4 : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
112 (chkFilterTypeOtherIPv6.Checked ? Form1.ResourceTypeFilter.OtherIPv6 : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
113 (chkFilterTypeKey.Checked ? Form1.ResourceTypeFilter.Key : 0) |
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
114 0;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
115 MainForm.DatabaseSaved = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
116 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
117
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
118 private void btnKeypairExport_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
119 SaveFileDialog dialog = new SaveFileDialog();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
120 dialog.OverwritePrompt = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
121 dialog.Title = "MARC - Save key pair";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
122 dialog.AddExtension = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
123 dialog.CheckPathExists = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
124 dialog.DefaultExt = "mkp";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
125 dialog.DereferenceLinks = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
126 dialog.Filter = "Keypair files (*.mkp)|*.mkp|All files (*.*)|*.*";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
127 dialog.InitialDirectory = MainForm.Database == null ? Environment.CurrentDirectory : Path.GetDirectoryName(MainForm.Database);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
128 dialog.SupportMultiDottedExtensions = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
129 dialog.ValidateNames = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
130 if (dialog.ShowDialog(this) != DialogResult.OK) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
131 using (Stream stream = dialog.OpenFile()) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
132 stream.SetLength(0);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
133 stream.Write(MainForm.SecretKey.ExpandedKey, 0, 64);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
134 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
135 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
136
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
137 private void btnKeypairImport_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
138 OpenFileDialog dialog = new OpenFileDialog();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
139 dialog.CheckFileExists = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
140 dialog.Title = "MARC - Load key pair";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
141 dialog.AddExtension = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
142 dialog.CheckPathExists = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
143 dialog.DefaultExt = "mkp";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
144 dialog.DereferenceLinks = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
145 dialog.Filter = "Keypair files (*.mkp)|*.mkp|All files (*.*)|*.*";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
146 dialog.InitialDirectory = MainForm.Database == null ? Environment.CurrentDirectory : Path.GetDirectoryName(MainForm.Database);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
147 dialog.SupportMultiDottedExtensions = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
148 dialog.ValidateNames = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
149 if (dialog.ShowDialog(this) != DialogResult.OK) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
150 if (DialogResult.Yes != MessageBox.Show(this, "Importing a new key pair will erase your old key pair from the local database. If you lose your key you will no longer be able to update your resource claims. Please make sure that you either have a backup of your key, or have no claims! Do you want to continue?", "MARC - Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
151 return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
152 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
153 if (DialogResult.Yes != MessageBox.Show(this, "Are you really sure you want to overwrite your key? There is no way back! Did you make a backup?", "MARC - Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
154 return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
155 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
156 using (Stream stream = dialog.OpenFile()) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
157 Byte[] sk = new Byte[32];
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
158 if (stream.Read(sk, 0, sk.Length) != sk.Length) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
159 MainForm.SecretKey = new UCIS.NaCl.v2.ed25519keypair(sk);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
160 MainForm.PublicKey = new MARCKey(MainForm.SecretKey.PublicKey);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
161 MainForm.DatabaseSaved = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
162 Import();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
163 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
164 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
165
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
166 private void frmSettings_FormClosed(object sender, FormClosedEventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
167 MainForm.RefreshResourceList();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
168 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
169
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
170 private void btnKeypairInput_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
171 frmTextInput form = new frmTextInput();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
172 form.Text = "MARC - Key pair input";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
173 form.Description = "Input your new secret key:";
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
174 form.Value = Functions.bin2hex(MainForm.SecretKey.SecretKey);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
175 if (form.ShowDialog(this) != DialogResult.OK) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
176 Byte[] sk = Functions.hex2bin(form.Value);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
177 if (sk.Length != 32 && sk.Length != 64) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
178 if (DialogResult.Yes != MessageBox.Show(this, "Importing a new key pair will erase your old key pair from the local database. If you lose your key you will no longer be able to update your resource claims. Please make sure that you either have a backup of your key, or have no claims! Do you want to continue?", "MARC - Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
179 return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
180 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
181 if (DialogResult.Yes != MessageBox.Show(this, "Are you really sure you want to overwrite your key? There is no way back! Did you make a backup?", "MARC - Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
182 return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
183 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
184 MainForm.SecretKey = new UCIS.NaCl.v2.ed25519keypair(sk);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
185 MainForm.PublicKey = new MARCKey(MainForm.SecretKey.PublicKey);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
186 MainForm.DatabaseSaved = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
187 Import();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
188 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
189
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
190 private void btnFilterDeleteAllFiltered_Click(object sender, EventArgs e) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
191 List<MARCUpdate> ToDelete = new List<MARCUpdate>();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
192 foreach (MARCUpdate update in MainForm.Resources.Values) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
193 if (MainForm.IsResourceFiltered(update)) ToDelete.Add(update);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
194 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
195 if (ToDelete.Count == 0) return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
196 if (DialogResult.Yes != MessageBox.Show(this, "Are you really sure you want to delete " + ToDelete.Count.ToString() + " filtred resources?", "MARC - Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
197 return;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
198 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
199 MainForm.lstResources.BeginUpdate();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
200 MainForm.lstResources.Sorted = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
201 foreach (MARCUpdate item in ToDelete) {
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
202 MainForm.Resources.Remove(item.Label);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
203 MainForm.ResourceHasChanged(null, item);
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
204 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
205 MainForm.lstResources.Sorted = true;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
206 MainForm.lstResources.EndUpdate();
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
207 MainForm.DatabaseSaved = false;
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
208 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
209 }
90ea68d4f92f First release
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
210 }