Propagate as-is XML fields that are not currently editable.

This commit is contained in:
2017-09-30 17:47:54 +01:00
parent 1619cd020c
commit 4c41634f47
3 changed files with 104 additions and 0 deletions

View File

@@ -140,6 +140,14 @@ namespace osrepodbmgr.Core
string metadataPartNo = null;
string metadataSerial = null;
string metadataVersion = null;
List<MagazineType> magazines = new List<MagazineType>();
List<BookType> books = new List<BookType>();
List<RequiredOperatingSystemType> requiredOses = new List<RequiredOperatingSystemType>();
List<UserManualType> usermanuals = new List<UserManualType>();
List<AdvertisementType> adverts = new List<AdvertisementType>();
List<LinearMediaType> linearmedias = new List<LinearMediaType>();
List<PCIType> pcis = new List<PCIType>();
List<AudioMediaType> audiomedias = new List<AudioMediaType>();
// End for metadata
@@ -230,6 +238,22 @@ namespace osrepodbmgr.Core
releaseTypeSpecified = true;
releaseType = thisMetadata.ReleaseType;
}
if(thisMetadata.Magazine != null)
magazines.AddRange(thisMetadata.Magazine);
if(thisMetadata.Book != null)
books.AddRange(thisMetadata.Book);
if(thisMetadata.RequiredOperatingSystems != null)
requiredOses.AddRange(thisMetadata.RequiredOperatingSystems);
if(thisMetadata.UserManual != null)
usermanuals.AddRange(thisMetadata.UserManual);
if(thisMetadata.Advertisement != null)
adverts.AddRange(thisMetadata.Advertisement);
if(thisMetadata.LinearMedia != null)
linearmedias.AddRange(thisMetadata.LinearMedia);
if(thisMetadata.PCICard != null)
pcis.AddRange(thisMetadata.PCICard);
if(thisMetadata.AudioMedia != null)
audiomedias.AddRange(thisMetadata.AudioMedia);
foundMetadata = true;
@@ -326,6 +350,22 @@ namespace osrepodbmgr.Core
releaseTypeSpecified = true;
releaseType = thisMetadata.ReleaseType;
}
if(thisMetadata.Magazine != null)
magazines.AddRange(thisMetadata.Magazine);
if(thisMetadata.Book != null)
books.AddRange(thisMetadata.Book);
if(thisMetadata.RequiredOperatingSystems != null)
requiredOses.AddRange(thisMetadata.RequiredOperatingSystems);
if(thisMetadata.UserManual != null)
usermanuals.AddRange(thisMetadata.UserManual);
if(thisMetadata.Advertisement != null)
adverts.AddRange(thisMetadata.Advertisement);
if(thisMetadata.LinearMedia != null)
linearmedias.AddRange(thisMetadata.LinearMedia);
if(thisMetadata.PCICard != null)
pcis.AddRange(thisMetadata.PCICard);
if(thisMetadata.AudioMedia != null)
audiomedias.AddRange(thisMetadata.AudioMedia);
foundMetadata = true;
@@ -542,6 +582,14 @@ namespace osrepodbmgr.Core
if(systems.Count > 0)
Context.metadata.Systems = systems.Distinct().ToArray();
Context.metadata.Version = metadataVersion;
Context.metadata.Magazine = magazines.ToArray();
Context.metadata.Book = books.ToArray();
Context.metadata.RequiredOperatingSystems = requiredOses.ToArray();
Context.metadata.UserManual = usermanuals.ToArray();
Context.metadata.Advertisement = adverts.ToArray();
Context.metadata.LinearMedia = linearmedias.ToArray();
Context.metadata.PCICard = pcis.ToArray();
Context.metadata.AudioMedia = audiomedias.ToArray();
foreach(string metadataFile in alreadyMetadata)
Context.files.Remove(metadataFile);

View File

@@ -59,6 +59,16 @@ namespace osrepodbmgr.Eto
Thread thdDisk;
bool stopped;
// TODO: Add the options to edit these fields
MagazineType[] magazines;
BookType[] books;
RequiredOperatingSystemType[] requiredOses;
UserManualType[] usermanuals;
AdvertisementType[] adverts;
LinearMediaType[] linearmedias;
PCIType[] pcis;
AudioMediaType[] audiomedias;
#region XAML UI elements
#pragma warning disable 0649
TabPage tabGeneral;
@@ -491,6 +501,15 @@ namespace osrepodbmgr.Eto
}
}
}
magazines = Metadata.Magazine;
books = Metadata.Book;
requiredOses = Metadata.RequiredOperatingSystems;
usermanuals = Metadata.UserManual;
adverts = Metadata.Advertisement;
linearmedias = Metadata.LinearMedia;
pcis = Metadata.PCICard;
audiomedias = Metadata.AudioMedia;
}
protected void OnChkKnownReleaseTypeToggled(object sender, EventArgs e)
@@ -1208,6 +1227,15 @@ namespace osrepodbmgr.Eto
if(systems.Count > 0)
Metadata.Systems = systems.ToArray();
Metadata.Magazine = magazines;
Metadata.Book = books;
Metadata.RequiredOperatingSystems = requiredOses;
Metadata.UserManual = usermanuals;
Metadata.Advertisement = adverts;
Metadata.LinearMedia = linearmedias;
Metadata.PCICard = pcis;
Metadata.AudioMedia = audiomedias;
Modified = true;
Close();
}

View File

@@ -59,6 +59,16 @@ namespace osrepodbmgr
Thread thdDisk;
bool stopped;
// TODO: Add the options to edit these fields
MagazineType[] magazines;
BookType[] books;
RequiredOperatingSystemType[] requiredOses;
UserManualType[] usermanuals;
AdvertisementType[] adverts;
LinearMediaType[] linearmedias;
PCIType[] pcis;
AudioMediaType[] audiomedias;
public dlgMetadata()
{
Build();
@@ -543,6 +553,15 @@ namespace osrepodbmgr
}
}
}
magazines = Metadata.Magazine;
books = Metadata.Book;
requiredOses = Metadata.RequiredOperatingSystems;
usermanuals = Metadata.UserManual;
adverts = Metadata.Advertisement;
linearmedias = Metadata.LinearMedia;
pcis = Metadata.PCICard;
audiomedias = Metadata.AudioMedia;
}
protected void OnChkBoxUnknownReleaseTypeToggled(object sender, EventArgs e)
@@ -1307,6 +1326,15 @@ namespace osrepodbmgr
Metadata.Subcategories = subcategories.ToArray();
if(systems.Count > 0)
Metadata.Systems = systems.ToArray();
Metadata.Magazine = magazines;
Metadata.Book = books;
Metadata.RequiredOperatingSystems = requiredOses;
Metadata.UserManual = usermanuals;
Metadata.Advertisement = adverts;
Metadata.LinearMedia = linearmedias;
Metadata.PCICard = pcis;
Metadata.AudioMedia = audiomedias;
}
protected void OnBtnEditDiscClicked(object sender, EventArgs e)