Changeset 14825

Show
Ignore:
Timestamp:
06/29/08 13:06:18 (5 years ago)
Author:
daisuke_m
Message:

スペースキーによる未読読み進め機能を修正。

Location:
lang/java/sabotter/trunk
Files:
1 added
3 modified

Legend:

Unmodified
Added
Removed
  • lang/java/sabotter/trunk/plugin.xml

    r14727 r14825  
    3030      <view 
    3131            name="%SabotterView.name" 
    32             icon="icons/sample.gif" 
     32            icon="icons/sabotter_16.gif" 
    3333            category="jp.xet.eclipse.sabotter" 
    3434            class="jp.xet.eclipse.sabotter.views.SabotterView" 
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/manager/TableManager.java

    r13095 r14825  
    4141         */ 
    4242        public void oldestUnreadEntry() { 
    43                 SabotterEntry oldestUnreadEntry = TwitterManager.getInstance().getOldestUnreadEntry(); 
     43                SabotterEntry oldestUnreadEntry = TwitterManager.getInstance().getOldestUnreadEntry(viewer); 
    4444                if (oldestUnreadEntry != null) { 
    4545                        ISelection sel = new StructuredSelection(oldestUnreadEntry); 
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/manager/TwitterManager.java

    r13015 r14825  
    11package jp.xet.eclipse.sabotter.manager; 
    22 
     3import java.util.ArrayList; 
    34import java.util.Comparator; 
    45import java.util.HashSet; 
    56import java.util.Iterator; 
     7import java.util.List; 
    68import java.util.Set; 
    79import java.util.SortedSet; 
     
    2224import org.eclipse.jface.util.IPropertyChangeListener; 
    2325import org.eclipse.jface.util.PropertyChangeEvent; 
     26import org.eclipse.jface.viewers.TableViewer; 
     27import org.eclipse.jface.viewers.ViewerFilter; 
    2428 
    2529/** 
     
    168172        /** 
    169173         * 一番古い未読ステータスを取得する。未読が一件もなければ最新のエントリを返す。 
     174         * @param viewer  
    170175         *  
    171176         * @return 一番古い未読ステータス 
    172177         */ 
    173         public SabotterEntry getOldestUnreadEntry() { 
    174                 for (SabotterEntry entry : allEntries) { 
     178        public SabotterEntry getOldestUnreadEntry(TableViewer viewer) { 
     179                for (SabotterEntry entry : doFilter(viewer)) { 
    175180                        if (entry.isUnread()) { 
    176181                                return entry; 
     
    178183                } 
    179184                return allEntries.last(); 
     185        } 
     186         
     187        private List<SabotterEntry> doFilter(TableViewer viewer) { 
     188                List<SabotterEntry> result = new ArrayList<SabotterEntry>(); 
     189                for (SabotterEntry entry : allEntries) { 
     190                        boolean match = true; 
     191                        for (ViewerFilter filter : viewer.getFilters()) { 
     192                                if (filter.select(viewer, null, entry) == false) { 
     193                                        match = false; 
     194                                } 
     195                        } 
     196                        if (match) { 
     197                                result.add(entry); 
     198                        } 
     199                } 
     200                return result; 
    180201        } 
    181202