Changeset 13071

Show
Ignore:
Timestamp:
06/02/08 15:02:48 (5 years ago)
Author:
ykhr
Message:

アクセス間隔実装

Location:
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/preferences/PreferenceKeys.java

    r12484 r13071  
    8080        public static final String COLOR_INPUT_OVER_BACKGROUND = "color_input_over_background"; 
    8181         
     82        /** TimeLineの取得間隔 */ 
     83        public static final String INTERVAL_FRIEND_TIMELINE = "interval_friend_timeline"; 
     84         
     85        /** Replyの取得間隔 */ 
     86        public static final String INTERVAL_REPLIES = "interval_replies"; 
     87         
     88        /** DirectMessageの取得間隔 */ 
     89        public static final String INTERVAL_DIRECT_MESSAGES = "interval_direct_messages"; 
     90         
    8291} 
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/preferences/SabotterPreference.java

    r11860 r13071  
    171171        boolean useInternalBrowser(); 
    172172         
     173        /** 
     174         * TimeLineの取得間隔を取得する。 
     175         *  
     176         * @return TimeLineの取得間隔 
     177         */ 
     178        public int getTimeLineInterval(); 
     179         
     180        /** 
     181         * Replyの取得間隔を取得する。 
     182         *  
     183         * @return Replyの取得間隔 
     184         */ 
     185        public int getReplyInterval(); 
     186         
     187        /** 
     188         * DirectMessageの取得間隔取得する。 
     189         *  
     190         * @return DirectMessageの 
     191         */ 
     192        public int getDMInterval(); 
     193         
    173194} 
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/preferences/SabotterPreferenceImpl.java

    r12484 r13071  
    260260        } 
    261261         
     262        /** 
     263         * @see jp.xet.eclipse.sabotter.preferences.SabotterPreference#getTimeLineInterval() 
     264         */ 
     265        public int getTimeLineInterval() { 
     266                return ps.getInt(PreferenceKeys.INTERVAL_FRIEND_TIMELINE); 
     267        } 
     268         
     269        /** 
     270         * Override method. 
     271         * @see jp.xet.eclipse.sabotter.preferences.SabotterPreference#getReplyInterval() 
     272         */ 
     273        public int getReplyInterval() { 
     274                return ps.getInt(PreferenceKeys.INTERVAL_REPLIES); 
     275        } 
     276         
     277        /** 
     278         * Override method. 
     279         * @see jp.xet.eclipse.sabotter.preferences.SabotterPreference#getDMInterval() 
     280         */ 
     281        public int getDMInterval() { 
     282                return ps.getInt(PreferenceKeys.INTERVAL_DIRECT_MESSAGES); 
     283        } 
     284         
    262285} 
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/preferences/SabotterPreferenceInitializer.java

    r12484 r13071  
    3737                preferences.setDefault(PreferenceKeys.UNREAD_MANAGEMENT, true); 
    3838                preferences.setDefault(PreferenceKeys.INTERNAL_BROWSER, true); 
     39                preferences.setDefault(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, 5); 
     40                preferences.setDefault(PreferenceKeys.INTERVAL_REPLIES, 12); 
     41                preferences.setDefault(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, 20); 
    3942        } 
    4043} 
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/preferences/SabotterPreferencePage.java

    r13068 r13071  
    5050        private Button radExternalBrowser; 
    5151         
     52        private Spinner timeLineSpinner; 
     53         
     54        private Spinner replySpinner; 
     55         
     56        private Spinner dmSpinner; 
     57         
    5258 
    5359        /** 
     
    100106                label = new Label(interval, SWT.NONE); 
    101107                label.setText("FriendTimeLine"); 
    102                 Spinner timeLineSpinner = new Spinner(interval, SWT.BORDER); 
     108                timeLineSpinner = new Spinner(interval, SWT.BORDER); 
    103109                timeLineSpinner.setMinimum(1); 
    104110                 
    105111                label = new Label(interval, SWT.NONE); 
    106112                label.setText("Reply"); 
    107                 Spinner replySpinner = new Spinner(interval, SWT.BORDER); 
     113                replySpinner = new Spinner(interval, SWT.BORDER); 
    108114                replySpinner.setMinimum(1); 
    109115                 
    110116                label = new Label(interval, SWT.NONE); 
    111117                label.setText("DM"); 
    112                 Spinner dmSpinner = new Spinner(interval, SWT.BORDER); 
     118                dmSpinner = new Spinner(interval, SWT.BORDER); 
    113119                dmSpinner.setMinimum(1); 
    114120                 
     
    239245                radInternalBrowser.setSelection(ps.getBoolean(PreferenceKeys.INTERNAL_BROWSER) == true); 
    240246                radExternalBrowser.setSelection(ps.getBoolean(PreferenceKeys.INTERNAL_BROWSER) == false); 
     247                 
     248                timeLineSpinner.setSelection(ps.getInt(PreferenceKeys.INTERVAL_FRIEND_TIMELINE)); 
     249                replySpinner.setSelection(ps.getInt(PreferenceKeys.INTERVAL_REPLIES)); 
     250                dmSpinner.setSelection(ps.getInt(PreferenceKeys.INTERVAL_DIRECT_MESSAGES)); 
    241251        } 
    242252         
     
    251261                ps.setValue(PreferenceKeys.UNREAD_MANAGEMENT, true); 
    252262                ps.setValue(PreferenceKeys.INTERNAL_BROWSER, true); 
     263                ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, 5); 
     264                ps.setValue(PreferenceKeys.INTERVAL_REPLIES, 12); 
     265                ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, 20); 
    253266        } 
    254267         
     
    275288                boolean useInternalBrowser = radInternalBrowser.getSelection(); 
    276289                ps.setValue(PreferenceKeys.INTERNAL_BROWSER, useInternalBrowser); 
     290                 
     291                int timeLineInterval = timeLineSpinner.getSelection(); 
     292                ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, timeLineInterval); 
     293                 
     294                int replyInterval = replySpinner.getSelection(); 
     295                ps.setValue(PreferenceKeys.INTERVAL_REPLIES, replyInterval); 
     296                 
     297                int dmInterval = dmSpinner.getSelection(); 
     298                ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, dmInterval); 
    277299        } 
    278300         
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/SabotterView.java

    r12973 r13071  
    357357                }); 
    358358                 
    359                 contentProvider = new TimeLineContentProvider(this); 
     359                contentProvider = new TimeLineContentProvider(this, pref); 
    360360                labelProvider = new TimeLineViewLabelProvider(); 
    361361        } 
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/TimeLineContentProvider.java

    r12484 r13071  
    11package jp.xet.eclipse.sabotter.views; 
     2 
     3import java.util.Date; 
    24 
    35import jp.xet.eclipse.sabotter.SabotterPlugin; 
    46import jp.xet.eclipse.sabotter.manager.TwitterManager; 
     7import jp.xet.eclipse.sabotter.preferences.SabotterPreference; 
    58 
    69import org.eclipse.jface.viewers.IStructuredContentProvider; 
     
    1518public class TimeLineContentProvider implements IStructuredContentProvider { 
    1619         
     20        private static final int ONE_MINUTE = 1000 * 60; 
     21         
    1722        private boolean disposed = false; 
    1823         
    19         /** フレンドタイムラインの自動更新間隔 */ 
    20         private static final int INTERVAL_FRIEND_TIMELINE = 70; 
    21          
    22         /** リプライの自動更新間隔 */ 
    23         private static final int INTERVAL_REPLIES = 12 * 60; 
    24          
    25         /** ダイレクトメッセージの自動更新間隔 */ 
    26         private static final int INTERVAL_DIRECT_MESSAGES = 20 * 60; 
     24        private SabotterPreference pref = null; 
    2725         
    2826 
     
    3129         *  
    3230         * @param view 
     31         * @param preference  
    3332         * @category instance creation 
    3433         */ 
    35         public TimeLineContentProvider(final SabotterView view) { 
     34        public TimeLineContentProvider(final SabotterView view, SabotterPreference preference) { 
     35                this.pref = preference; 
    3636                final Display display = SabotterPlugin.getDefault().getWorkbench().getDisplay(); 
     37                 
    3738                startInterval(display, new Runnable() { 
    3839                         
    3940                        public void run() { 
     41                                System.out.println("access timeline: " + new Date()); 
    4042                                if (display.isDisposed() || disposed) { 
    4143                                        return; 
    4244                                } 
    4345                                view.getFriendsTimeLine(); 
    44                                 display.timerExec(INTERVAL_FRIEND_TIMELINE * 1000, this); 
     46                                display.timerExec(pref.getTimeLineInterval() * ONE_MINUTE, this); 
    4547                        } 
    4648                }); 
     49                 
    4750                startInterval(display, new Runnable() { 
    4851                         
     
    5255                                } 
    5356                                view.getReplies(); 
    54                                 display.timerExec(INTERVAL_REPLIES * 1000, this); 
     57                                display.timerExec(pref.getReplyInterval() * ONE_MINUTE, this); 
    5558                        } 
    5659                }); 
     60                 
    5761                startInterval(display, new Runnable() { 
    5862                         
     
    6266                                } 
    6367                                view.getDirectMessages(); 
    64                                 display.timerExec(INTERVAL_DIRECT_MESSAGES * 1000, this); 
     68                                display.timerExec(pref.getTimeLineInterval() * ONE_MINUTE, this); 
    6569                        } 
    6670                }); 
     
    6973        private void startInterval(final Display display, Runnable runnable) { 
    7074                if (display.isDisposed() == false && disposed == false) { 
    71                         display.timerExec(INTERVAL_FRIEND_TIMELINE * 1000, runnable); 
     75                        display.timerExec(ONE_MINUTE, runnable); 
    7276                } 
    7377        }