public static BlogEditingTemplateFile[] DetectTemplate(IBlogClientUIContext uiContext, Control parentControl, IBlogSettingsAccessor blogSettings, bool probeForManifest, out Color?postBodyBackgroundColor) { postBodyBackgroundColor = null; try { // create a new detector BlogEditingTemplateDetector detector = new BlogEditingTemplateDetector(uiContext, parentControl, blogSettings, probeForManifest); // execute with a progress dialog ProgressHelper.ExecuteWithProgress( Res.Get(StringId.DownloadingWeblogStyle), new ProgressOperation(detector.DetectTemplate), uiContext, uiContext); // propagate exception if (detector.ExceptionOccurred) { throw detector.Exception; } postBodyBackgroundColor = detector.PostBodyBackgroundColor; // return the template return(detector.BlogTemplateFiles); } catch (OperationCancelledException) { return(new BlogEditingTemplateFile[0]); } catch (BlogClientOperationCancelledException) { Debug.WriteLine("BlogClient operation cancelled"); return(new BlogEditingTemplateFile[0]); } catch (Exception e) { Trace.Fail("Error occurred while downloading weblog style" + e.ToString()); DisplayMessage.Show(MessageId.TemplateDownloadFailed); return(new BlogEditingTemplateFile[0]); } }