Exemplo n.º 1
0
        public KiNoteForm(VaultNode node)
        {
            InitializeComponent();

            fTextNode = new VaultTextNode(node);
            IRevert(null, null);
            Text = fTextNode.NoteName;
        }
Exemplo n.º 2
0
        public void AddNode(VaultNode node, uint parentID)
        {
            if (fAgeList.FocusedItem == null) return;

            VaultNode tag = (VaultNode)fAgeList.FocusedItem.Tag;
            if (tag.ID == parentID)
                IAddKiItem(node);
        }
Exemplo n.º 3
0
 public void RemoveFolder(VaultNode node)
 {
     foreach (ListViewItem lvi in fAgeList.Items) {
         VaultNode tag = (VaultNode)lvi.Tag;
         if (tag.ID == node.ID) {
             lvi.Remove();
             break;
         }
     }
 }
Exemplo n.º 4
0
        public void RemoveNode(VaultNode node)
        {
            VaultPlayerInfoNode info = new VaultPlayerInfoNode(node);
            if (fPlayerToInfo.ContainsKey(info.PlayerID))
                fPlayerToInfo.Remove(info.PlayerID);
            else
                return;

            for (int i = 0; i < fDataGridView.Rows.Count; i++) {
                if (Convert.ToUInt32(fDataGridView.Rows[i].Cells[1].Value) == info.PlayerID) {
                    fDataGridView.Rows.RemoveAt(i);
                    break;
                }
            }
        }
Exemplo n.º 5
0
        public void AddPlayerInfo(VaultNode node)
        {
            VaultPlayerInfoNode info = new VaultPlayerInfoNode(node);
            if (fPlayerToInfo.ContainsKey(info.PlayerID)) return;

            Bitmap img = IGetImage(info);
            string age = (info.Online ? IGetAgeName(info) : String.Empty);
            fDataGridView.Rows.Add(new object[] { img, info.PlayerID, info.PlayerName, age });
            fPlayerToInfo.Add(info.PlayerID, info.BaseNode.ID);

            //Sort... If no default, use online status
            if (fDataGridView.SortedColumn != null)
                fDataGridView.Sort(fDataGridView.SortedColumn, (fDataGridView.SortOrder == SortOrder.Ascending ? ListSortDirection.Ascending : ListSortDirection.Descending));
            else
                fDataGridView.Sort(fOnline, ListSortDirection.Descending);
        }
Exemplo n.º 6
0
        public KiImageForm(VaultNode node)
        {
            InitializeComponent();

            //Maybe I can be convinced to add support for this...
            //Later...
            fReplaceButton.Enabled = false;
            fRevertButton.Enabled = false;
            fSaveButton.Enabled = false;

            fImage = new VaultImageNode(node);
            if (fImage.ImageType != VaultImageNode.ImgType.kNone) {
                MemoryStream ms = new MemoryStream(fImage.ImageData, 4, fImage.ImageData.Length - 4);
                fPictureBox.Image = Bitmap.FromStream(ms);
            }

            Text = fImage.ImageName;
        }
Exemplo n.º 7
0
        public void UpdateNode(VaultNode node)
        {
            for (int i = 0; i < fMailList.Items.Count; i++) {
                VaultNode tag = (VaultNode)fMailList.Items[i].Tag;
                if (tag.ID == node.ID) {
                    fMailList.Items[i].Tag = node;
                    fMailList.Items[i].Text = IGetTitle(node);

                    //We must resort manually...
                    fMailList.Sort();
                    break;
                }
            }
        }
Exemplo n.º 8
0
 public VaultSystemNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 9
0
 public VaultTextNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 10
0
        public static VaultNode Parse(byte[] data)
        {
            MemoryStream ms = new MemoryStream(data);
            UruStream s = new UruStream(ms);

            VaultNode n = new VaultNode();
            n.Read(s);

            s.Close();
            ms.Close();

            return n;
        }
Exemplo n.º 11
0
 public VaultSDLNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 12
0
        private string IGetTitle(VaultNode node)
        {
            switch (node.NodeType) {
                case ENodeType.kNodeImage:
                case ENodeType.kNodeTextNote:
                    return node.fString64[0];
                case ENodeType.kNodeMarkerList:
                    return node.fText[0];
            }

            return String.Empty;
        }
