private bool CheckFilenamePattern() { var filename = FilenameHelper.GetFilenameFromPattern(textbox_screenshotname.Text, coreConfiguration.OutputFileFormat, null); // we allow dynamically created subfolders, need to check for them, too var pathParts = filename.Split(Path.DirectorySeparatorChar); var filenamePart = pathParts[pathParts.Length - 1]; var settingsOk = FilenameHelper.IsFilenameValid(filenamePart); for (var i = 0; settingsOk && i < pathParts.Length - 1; i++) { settingsOk = FilenameHelper.IsDirectoryNameValid(pathParts[i]); } DisplayTextBoxValidity(textbox_screenshotname, settingsOk); return(settingsOk); }