public void TemplatesProvider_CopyStaticTemplate_CopyIsNotStatic() { // Arrange TemplatesService ts = new TemplatesService(storage); ts.Start(); ICategoriesTemplatesProvider ctp = ts.CategoriesTemplateProvider; Dashboard dash = ctp.Templates [0]; // Action ctp.Copy(dash, "NEW"); // Assert Assert.IsTrue(dash.Static); Dashboard dash2 = ctp.Templates.Where(t => t.Name == "NEW").First(); Assert.IsFalse(dash2.Static); }
void HandleNewTemplateClicked(object sender, EventArgs e) { bool create = false; bool force = false; EntryDialog dialog = new EntryDialog(Toplevel as Gtk.Window); dialog.ShowCount = true; dialog.Text = Catalog.GetString("New dasboard"); dialog.CountText = Catalog.GetString("Event types:"); dialog.AvailableTemplates = templatesNames; while (dialog.Run() == (int)ResponseType.Ok) { if (dialog.Text == "") { MessagesHelpers.ErrorMessage(dialog, Catalog.GetString("The dashboard name is empty.")); continue; } else if (provider.Exists(dialog.Text)) { var msg = Catalog.GetString("The dashboard already exists. " + "Do you want to overwrite it?"); if (MessagesHelpers.QuestionMessage(this, msg)) { create = true; force = true; break; } } else { create = true; break; } } if (create) { if (force) { try { provider.Delete(dialog.Text); } catch { } } if (dialog.SelectedTemplate != null) { try { provider.Copy(dialog.SelectedTemplate, dialog.Text); } catch (InvalidTemplateFilenameException ex) { Config.GUIToolkit.ErrorMessage(ex.Message, this); dialog.Destroy(); return; } } else { Dashboard template; template = Dashboard.DefaultTemplate(dialog.Count); template.Name = dialog.Text; if (!SaveTemplate(template)) { dialog.Destroy(); return; } } Load(dialog.Text); } dialog.Destroy(); }