private void btnOpenFile_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog fd = new OpenFileDialog();

            if (fd.ShowDialog() == true)
            {
                current = JAM.Read(fd.FileName);
                ReloadFile();
            }
        }
        private void lstAllFiles_Drop(object sender, DragEventArgs e)
        {
            string[] droppedFiles = (string[])e.Data.GetData(DataFormats.FileDrop, false);

            // don't ask, I'm tired now
            if (droppedFiles.Length == 1 && droppedFiles[0].Length >= 4 && droppedFiles[0].Substring(droppedFiles[0].Length - 4, 4).ToUpper() == ".JAM")
            {
                current = JAM.Read(droppedFiles[0]);
                ReloadFile();
                return;
            }

            foreach (string fileName in droppedFiles)
            {
                FileInfo f = current.FindFile(Path.GetFileName(fileName));
                if (f != null)
                {
                    f.ReplaceWithFile(fileName);
                }
            }
            ReloadFile();
            current.Export();
        }