private static KeePass.App.Configuration.AceMainWindow ReadAceMainWindow(XmlReader xr)
{
KeePass.App.Configuration.AceMainWindow o = new KeePass.App.Configuration.AceMainWindow();
if(SkipEmptyElement(xr)) return o;
Debug.Assert(xr.NodeType == XmlNodeType.Element);
xr.ReadStartElement();
xr.MoveToContent();
while(true)
{
XmlNodeType nt = xr.NodeType;
if((nt == XmlNodeType.EndElement) || (nt == XmlNodeType.None)) break;
if(nt != XmlNodeType.Element) { Debug.Assert(false); continue; }
switch(xr.LocalName)
{
case "X":
o.X = ReadInt32(xr);
break;
case "Y":
o.Y = ReadInt32(xr);
break;
case "Width":
o.Width = ReadInt32(xr);
break;
case "Height":
o.Height = ReadInt32(xr);
break;
case "Maximized":
o.Maximized = ReadBoolean(xr);
break;
case "SplitterHorizontalFrac":
o.SplitterHorizontalFrac = ReadDouble(xr);
break;
case "SplitterVerticalFrac":
o.SplitterVerticalFrac = ReadDouble(xr);
break;
case "Layout":
o.Layout = ReadAceMainWindowLayout(xr);
break;
case "AlwaysOnTop":
o.AlwaysOnTop = ReadBoolean(xr);
break;
case "CloseButtonMinimizesWindow":
o.CloseButtonMinimizesWindow = ReadBoolean(xr);
break;
case "EscMinimizesToTray":
o.EscMinimizesToTray = ReadBoolean(xr);
break;
case "MinimizeToTray":
o.MinimizeToTray = ReadBoolean(xr);
break;
case "ShowFullPathInTitle":
o.ShowFullPathInTitle = ReadBoolean(xr);
break;
case "DropToBackAfterClipboardCopy":
o.DropToBackAfterClipboardCopy = ReadBoolean(xr);
break;
case "MinimizeAfterClipboardCopy":
o.MinimizeAfterClipboardCopy = ReadBoolean(xr);
break;
case "MinimizeAfterLocking":
o.MinimizeAfterLocking = ReadBoolean(xr);
break;
case "MinimizeAfterOpeningDatabase":
o.MinimizeAfterOpeningDatabase = ReadBoolean(xr);
break;
case "QuickFindSearchInPasswords":
o.QuickFindSearchInPasswords = ReadBoolean(xr);
break;
case "QuickFindExcludeExpired":
o.QuickFindExcludeExpired = ReadBoolean(xr);
break;
case "QuickFindDerefData":
o.QuickFindDerefData = ReadBoolean(xr);
break;
case "FocusResultsAfterQuickFind":
o.FocusResultsAfterQuickFind = ReadBoolean(xr);
break;
case "FocusQuickFindOnRestore":
o.FocusQuickFindOnRestore = ReadBoolean(xr);
break;
case "FocusQuickFindOnUntray":
o.FocusQuickFindOnUntray = ReadBoolean(xr);
break;
case "CopyUrlsInsteadOfOpening":
o.CopyUrlsInsteadOfOpening = ReadBoolean(xr);
break;
case "EntrySelGroupSel":
o.EntrySelGroupSel = ReadBoolean(xr);
break;
case "DisableSaveIfNotModified":
o.DisableSaveIfNotModified = ReadBoolean(xr);
break;
case "ToolBar":
o.ToolBar = ReadAceToolBar(xr);
break;
case "EntryView":
o.EntryView = ReadAceEntryView(xr);
break;
case "TanView":
o.TanView = ReadAceTanView(xr);
break;
case "EntryListColumnCollection":
o.EntryListColumns = ReadListOfAceColumn(xr);
break;
case "EntryListColumnDisplayOrder":
o.EntryListColumnDisplayOrder = ReadString(xr);
break;
case "EntryListAutoResizeColumns":
o.EntryListAutoResizeColumns = ReadBoolean(xr);
break;
case "EntryListAlternatingBgColors":
o.EntryListAlternatingBgColors = ReadBoolean(xr);
break;
case "EntryListShowDerefData":
o.EntryListShowDerefData = ReadBoolean(xr);
break;
case "EntryListShowDerefDataAsync":
o.EntryListShowDerefDataAsync = ReadBoolean(xr);
break;
case "EntryListShowDerefDataAndRefs":
o.EntryListShowDerefDataAndRefs = ReadBoolean(xr);
break;
case "ListSorting":
o.ListSorting = ReadListSorter(xr);
break;
case "ListGrouping":
o.ListGrouping = ReadInt32(xr);
break;
case "ShowEntriesOfSubGroups":
o.ShowEntriesOfSubGroups = ReadBoolean(xr);
break;
default:
Debug.Assert(false);
xr.Skip();
break;
}
xr.MoveToContent();
}
Debug.Assert(xr.NodeType == XmlNodeType.EndElement);
xr.ReadEndElement();
return o;
}