void IBlogPostEditor.OnBlogChanged(Blog newBlog) { // save dirty state bool isDirty = _isDirty; _targetBlog = newBlog; AdaptToBlogOptions(); // a new blog always wipes out "New" categories CategoryContext.SetNewCategories(new BlogPostCategory[0]); _lastSelectedCategories = new BlogPostCategory[0]; CategoryContext.SelectedCategories = new BlogPostCategory[0]; // restore dirty state _isDirty = isDirty; }
void IBlogPostEditor.Initialize(IBlogPostEditingContext editingContext, IBlogClientOptions clientOptions) { // categories from blog CategoryContext.SetBlogCategories(_targetBlog.Categories); // pickup new categories from the blog-post CategoryContext.SetNewCategories(editingContext.BlogPost.NewCategories); // combine all post categories before settting ArrayList selectedCategories = new ArrayList(); selectedCategories.AddRange(editingContext.BlogPost.NewCategories); selectedCategories.AddRange(editingContext.BlogPost.Categories); _lastSelectedCategories = new BlogPostCategory[0]; CategoryContext.SelectedCategories = selectedCategories.ToArray(typeof(BlogPostCategory)) as BlogPostCategory[]; toolTipCategories.SetToolTip(this, CategoryContext.FormattedCategoryList); _isDirty = false; }