Example #1
0
        private void updateRecentState(MangaState state)
        {
            var ri = findState(state);

            if (ri == -1)
            {
                addRecent(state);
            }
            else if (Recent[ri].Pinned == state.Pinned)
            {
                Recent[ri] = state;
            }
            else {
                removeState(ri);
                addRecent(state);
            }
        }
Example #2
0
 private void unbindState(MangaState state)
 {
     state.PropertyChanged -= state_PropertyChanged;
 }
Example #3
0
 private int findState(MangaState state)
 {
     return Recent
         .Select( (value, index) => new { value, index })
         .Where((x) => x.value.MangaPath.FullName == state.MangaPath.FullName)
         .Select((x) => x.index)
         .DefaultIfEmpty(-1).First();
 }
Example #4
0
 private void addUnpinned(MangaState state)
 {
     bindState(state);
     Recent.Insert(PinnedCount, state);
     trimRecents();
 }
Example #5
0
 private void addRecent(MangaState state)
 {
     if (state.Pinned) addPinned(state);
     else addUnpinned(state);
 }
Example #6
0
 private void addPinned(MangaState state)
 {
     bindState(state);
     Recent.Insert(0, state);
     PinnedCount++;
 }