示例#1
0
        protected void OnBtnEditIFiClicked(object sender, EventArgs e)
        {
            TreeSelection ts = tvIgnoreFiles.Selection;

            TreeIter ti = new TreeIter();

            ts.GetSelected(out ti);

            TreePath[] tp = ts.GetSelectedRows();
            if (tp.Length < 1)
            {
                return;
            }

            IgnoreFolder iFol = (IgnoreFolder)tvIgnoreFiles.Model.GetValue(ti, 3);

            if (String.IsNullOrEmpty(iFol.Folder))
            {
                return;
            }

            EntryDialog ed     = new EntryDialog(iFol.Folder, MainClass.Languages.Translate("new_name"), parentWindow);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                if (!String.IsNullOrEmpty(ed.TextEntry))
                {
                    iFol.Folder = ed.TextEntry;
                    storeIFi.SetValues(ti, ed.TextEntry, iFol.IsForIde, iFol.IsForPublish, iFol);
                }
            }
            ed.Destroy();
        }
示例#2
0
        protected virtual void OnBtnMyTypeClicked(object sender, System.EventArgs e)
        {
            EntryDialog ed     = new EntryDialog("", MainClass.Languages.Translate("filed_typ"), this);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newTyp = ed.TextEntry;

                if (!String.IsNullOrEmpty(newTyp))
                {
                    bool isFind = false;
                    fieldTypeStore.Foreach((model, path, iterr) => {
                        string name = fieldTypeStore.GetValue(iterr, 0).ToString();

                        if (name == newTyp)
                        {
                            cbFieldType.SetActiveIter(iterr);
                            isFind = true;
                            return(true);
                        }
                        return(false);
                    });
                    if (!isFind)
                    {
                        TreeIter ti = fieldTypeStore.AppendValues(newTyp);
                        cbFieldType.SetActiveIter(ti);
                    }
                }
            }
            ed.Destroy();
        }
示例#3
0
        protected override void OnExportbuttonClicked(object sender, System.EventArgs e)
        {
            EntryDialog dialog = new EntryDialog();

            dialog.TransientFor = (Gtk.Window) this.Toplevel;
            dialog.ShowCount    = false;
            dialog.Text         = Catalog.GetString("New template");
            if (dialog.Run() == (int)ResponseType.Ok)
            {
                if (dialog.Text == "")
                {
                    MessagesHelpers.ErrorMessage(dialog, Catalog.GetString("The template name is void."));
                }
                else if (provider.Exists(dialog.Text))
                {
                    var msg = Catalog.GetString("The template already exists. " +
                                                "Do you want to overwrite it ?");
                    if (MessagesHelpers.QuestionMessage(this, msg))
                    {
                        Template.Name = dialog.Text;
                        provider.Update(Template);
                    }
                }
                else
                {
                    Template.Name = dialog.Text;
                    provider.Save(Template);
                }
            }
            dialog.Destroy();
        }
示例#4
0
        protected virtual void OnBtnAddFilterClicked(object sender, System.EventArgs e)
        {
            EntryDialog ed     = new EntryDialog("", MainClass.Languages.Translate("new_filter"), parentWindow);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newStr = ed.TextEntry;
                if (!String.IsNullOrEmpty(newStr))
                {
                    LogicalSystem cdFind = conditions.Find(x => x.Display.ToUpper() == newStr.ToUpper());
                    if (cdFind != null)
                    {
                        MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("filter_is_exist", cdFind.Display), "", Gtk.MessageType.Error, parentWindow);
                        md.ShowDialog();
                        ed.Destroy();
                        return;
                    }


                    LogicalSystem cd = new LogicalSystem();
                    cd.Display = newStr;
                    filterStore.AppendValues(cd.Display, cd);
                    conditions.Add(cd);
                }
            }
            ed.Destroy();
        }
示例#5
0
        protected override void OnActivated()
        {
            base.OnActivated();

            EntryDialog ed     = new EntryDialog("", MainClass.Languages.Translate("line_number"), true);
            int         result = ed.Run();

            if (result == (int)Gtk.ResponseType.Ok)
            {
                if (!String.IsNullOrEmpty(ed.TextEntry))
                {
                    int line = 0;

                    if (Int32.TryParse(ed.TextEntry, out line))
                    {
                        MainClass.MainWindow.GoToFile(null, (object)line);
                    }
                }
            }
            ed.Destroy();

            /*
             * //Console.WriteLine("Action ToggleBookmarkAction activated");
             * Gtk.Action act = MainClass.MainWindow.EditorNotebook.EditorAction.GetAction("sourceeditor_GoToLine");
             * //Console.WriteLine("-----------");
             * if (act!=null){
             *      //Console.WriteLine(act.Name);
             *      act.Activate();
             *      //Console.WriteLine("-----------");
             * }
             */
        }