Exemplo n.º 13
0
        private void IRemoveFromPanes(VaultNode node, uint parentID, uint childID)
        {
            if (fBaseNodes[EStandardNode.kBuddyListFolder] == parentID)
                fBuddyCtrl.RemoveNode(node);
            if (fBaseNodes[EStandardNode.kHoodMembersFolder] == parentID)
                fNeighborsCtrl.RemoveNode(node);
            if (fBaseNodes[EStandardNode.kPeopleIKnowAboutFolder] == parentID)
                fRecentsCtrl.RemoveNode(node);
            if (fBaseNodes[EStandardNode.kAgeJournalsFolder] == parentID)
                fKiMailCtrl.RemoveFolder(node);

            if (node.NodeType == ENodeType.kNodeImage || node.NodeType == ENodeType.kNodeTextNote)
                fKiMailCtrl.RemoveKiItem(node);
        }
Exemplo n.º 14
0
 public VaultMarkerNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 15
0
 private void IUpdateNode(VaultNode node)
 {
     switch (node.NodeType) {
         case ENodeType.kNodeImage:
         case ENodeType.kNodeMarkerList:
         case ENodeType.kNodeTextNote:
             fKiMailCtrl.UpdateNode(node);
             break;
         case ENodeType.kNodePlayerInfo:
             VaultPlayerInfoNode info = new VaultPlayerInfoNode(node);
             bool alerted = IDoBuddyUpdate(info, false);
             IDoNeighborUpdate(info, alerted);
             fRecentsCtrl.UpdateNode(info);
             break;
     }
 }
Exemplo n.º 16
0
 public VaultImageNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 17
0
 public VaultAgeInfoNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 18
0
 public VaultFolderNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 19
0
 public VaultChronicleNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 20
0
 public VaultAgeLinkNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 21
0
        private void IAddJournalFolder(VaultNode node)
        {
            VaultFolderNode age = new VaultFolderNode(node);
            fParent.LogDebug(String.Format("Got journal [AGE: {0}] [NodeID: {1}]", age.FolderName, age.ID));

            ListViewItem folder = new ListViewItem(age.FolderName);
            folder.Tag = node;
            if (fParent.GetChildCount(node.ID) == 0 && !fShowEmptyFolders.Checked)
                fHiddenFolders.Add(folder);
            else
                fAgeList.Items.Add(folder);
        }
Exemplo n.º 22
0
        private void IAddToPanes(VaultNode node, uint parentID, uint childID)
        {
            if (node.NodeType == ENodeType.kNodePlayerInfo) {
                if (fBaseNodes[EStandardNode.kBuddyListFolder] == parentID)
                    fBuddyCtrl.AddPlayerInfo(node);
                if (fBaseNodes[EStandardNode.kHoodMembersFolder] == parentID)
                    fNeighborsCtrl.AddPlayerInfo(node);
                if (fBaseNodes[EStandardNode.kPeopleIKnowAboutFolder] == parentID)
                    fRecentsCtrl.AddPlayerInfo(node);
            }

            if (node.NodeType == ENodeType.kNodeImage || node.NodeType == ENodeType.kNodeTextNote)
                fKiMailCtrl.AddNode(node, parentID);
        }
Exemplo n.º 23
0
        private void IAddKiItem(VaultNode node)
        {
            if (fAgeList.FocusedItem == null) return;

            //Callbacks can be evil sometimes...
            //Make sure that the incoming node is for the CURRENT age
            VaultNode tag = (VaultNode)fAgeList.FocusedItem.Tag;
            if (!fParent.HasChild(tag.ID, node.ID))
                return;

            ListViewItem lvi = new ListViewItem(IGetTitle(node)); //String64_1 is pretty much always the title...
            lvi.Tag = node;

            switch (node.NodeType) {
                case ENodeType.kNodeImage:
                    lvi.ImageIndex = (int)Icon.Image;
                    break;
                case ENodeType.kNodeMarkerList:
                    lvi.ImageIndex = (int)Icon.MarkerList;
                    break;
                case ENodeType.kNodeTextNote:
                    lvi.ImageIndex = (int)Icon.Text;
                    break;
                default:
                    //Unhandled Type... Bail out!
                    return;
            }

            fMailList.Items.Add(lvi);
        }
Exemplo n.º 24
0
 public VaultPlayerInfoListNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 25
0
 private void ISetTitle(VaultNode node, string text)
 {
     switch (node.NodeType) {
         case ENodeType.kNodeImage:
         case ENodeType.kNodeTextNote:
             node.fString64[0] = text;
             break;
         case ENodeType.kNodeMarkerList:
             node.fText[0] = text;
             break;
     }
 }
Exemplo n.º 26
0
 public VaultPlayerNode(VaultNode node)
     : base(node)
 {
 }
