Created a properties form, testing dynamic UI building for the relevant MKV attributes.
This commit is contained in:
+41
-23
@@ -135,7 +135,7 @@ namespace MKVTest
|
||||
Text = @"Track:s" + subtitleTrackNumber + @" Language: " + fileTrack.Language,
|
||||
Parent = flowLayoutPanel1
|
||||
};
|
||||
audioTrackNumber++;
|
||||
subtitleTrackNumber++;
|
||||
if (flowLayoutPanel1.Container != null)
|
||||
{
|
||||
flowLayoutPanel1.Container.Add(nameLabel);
|
||||
@@ -232,10 +232,6 @@ namespace MKVTest
|
||||
FileName = "cmd.exe",
|
||||
Arguments = command
|
||||
};
|
||||
if (!CheckFiles())
|
||||
{
|
||||
MessageBox.Show(@"The two required files, mkvpropedit.exe and mkvinfo.exe are missing from this program's startup folder. These files are required to edit MKV files.", @"Missing Required Files");
|
||||
}
|
||||
process.StartInfo = startInfo;
|
||||
process.Start();
|
||||
while (!process.HasExited)
|
||||
@@ -266,47 +262,69 @@ namespace MKVTest
|
||||
ListFiles(d.SelectedPath);
|
||||
}
|
||||
|
||||
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Application.Exit();
|
||||
}
|
||||
private void exitToolStripMenuItem_Click(object sender, EventArgs e) => Application.Exit();
|
||||
|
||||
public static bool CheckFiles()
|
||||
{
|
||||
return File.Exists("mkvpropedit.exe") && File.Exists("mkvinfo.exe");
|
||||
}
|
||||
|
||||
private void ReadXml()
|
||||
private void ReadXml(string s)
|
||||
{
|
||||
var xReader = new XmlTextReader(File.OpenRead("Test.info"));
|
||||
var xReader = new XmlTextReader(new StringReader(s));
|
||||
var r = new StringBuilder();
|
||||
ClearForm();
|
||||
//var readingTrack = false;
|
||||
var tags = new List<XmlTag>();
|
||||
while (xReader.Read())
|
||||
{
|
||||
switch (xReader.NodeType)
|
||||
{
|
||||
case XmlNodeType.Element:
|
||||
//if (xReader.Name == "ATrack")
|
||||
//{
|
||||
inputFilesListView.Items.Add(xReader.Name + ": " + xReader.Value);
|
||||
//}
|
||||
|
||||
//inputFilesListView.Items.Add(xReader.Name + ": " + xReader.Value);
|
||||
var t = new XmlTag
|
||||
{
|
||||
Name = xReader.Name
|
||||
};
|
||||
tags.Add(t);
|
||||
break;
|
||||
case XmlNodeType.Text:
|
||||
inputFilesListView.Items.Add(xReader.Value);
|
||||
//inputFilesListView.Items.Add(xReader.Value);
|
||||
tags[tags.Count - 1].Value = xReader.Value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//MessageBox.Show(r.ToString());
|
||||
|
||||
foreach (var tag in tags)
|
||||
{
|
||||
var label = new Label
|
||||
{
|
||||
Text = tag.Name
|
||||
};
|
||||
var textBox = new TextBox
|
||||
{
|
||||
Text = tag.Value
|
||||
};
|
||||
if (flowLayoutPanel1.Container != null)
|
||||
{
|
||||
flowLayoutPanel1.Container.Add(label);
|
||||
flowLayoutPanel1.Container.Add(textBox);
|
||||
}
|
||||
//inputFilesListView.Items.Add(tag.Name + ": " + tag.Value);
|
||||
}
|
||||
}
|
||||
|
||||
private void debugToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var xml = new SerializeMkvInfo();
|
||||
var x = xml.SerializeFile("info.txt");
|
||||
File.WriteAllLines("Test.info", x.ToArray());
|
||||
ReadXml();
|
||||
//var xml = new SerializeMkvInfo();
|
||||
//var x = xml.SerializeFile("info.txt");
|
||||
//var text = new StringBuilder();
|
||||
//foreach (var line in x)
|
||||
//{
|
||||
// text.Append(line.Trim());
|
||||
//}
|
||||
//ReadXml(text.ToString());
|
||||
var p = new FrmProperties();
|
||||
p.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user