示例#6
0
        protected virtual void OnBtnAddCondClicked(object sender, System.EventArgs e)
        {
            if (!MainClass.LicencesSystem.CheckFunction("conditions", parentWindow))
            {
                return;
            }

            EntryDialog ed     = new EntryDialog("", MainClass.Languages.Translate("new_conditions"), parentWindow);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newStr = ed.TextEntry;
                if (!String.IsNullOrEmpty(newStr))
                {
                    Condition cdFind = conditions.Find(x => x.Name.ToUpper() == newStr.ToUpper());
                    if (cdFind != null)
                    {
                        MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("conditions_is_exist", cdFind.Name), "", Gtk.MessageType.Error, parentWindow);
                        md.ShowDialog();
                        ed.Destroy();
                        return;
                    }

                    Condition cd = new Condition();
                    cd.Name = newStr;
                    maxCond++;
                    cd.Id = maxCond;
                    conditionStore.AppendValues(maxCond, cd.Name, cd);
                    conditions.Add(cd);
                }
            }
            ed.Destroy();
        }
示例#7
0
        public override Task <bool> CreateNewTemplate <T> (IList <T> availableTemplates, string defaultName,
                                                           string countText, string emptyText,
                                                           CreateEvent <T> evt)
        {
            bool        ret    = false;
            EntryDialog dialog = new EntryDialog(MainWindow as Gtk.Window);

            dialog.ShowCount = true;
            dialog.Title     = dialog.Text = Catalog.GetString(defaultName);
            dialog.SelectText();
            dialog.CountText          = Catalog.GetString(countText);
            dialog.AvailableTemplates = availableTemplates.Select(t => t.Name).ToList();

            while (dialog.Run() == (int)ResponseType.Ok)
            {
                if (dialog.Text == "")
                {
                    App.Current.Dialogs.ErrorMessage(Catalog.GetString(emptyText), dialog);
                    continue;
                }
                else
                {
                    evt.Name   = dialog.Text;
                    evt.Count  = dialog.Count;
                    evt.Source = availableTemplates.FirstOrDefault(t => t.Name == dialog.SelectedTemplate);
                    ret        = true;
                    break;
                }
            }
            dialog.Destroy();
            return(Task.Factory.StartNew(() => ret));
        }
示例#8
0
        /// <summary>
        /// Click on the Add button.
        /// </summary>
        private void AddClick(object sender, RoutedEventArgs e)
        {
            EntryDialog dialog = new EntryDialog();

            if (dialog.ShowDialog() == true)
            {
                PasswordEntry entry = new PasswordEntry(dialog.Password, dialog.Website, dialog.Note);

                file.Add(entry);
            }
        }
示例#9
0
        protected virtual void OnBtnAddMaskClicked(object sender, System.EventArgs e)
        {
            TreeSelection ts = tvFilter.Selection;

            TreeIter ti = new TreeIter();

            ts.GetSelected(out ti);

            TreePath[] tp = ts.GetSelectedRows();
            if (tp.Length < 1)
            {
                return;
            }

            LogicalSystem cd = (LogicalSystem)tvFilter.Model.GetValue(ti, 1);

            if (cd == null)
            {
                return;
            }

            EntryDialog ed     = new EntryDialog("", MainClass.Languages.Translate("new_mask"), parentWindow);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newStr = ed.TextEntry;
                if (!String.IsNullOrEmpty(newStr))
                {
                    //int maxCountRule = 0;

                    /*foreach (string rlf in cd.Mask){
                     *      if (maxCountRule < rlf.Id) maxCountRule = rlf.Id;
                     * }*/

                    string rlFind = cd.Mask.Find(x => x.ToUpper() == newStr.ToUpper());
                    if (rlFind != null)
                    {
                        MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("mask_is_exist", rlFind), "", Gtk.MessageType.Error, parentWindow);
                        md.ShowDialog();
                        ed.Destroy();
                        return;
                    }

                    maskStore.AppendValues(newStr);

                    LogicalSystem cd2 = conditions.Find(x => x.Display.ToUpper() == cd.Display.ToUpper());
                    cd2.Mask.Add(newStr);
                    filterStore.SetValues(ti, cd2.Display, cd2);
                }
            }
            ed.Destroy();
        }
