private static FileCardExporter BuildProjectExporter()
{
var zQuery = new QueryPanelDialog("Export to Images", 750, false);
zQuery.SetIcon(Properties.Resources.CardMakerIcon);
var sDefinition = ProjectManager.Instance.LoadedProject.exportNameFormat; // default to the project level definition
var nDefaultFormatIndex = GetLastFormatIndex();
zQuery.AddPullDownBox("Format", s_arrayAllowedFormatNames, nDefaultFormatIndex, ExportOptionKey.Format);
zQuery.AddCheckBox("Override Layout File Name Formats", false, ExportOptionKey.NameFormatOverride);
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);
// associated check box and the file format override text box
zQuery.AddEnableControl(ExportOptionKey.NameFormatOverride, 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 nStartLayoutIdx = 0;
var nEndLayoutIdx = ProjectManager.Instance.LoadedProject.Layout.Length;
var bOverrideLayout = false;
bOverrideLayout = zQuery.GetBool(ExportOptionKey.NameFormatOverride);
CardMakerSettings.IniManager.SetValue(IniSettings.LastImageExportFormat, s_arrayAllowedFormatNames[zQuery.GetIndex(ExportOptionKey.Format)]);
CardMakerSettings.ExportStitchSkipIndex = (int)zQuery.GetDecimal(ExportOptionKey.StitchSkipIndex);
return new FileCardExporter(nStartLayoutIdx, nEndLayoutIdx, sFolder, bOverrideLayout ? zQuery.GetString(ExportOptionKey.NameFormat) : null,
CardMakerSettings.ExportStitchSkipIndex, s_arrayAllowedFormats[zQuery.GetIndex(ExportOptionKey.Format)]);
}