Esempio n. 1
0
 private void groupsActionEditGroup()
 {
     try
     {
         _NewGroupTarget = NewGroupTarget.SubGroup;
         var item = _RightSelectedItem ?? tvwGroups.SelectedItem as PNTreeItem;
         if (item == null) return;
         var gr = item.Tag as PNGroup;
         if (gr == null) return;
         var dlgGroup = new WndNewGroup(gr, item) { Owner = this };
         dlgGroup.GroupChanged += dlgGroup_GroupChanged;
         var showDialog = dlgGroup.ShowDialog();
         if (showDialog == null || !showDialog.Value)
         {
             dlgGroup.GroupChanged -= dlgGroup_GroupChanged;
         }
     }
     catch (Exception ex)
     {
         PNStatic.LogException(ex);
     }
 }
Esempio n. 2
0
 private void dlgGroup_GroupChanged(object sender, GroupChangedEventArgs e)
 {
     try
     {
         var dlgNewGroup = sender as WndNewGroup;
         if (dlgNewGroup != null) dlgNewGroup.GroupChanged -= dlgGroup_GroupChanged;
         PNGroup pnGroup = null;
         switch (_NewGroupTarget)
         {
             case NewGroupTarget.SubGroup:
                 pnGroup = getSelectedGroup();
                 break;
             case NewGroupTarget.TopLevel:
                 var item = tvwGroups.Items[0] as PNTreeItem;
                 if (item != null)
                     pnGroup = item.Tag as PNGroup;
                 break;
         }
         if (pnGroup != null)
         {
             var pnTreeItem = e.TreeItem;
             if (e.Mode == AddEditMode.Add)
             {
                 var gr = (PNGroup)e.Group.Clone();
                 gr.ParentID = pnGroup.ID;
                 gr.ID = PNData.GetNewGroupID();
                 pnGroup.Subgroups.Add(gr);
                 PNData.InsertNewGroup(gr);
                 if (_NewGroupTarget == NewGroupTarget.SubGroup)
                 {
                     loadGroups(gr, pnTreeItem, true);
                     if (pnTreeItem != null) pnTreeItem.IsExpanded = true;
                 }
                 else
                 {
                     var item = tvwGroups.Items[0] as PNTreeItem;
                     if (item != null)
                     {
                         loadGroups(gr, item, true);
                         item.IsExpanded = true;
                     }
                 }
             }
             else
             {
                 e.Group.CopyTo(pnGroup);
                 pnGroup.Name = e.Group.Name;
                 changeNodeText(pnTreeItem, pnGroup.ID);
                 if (!Equals(pnTreeItem.Image, pnGroup.Image))
                 {
                     if (!pnGroup.IsDefaultImage)
                         pnTreeItem.Image = pnGroup.Image;
                     else
                         pnTreeItem.SetImageResource(pnGroup.ImageName);
                 }
                 updateStatusBar();
                 PNData.SaveGroupChanges(pnGroup);
                 var selectedNote = getSelectedNote();
                 if (selectedNote != null)
                     loadNotePreview(selectedNote);
             }
         }
         _NewGroupTarget = NewGroupTarget.None;
     }
     catch (Exception ex)
     {
         PNStatic.LogException(ex);
     }
 }