示例#10
0
        protected void OnTitle(object o, EventArgs args)
        {
            EntryDialog ed = new EntryDialog();

            ed.Title = Catalog.GetString("Edit Title");
            ed.Text  = selectedPlay.Name;
            if (ed.Run() == (int)ResponseType.Ok)
            {
                selectedPlay.Name = ed.Text;
                this.QueueDraw();
            }
            ed.Destroy();
        }
示例#11
0
        protected void OnBtnAddIFiClicked(object sender, EventArgs e)
        {
            EntryDialog ed     = new EntryDialog("", MainClass.Languages.Translate("name"), parentWindow);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                if (!String.IsNullOrEmpty(ed.TextEntry))
                {
                    IgnoreFolder ifol = new IgnoreFolder(ed.TextEntry, true, true);
                    storeIFi.AppendValues(ed.TextEntry, true, true, ifol);
                    ignoreFile.Add(ifol);
                }
            }
            ed.Destroy();
        }
示例#12
0
        protected void OnBtnAddClicked(object sender, EventArgs e)
        {
            EntryDialog ed     = new EntryDialog("", MainClass.Languages.Translate("new_conditions"), parentWindow);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newStr = ed.TextEntry;
                if (!String.IsNullOrEmpty(newStr))
                {
                    ExtensionSetting es = new ExtensionSetting();
                    es.Extension = newStr;
                    es.OpenType  = ExtensionSetting.OpenTyp.TEXT;
                    resolStore.AppendValues(es.Extension, es);
                    MainClass.Settings.ExtensionList.Add(es);
                }
            }
            ed.Destroy();
        }
示例#13
0
        /// <summary>
        /// Double click on entries.
        /// </summary>
        private void EntriesDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (listViewEntries.SelectedIndex >= 0)
            {
                PasswordEntry entry = listViewEntries.SelectedItem as PasswordEntry;

                EntryDialog dialog = new EntryDialog();

                dialog.Display(entry);

                if (dialog.ShowDialog() == true)
                {
                    entry.Password = dialog.Password;
                    entry.Website  = dialog.Website;
                    entry.Note     = dialog.Note;

                    listViewEntries.ItemsSource = file.Entries.ToList();
                }
            }
        }
示例#14
0
        protected virtual void OnBtnRenameTableClicked(object sender, System.EventArgs e)
        {
            EntryDialog ed     = new EntryDialog(tableName, MainClass.Languages.Translate("new_name"), this);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newName = ed.TextEntry;

                if (!String.IsNullOrEmpty(newName))
                {
                    string sql = string.Format("ALTER TABLE {0} RENAME TO {1} ;", tableName, newName);
                    if (sqlLiteDal.RunSqlScalar(sql))
                    {
                        entrTableName.Text = newName;
                        tableName          = newName;
                    }
                }
            }
            ed.Destroy();
        }
示例#15
0
        void OnAddDirectoryClicked(object sender, EventArgs a)
        {
            TreeIter tiDirectory = new TreeIter();
            string   pathDir     = GetDirectory(ref tiDirectory);

            if (String.IsNullOrEmpty(pathDir))
            {
                return;
            }

            string      directory = "";
            EntryDialog ed        = new EntryDialog("", "New Directory");
            int         result    = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                directory = MainClass.Tools.RemoveDiacritics(ed.TextEntry);
            }
            ed.Destroy();
            if (String.IsNullOrEmpty(directory))
            {
                return;
            }

            string newDir = System.IO.Path.Combine(pathDir, directory);

            try {
                FileUtility.CreateDirectory(newDir);
            } catch {
                MessageDialogs md =
                    new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("error_creating_dir"), directory, Gtk.MessageType.Error);
                md.ShowDialog();
            }

            RefreshDir(pathDir, tiDirectory);

            /*if(MainClass.Workspace != null && !String.IsNullOrEmpty(MainClass.Workspace.FilePath)){
             *      LoadLibs(MainClass.Workspace.RootDirectory);
             * };*/
        }
