Esempio n. 1
0
        public static void SetLastSelected(string ListName, status selectedStatus, ISpecialTimeLine specialTime)
        {
            if (ListName == "Conversation" || ListName == "Search_TimeLine" || ListName == "@User_TimeLine" || ListName == "Favorites_TimeLine" ) { return; }
            if (!LastSelectedItemsDictionary.ContainsKey(ListName))
            {
                LastSelectedItemsDictionary.Add(ListName, "");
            }
            LastSelectedItemsDictionary[ListName] = selectedStatus.id;

            var newInfo = new NewestSelectedInformation
            {
                CreatedAtTicks = (Int64) selectedStatus.createdAt.Ticks,
                id = selectedStatus.id
            };


            if (!NewestSelectedItemsDictionary.ContainsKey(ListName))
            {
                lock(NewestSelectedItemsDictionary)
                {
                    NewestSelectedItemsDictionary.Add(ListName, newInfo);
                    StoreNewestInfoInRegistry(ListName, newInfo);
                }
                SetUnreadCount(ListName, selectedStatus.id, specialTime);
            }
            else
            {
                if (NewestSelectedItemsDictionary[ListName].CreatedAtTicks <= newInfo.CreatedAtTicks)
                {
                    NewestSelectedItemsDictionary[ListName] = newInfo;
                    StoreNewestInfoInRegistry(ListName, newInfo);
                    SetUnreadCount(ListName, newInfo.id, specialTime);
                }
            }
            
            StoreSelectedItem(ListName, selectedStatus.id);
        }
Esempio n. 2
0
        private static void LoadStoredItems()
        {
            LastSavedItemsRoot = Registry.LocalMachine.OpenSubKey(LastSavedStoragePath, true);
            NewestSavedItemsRoot = Registry.LocalMachine.OpenSubKey(NewestSavedStoragePath, true);
            UnreadCountRoot = Registry.LocalMachine.OpenSubKey(UnreadCountRegistryPath, true);

            if (UnreadCountRoot == null)
            {
                RegistryKey ParentKey = Registry.LocalMachine.OpenSubKey(@"\Software\Apps\", true);
                if (ParentKey != null) UnreadCountRoot = ParentKey.CreateSubKey("PockeTwit\\UnreadCount");
            }

            if (LastSavedItemsRoot == null)
            {
                RegistryKey ParentKey = Registry.LocalMachine.OpenSubKey(@"\Software\Apps\", true);
                if (ParentKey != null) LastSavedItemsRoot = ParentKey.CreateSubKey("PockeTwit\\LastSaved");
            }
            if (LastSavedItemsRoot != null)
            {
                string[] StoredItems = LastSavedItemsRoot.GetValueNames();
                foreach (string StoredItem in StoredItems)
                {
                    LastSelectedItemsDictionary.Add(StoredItem, (string) LastSavedItemsRoot.GetValue(StoredItem));
                }
            }

            if (NewestSavedItemsRoot == null)
            {
                RegistryKey ParentKey = Registry.LocalMachine.OpenSubKey(@"\Software\Apps\", true);
                if (ParentKey != null) NewestSavedItemsRoot = ParentKey.CreateSubKey("PockeTwit\\NewestSaved");
            }
            if (NewestSavedItemsRoot != null)
            {
                string[] storedItems = NewestSavedItemsRoot.GetValueNames();
                foreach (string storedItem in storedItems)
                {
                    var serializedItem = (string)NewestSavedItemsRoot.GetValue(storedItem);
                    NewestSelectedInformation newItem;
                    try
                    {
                        var splitItem = serializedItem.Split('|');
                        //newItem = new NewestSelectedInformation {CreatedAtTicks = long.Parse(splitItem[1]), id = splitItem[1]};
                        newItem = new NewestSelectedInformation { CreatedAtTicks = Int64.Parse(splitItem[0]), id = Int64.Parse(splitItem[1]).ToString() };
                        NewestSelectedItemsDictionary.Add(storedItem, newItem);
                    }
                    catch
                    {
                        NewestSavedItemsRoot.DeleteValue(storedItem, false);
                        //var deserializedStatus = status.DeserializeSingle(serializedItem, null);
                        //newItem = new NewestSelectedInformation { CreatedAtTicks = (Int64)deserializedStatus.createdAt.Ticks, id = deserializedStatus.id };
                    }
                    
                }
            }
            UpdateUnreadCounts();
        }
Esempio n. 3
0
 private static void StoreNewestInfoInRegistry(string ListName, NewestSelectedInformation Item)
 {
     NewestSavedItemsRoot.SetValue(ListName, Item.CreatedAtTicks + "|" + Item.id);
 }