Exemplo n.º 27
0
 public VaultNodeAccess(VaultNode n)
 {
     fBase = n;
 }
Exemplo n.º 28
0
        private void IDelayedAgeName(VaultNode node, VaultPlayerInfoNode info)
        {
            VaultAgeInfoNode age = new VaultAgeInfoNode(node);

            string name = String.Empty;
            if (age.Description == String.Empty)
                if (age.SequenceNumber == 0)
                    name = String.Format("{0} {1}", age.UserDefinedName, age.InstanceName);
                else
                    name = String.Format("{0} ({1}) {2}", age.UserDefinedName, age.SequenceNumber, age.InstanceName);
            else
                name = age.Description;

            //Find the player's row
            int idx = -1;
            foreach (DataGridViewRow r in fDataGridView.Rows) {
                if (Convert.ToUInt32(r.Cells[1].Value) == info.PlayerID) {
                    idx = fDataGridView.Rows.IndexOf(r);
                    break;
                }
            }

            //Actually update the entry
            fDataGridView.Rows[idx].Cells[3].Value = name;
        }
Exemplo n.º 29
0
 public VaultNodeAccess(ENodeType type)
 {
     fBase = new VaultNode(type);
 }
Exemplo n.º 30
0
        private void IAddFolderToPanes(VaultNode node)
        {
            if (node.NodeType == ENodeType.kNodePlayerInfoList) {
                VaultPlayerInfoListNode list = new VaultPlayerInfoListNode(node);

                //Basic stuff
                if (list.FolderType == EStandardNode.kBuddyListFolder) fBaseNodes.Add(EStandardNode.kBuddyListFolder, node.ID);
                if (list.FolderType == EStandardNode.kIgnoreListFolder) fBaseNodes.Add(EStandardNode.kIgnoreListFolder, node.ID);
                if (list.FolderType == EStandardNode.kPeopleIKnowAboutFolder) fBaseNodes.Add(EStandardNode.kPeopleIKnowAboutFolder, node.ID);

                //If it's an AgeOwners folder, we have the Neighborhood :)
                if (list.FolderType == EStandardNode.kAgeOwnersFolder) fBaseNodes.Add(EStandardNode.kHoodMembersFolder, node.ID);
            }

            //Search for Neighborhood in the AgesIOwn
            if (node.NodeType == ENodeType.kNodeAgeInfoList) {
                VaultAgeInfoListNode ages = new VaultAgeInfoListNode(node);
                if (ages.FolderType == EStandardNode.kAgesIOwnFolder) {
                    FetchChildren(node.ID, new Action<VaultNode>(IAddFolderToPanes));
                }
            }

            //Grab the AgeInfo...
            if (node.NodeType == ENodeType.kNodeAgeLink)
                FetchChildren(node.ID, new Action<VaultNode>(IAddFolderToPanes));

            //See if this is the Neighborhood or Relto
            if (node.NodeType == ENodeType.kNodeAgeInfo) {
                VaultAgeInfoNode ageinfo = new VaultAgeInfoNode(node);
                if (ageinfo.Filename == "Neighborhood") {
                    //Yep! Grab children :)
                    FetchChildren(node.ID, new Action<VaultNode>(IAddFolderToPanes));
                }

                //HACK!!! Change back to PERSONAL asap!
                if (ageinfo.Filename == "Neighborhood") {
                    //Stash this node! Oh, and YES this is a strange label, but whatev.
                    fBaseNodes.Add(EStandardNode.kAgeInfoNode, ageinfo.ID);
                }
            }

            //Are these KI Mail Folders?
            if (node.NodeType == ENodeType.kNodeFolder) {
                VaultFolderNode folder = new VaultFolderNode(node);
                if (folder.FolderType == EStandardNode.kAgeJournalsFolder) fBaseNodes.Add(EStandardNode.kAgeJournalsFolder, node.ID);
                if (folder.FolderType == EStandardNode.kInboxFolder) fBaseNodes.Add(EStandardNode.kInboxFolder, node.ID);

            }

            //Is this my PlayerInfo?
            if (node.NodeType == ENodeType.kNodePlayerInfo) {
                VaultPlayerInfoNode info = new VaultPlayerInfoNode(node);
                if (info.PlayerID == fActivePlayer) fBaseNodes.Add(EStandardNode.kPlayerInfoNode, info.ID);
            }

            //FIXME: This is a strange hack...
            //Aparently, it causes the selected tab to update. I would say this is spammy though.
            ITabSelected(null, new TabControlEventArgs(fTabControl.SelectedTab, fTabControl.SelectedIndex, TabControlAction.Selected));
        }