示例#16
0
        protected override void OnExportbuttonClicked(object sender, System.EventArgs e)
        {
            EntryDialog dialog = new EntryDialog();

            dialog.TransientFor = (Gtk.Window) this.Toplevel;
            dialog.ShowCount    = false;
            dialog.Text         = Catalog.GetString("New template");
            if (dialog.Run() == (int)ResponseType.Ok)
            {
                if (dialog.Text == "")
                {
                    MessagePopup.PopupMessage(dialog, MessageType.Error,
                                              Catalog.GetString("The template name is void."));
                }
                else if (provider.Exists(dialog.Text))
                {
                    MessageDialog md = new MessageDialog(null,
                                                         DialogFlags.Modal,
                                                         MessageType.Question,
                                                         Gtk.ButtonsType.YesNo,
                                                         Catalog.GetString("The template already exists. " +
                                                                           "Do you want to overwrite it ?")
                                                         );
                    if (md.Run() == (int)ResponseType.Yes)
                    {
                        Template.Name = dialog.Text;
                        provider.Update(Template);
                    }
                    md.Destroy();
                }
                else
                {
                    Template.Name = dialog.Text;
                    provider.Save(Template);
                }
            }
            dialog.Destroy();
        }
示例#17
0
        protected virtual void OnBtnAddClicked(object sender, System.EventArgs e)
        {
            EntryDialog ed = new EntryDialog("", MainClass.Languages.Translate("new_resolution_name"), parentWindow);

            int result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                if (!String.IsNullOrEmpty(ed.TextEntry))
                {
                    string nameFile = MainClass.Tools.RemoveDiacritics(ed.TextEntry);

                    string newFile = System.IO.Path.Combine(MainClass.Paths.DisplayDir, nameFile + ".ini");

                    /*if (File.Exists(newFile)) {
                     *      MessageDialogs ms = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, "Error", "File cannot is create becaus is exist!", MessageType.Error);
                     *      ms.ShowDialog();
                     *      return;
                     * }*/
                    try {
                        EmulatorDisplay dd = EmulatorDisplay.Create(newFile);

                        if (dd != null)
                        {
                            TreeIter ti = fileListStore.AppendValues(System.IO.Path.GetFileName(newFile), newFile, dd);
                            tvFiles.Selection.SelectIter(ti);
                        }

                        //File.Create(newFile);
                    } catch (Exception ex) {
                        MessageDialogs ms = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, "Error", ex.Message, MessageType.Error, parentWindow);
                        ms.ShowDialog();
                        return;
                    }
                }
            }
            ed.Destroy();
        }
示例#18
0
        protected override void OnActivated()
        {
            base.OnActivated();

            EntryDialog ed     = new EntryDialog("", "New Directory");
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                if (!String.IsNullOrEmpty(ed.TextEntry))
                {
                    string directory = MainClass.Tools.RemoveDiacritics(ed.TextEntry);
                    MainClass.MainWindow.CreateDirectory(directory);
                }
            }
            ed.Destroy();

            /*Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Choose the Directory to Copy", null, FileChooserAction.SelectFolder, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept);
             *
             * if (fc.Run() == (int)ResponseType.Accept) {
             *      MainClass.Workspace.NewDirectory(fc.Filename);
             * }
             * fc.Destroy();*/
        }
示例#19
0
        void HandleNewTeamClicked(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 team");
            dialog.AvailableTemplates = templatesNames;

            while (dialog.Run() == (int)ResponseType.Ok)
            {
                if (dialog.Text == "")
                {
                    MessagesHelpers.ErrorMessage(dialog, Catalog.GetString("The template name is empty."));
                    continue;
                }
                else if (dialog.Text == "default")
                {
                    MessagesHelpers.ErrorMessage(dialog, Catalog.GetString("The template can't be named 'default'."));
                    continue;
                }
                else if (provider.Exists(dialog.Text))
                {
                    var msg = Catalog.GetString("The template 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 (Exception ex) {
                        Log.Exception(ex);
                    }
                }
                if (dialog.SelectedTemplate != null)
                {
                    provider.Copy(dialog.SelectedTemplate, dialog.Text);
                }
                else
                {
                    Team team;
                    team          = Team.DefaultTemplate(dialog.Count);
                    team.TeamName = dialog.Text;
                    team.Name     = dialog.Text;
                    if (!SaveTemplate(team))
                    {
                        dialog.Destroy();
                        return;
                    }
                }
                Load(dialog.Text);
            }
            dialog.Destroy();
        }
