Пример #1
0
        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);
        }
Пример #2
0
        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();
        }