private static FileCardExporter BuildLayoutExporter()
{
var zQuery = new QueryPanelDialog("Export to Images", 750, false);
zQuery.SetIcon(Properties.Resources.CardMakerIcon);
var sDefinition = LayoutManager.Instance.ActiveLayout.exportNameFormat;
var nDefaultFormatIndex = GetLastFormatIndex();
zQuery.AddPullDownBox("Format", s_arrayAllowedFormatNames, nDefaultFormatIndex, ExportOptionKey.Format);
zQuery.AddNumericBox("Stitch Skip Index", CardMakerSettings.ExportStitchSkipIndex, 0, 65535, 1, 0, ExportOptionKey.StitchSkipIndex);
zQuery.AddTextBox("File Name Format (optional)", sDefinition ?? string.Empty, false, ExportOptionKey.NameFormat);
zQuery.AddFolderBrowseBox("Output Folder",
Directory.Exists(ProjectManager.Instance.LoadedProject.lastExportPath) ? ProjectManager.Instance.LoadedProject.lastExportPath : string.Empty,
ExportOptionKey.Folder);
zQuery.UpdateEnableStates();
if (DialogResult.OK != zQuery.ShowDialog(CardMakerInstance.ApplicationForm))
{
return null;
}
var sFolder = zQuery.GetString(ExportOptionKey.Folder);
SetupExportFolder(sFolder);
if (!Directory.Exists(sFolder))
{
FormUtils.ShowErrorMessage("The folder specified does not exist!");
return null;
}
ProjectManager.Instance.LoadedProject.lastExportPath = sFolder;
var nLayoutIndex = ProjectManager.Instance.GetLayoutIndex(LayoutManager.Instance.ActiveLayout);
if (-1 == nLayoutIndex)
{
FormUtils.ShowErrorMessage("Unable to determine the current layout. Please select a layout in the tree view and try again.");
return null;
}
CardMakerSettings.IniManager.SetValue(IniSettings.LastImageExportFormat, s_arrayAllowedFormatNames[zQuery.GetIndex(ExportOptionKey.Format)]);
CardMakerSettings.ExportStitchSkipIndex = (int)zQuery.GetDecimal(ExportOptionKey.StitchSkipIndex);
return new FileCardExporter(nLayoutIndex, nLayoutIndex + 1, sFolder, zQuery.GetString(ExportOptionKey.NameFormat),
CardMakerSettings.ExportStitchSkipIndex, s_arrayAllowedFormats[zQuery.GetIndex(ExportOptionKey.Format)]);
}