示例#20
0
        protected virtual void OnBtnEditCond1Clicked(object sender, System.EventArgs e)
        {
            if (!MainClass.LicencesSystem.CheckFunction("conditions", parentWindow))
            {
                return;
            }

            TreeSelection ts = tvConditions.Selection;

            TreeIter ti = new TreeIter();

            ts.GetSelected(out ti);

            TreePath[] tp = ts.GetSelectedRows();
            if (tp.Length < 1)
            {
                return;
            }
            Condition cd = (Condition)tvConditions.Model.GetValue(ti, 2);

            if (cd == null)
            {
                return;
            }

            TreeSelection tsR = tvRules.Selection;
            TreeIter      tiR = new TreeIter();

            tsR.GetSelected(out tiR);

            TreePath[] tpR = tsR.GetSelectedRows();
            if (tpR.Length < 1)
            {
                return;
            }

            Rule rl = (Rule)tvRules.Model.GetValue(tiR, 2);

            EntryDialog ed     = new EntryDialog(rl.Name, MainClass.Languages.Translate("new_name"));
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newStr = ed.TextEntry;
                if (!String.IsNullOrEmpty(newStr))
                {
                    Rule rlFind = cd.Rules.Find(x => x.Name.ToUpper() == newStr.ToUpper());
                    if (rlFind != null)
                    {
                        MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("rule_is_exist", rlFind.Name), "", Gtk.MessageType.Error, parentWindow);
                        md.ShowDialog();
                        ed.Destroy();
                        return;
                    }


                    Condition cd2 = conditions.Find(x => x.Id == cd.Id);
                    cd2.Rules.Remove(rl);

                    rl.Name = newStr;
                    ruleStore.SetValues(tiR, rl.Id, rl.Name, rl);

                    cd2.Rules.Add(rl);
                    conditionStore.SetValues(ti, cd2.Id, cd2.Name, cd2);

                    //cd.Rules.Add(rl);
                }
            }
            ed.Destroy();
        }
示例#21
0
        protected virtual void OnBtnEditCondClicked(object sender, System.EventArgs e)
        {
            if (!MainClass.LicencesSystem.CheckFunction("conditions", parentWindow))
            {
                return;
            }

            TreeSelection ts = tvConditions.Selection;

            TreeIter ti = new TreeIter();

            ts.GetSelected(out ti);

            TreePath[] tp = ts.GetSelectedRows();
            if (tp.Length < 1)
            {
                return;
            }

            Condition cd = (Condition)tvConditions.Model.GetValue(ti, 2);

            if (cd == null)
            {
                return;
            }

            EntryDialog ed     = new EntryDialog(cd.Name, MainClass.Languages.Translate("new_conditions"), parentWindow);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newStr = ed.TextEntry;
                if (!String.IsNullOrEmpty(newStr))
                {
                    if (newStr == cd.Name)
                    {
                        return;
                    }

                    Condition cdFind = conditions.Find(x => x.Name.ToUpper() == newStr.ToUpper());
                    if (cdFind != null)
                    {
                        MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("conditions_is_exist", cdFind.Name), "", Gtk.MessageType.Error, parentWindow);
                        md.ShowDialog();
                        ed.Destroy();
                        return;
                    }

                    Condition cdEdited = conditions.Find(x => x.Id == cd.Id);

                    if (cdEdited == null)
                    {
                        MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("unspecified_error"), "", Gtk.MessageType.Error, parentWindow);
                        md.ShowDialog();
                        ed.Destroy();
                        return;
                    }

                    cdEdited.Name = newStr;

                    conditionStore.SetValues(ti, cdEdited.Id, cdEdited.Name, cdEdited);

                    //conditions.Find(cd).Name =ed.TextEntry;
                }
            }
            ed.Destroy();
        }
示例#22
0
        protected virtual void OnBtnMyTypeClicked(object sender, System.EventArgs e)
        {
            EntryDialog ed = new EntryDialog("",MainClass.Languages.Translate("filed_typ"),this);
            int result = ed.Run();
            if (result == (int)ResponseType.Ok) {

                string newTyp = ed.TextEntry;

                if(!String.IsNullOrEmpty(newTyp)){
                    bool isFind = false;
                    fieldTypeStore.Foreach((model, path, iterr) => {
                        string name = fieldTypeStore.GetValue(iterr, 0).ToString();

                        if (name == newTyp){

                            cbFieldType.SetActiveIter(iterr);
                            isFind = true;
                            return true;
                        }
                        return false;
                    });
                    if (!isFind){
                        TreeIter ti =fieldTypeStore.AppendValues(newTyp);
                        cbFieldType.SetActiveIter(ti);
                    }
                }
            }
            ed.Destroy();
        }
示例#23
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();
        }
示例#24
0
        protected virtual void OnBtnEditFilterClicked(object sender, System.EventArgs e)
        {
            TreeSelection ts = tvFilter.Selection;

            TreeIter ti = new TreeIter();

            ts.GetSelected(out ti);

            TreePath[] tp = ts.GetSelectedRows();
            if (tp.Length < 1)
            {
                return;
            }

            LogicalSystem cd = (LogicalSystem)tvFilter.Model.GetValue(ti, 1);

            if (cd == null)
            {
                return;
            }

            EntryDialog ed     = new EntryDialog(cd.Display, MainClass.Languages.Translate("new_filter"), parentWindow);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newStr = ed.TextEntry;
                if (!String.IsNullOrEmpty(newStr))
                {
                    if (newStr == cd.Display)
                    {
                        return;
                    }

                    LogicalSystem cdFind = conditions.Find(x => x.Display.ToUpper() == newStr.ToUpper());
                    if (cdFind != null)
                    {
                        MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("filter_is_exist", cdFind.Display), "", Gtk.MessageType.Error, parentWindow);
                        md.ShowDialog();
                        ed.Destroy();
                        return;
                    }

                    LogicalSystem cdEdited = conditions.Find(x => x.Display.ToUpper() == cd.Display.ToUpper());

                    if (cdEdited == null)
                    {
                        MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("unspecified_error"), "", Gtk.MessageType.Error, parentWindow);
                        md.ShowDialog();
                        ed.Destroy();
                        return;
                    }

                    cdEdited.Display = newStr;

                    filterStore.SetValues(ti, cdEdited.Display, cdEdited);

                    //conditions.Find(cd).Name =ed.TextEntry;
                }
            }
            ed.Destroy();
        }
示例#25
0
        protected virtual void OnBtnEditMaskClicked(object sender, System.EventArgs e)
        {
            TreeSelection ts = tvFilter.Selection;

            TreeIter ti = new TreeIter();

            ts.GetSelected(out ti);

            TreePath[] tp = ts.GetSelectedRows();
            if (tp.Length < 1)
            {
                return;
            }
            LogicalSystem cd = (LogicalSystem)tvFilter.Model.GetValue(ti, 1);

            if (cd == null)
            {
                return;
            }

            TreeSelection tsR = tvMask.Selection;
            TreeIter      tiR = new TreeIter();

            tsR.GetSelected(out tiR);

            TreePath[] tpR = tsR.GetSelectedRows();
            if (tpR.Length < 1)
            {
                return;
            }

            string rl = (string)tvMask.Model.GetValue(tiR, 0);

            EntryDialog ed     = new EntryDialog(rl, MainClass.Languages.Translate("new_name"), parentWindow);
            int         result = ed.Run();

            if (result == (int)ResponseType.Ok)
            {
                string newStr = ed.TextEntry;
                if (!String.IsNullOrEmpty(newStr))
                {
                    if (rl.ToUpper() == newStr.ToUpper())
                    {
                        ed.Destroy();
                        return;
                    }

                    string rlFind = cd.Mask.Find(x => x.ToUpper() == newStr.ToUpper());
                    if (!String.IsNullOrEmpty(rlFind))
                    {
                        MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("mask_is_exist", rlFind), "", Gtk.MessageType.Error, parentWindow);
                        md.ShowDialog();
                        ed.Destroy();
                        return;
                    }


                    LogicalSystem cd2 = conditions.Find(x => x.Display.ToUpper() == cd.Display.ToUpper());
                    cd2.Mask.Remove(rlFind);

                    maskStore.SetValues(tiR, 0, newStr, newStr);

                    cd2.Mask.Add(newStr);
                    filterStore.SetValues(ti, cd2.Display, cd2);
                }
            }
            ed.Destroy();
        }