Changeset 15143
- Timestamp:
- 07/04/08 12:48:31 (5 years ago)
- Location:
- platform/eclipse/sabotter/trunk
- Files:
-
- 7 added
- 26 modified
- 1 moved
-
jp.xet.sabotter.core/src/jp/xet/sabotter/core/MiniblogEntry.java (modified) (2 diffs)
-
jp.xet.sabotter.core/src/jp/xet/sabotter/core/mock/MockEntry.java (modified) (2 diffs)
-
jp.xet.sabotter.core/src/jp/xet/sabotter/core/mock/MockService.java (modified) (3 diffs)
-
jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterAdapterWrapper.java (modified) (5 diffs)
-
jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterDirectMessageEntry.java (modified) (3 diffs)
-
jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterService.java (modified) (7 diffs)
-
jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterStatusEntry.java (modified) (4 diffs)
-
jp.xet.sabotter.core/src/jp/xet/sabotter/core/wassr/WassrEntry.java (modified) (2 diffs)
-
jp.xet.sabotter.core/src/jp/xet/sabotter/core/wassr/WassrService.java (modified) (4 diffs)
-
jp.xet.sabotter.eclipse.service.mock/plugin.xml (modified) (1 diff)
-
jp.xet.sabotter.eclipse.service.mock/src/jp/xet/sabotter/eclipse/service/mock/MockPreferencePage.java (modified) (1 diff)
-
jp.xet.sabotter.eclipse.service.mock/src/jp/xet/sabotter/eclipse/service/mock/preferences (added)
-
jp.xet.sabotter.eclipse.service.mock/src/jp/xet/sabotter/eclipse/service/mock/preferences/MockPreferenceInitializer.java (added)
-
jp.xet.sabotter.eclipse.service.twitter/plugin.xml (modified) (1 diff)
-
jp.xet.sabotter.eclipse.service.twitter/src/jp/xet/sabotter/eclipse/service/twitter/TwitterPreferencePage.java (modified) (1 diff)
-
jp.xet.sabotter.eclipse.service.twitter/src/jp/xet/sabotter/eclipse/service/twitter/preferences (added)
-
jp.xet.sabotter.eclipse.service.twitter/src/jp/xet/sabotter/eclipse/service/twitter/preferences/TwitterPreferenceInitializer.java (added)
-
jp.xet.sabotter.eclipse.service.wassr/plugin.xml (modified) (1 diff)
-
jp.xet.sabotter.eclipse.service.wassr/src/jp/xet/sabotter/eclipse/service/wassr/WassrPreferencePage.java (modified) (1 diff)
-
jp.xet.sabotter.eclipse.service.wassr/src/jp/xet/sabotter/eclipse/service/wassr/preferences (added)
-
jp.xet.sabotter.eclipse.service.wassr/src/jp/xet/sabotter/eclipse/service/wassr/preferences/WassrPreferenceInitializer.java (added)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/action/CreateFavoriteAction.java (modified) (4 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/action/ReloadTimeLineAction.java (modified) (2 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/manager/MiniblogServiceManager.java (modified) (10 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/AbstractServiceCommonPreferenceInitializer.java (added)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/AbstractServiceCommonPreferencePage.java (moved) (moved from platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/MiniblogServicePreferencePage.java) (3 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/BaloonDispayType.java (modified) (3 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/SabotterPreference.java (modified) (3 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/SabotterPreferenceImpl.java (modified) (3 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/SabotterPreferenceInitializer.java (modified) (2 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/views/LabelProcessor.java (modified) (4 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/views/SabotterView.java (modified) (6 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/views/TimeLineContentProvider.java (modified) (4 diffs)
-
jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/views/listeners/StatusTextModifyListener.java (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/MiniblogEntry.java
r15108 r15143 14 14 /** 15 15 * サービスIDを取得する。 16 * 16 17 * @return サービスID 17 18 */ … … 72 73 * 73 74 * ダイレクトメッセージであれば、常に<code>true</code>を返す。 74 * @param myId75 75 * 76 76 * @return 自分宛返信であれば<code>true</code> 77 77 */ 78 boolean isMessageToMe( String myId);78 boolean isMessageToMe(); 79 79 80 80 /** 81 81 * 自分によるEntryかどうかを調べる。 82 * @param myId82 * 83 83 * 84 84 * @return 自分によるEntryであれば<code>true</code> 85 85 */ 86 boolean isMyEntry( String myId);86 boolean isMyEntry(); 87 87 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/mock/MockEntry.java
r15108 r15143 88 88 * {@inheritDoc} 89 89 */ 90 public boolean isMessageToMe( String myId) {91 return getText().contains("@" + myId);90 public boolean isMessageToMe() { 91 return getText().contains("@" + this.user.getUserId()); 92 92 } 93 93 … … 95 95 * {@inheritDoc} 96 96 */ 97 public boolean isMyEntry( String myId) {98 return user.getUserId().equals( myId);97 public boolean isMyEntry() { 98 return user.getUserId().equals(this.user.getUserId()); 99 99 } 100 100 -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/mock/MockService.java
r15114 r15143 20 20 */ 21 21 public class MockService implements MiniblogService { 22 23 public static final String SERVICE_ID = "Mock"; 22 24 23 25 private int nextId = 1000; … … 91 93 */ 92 94 public String getServiceId() { 93 return "Mock";95 return SERVICE_ID; 94 96 } 95 97 … … 197 199 for (int i = 0; i < num; i++) { 198 200 miniblogEntry = createDummyEntry(new Date(prev.getTime() + (10000 * i)), false); 199 if (miniblogEntry.isMessageToMe( user.getUserId())) {201 if (miniblogEntry.isMessageToMe()) { 200 202 add(replies, miniblogEntry); 201 203 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterAdapterWrapper.java
r15107 r15143 24 24 private MiniblogServiceResponceListener listener; 25 25 26 private String userId; 27 26 28 27 29 /** 28 30 * コンストラクタ。 29 31 * 32 * @param userId サービスを利用中のuserId 30 33 * @param listener 31 34 */ 32 public TwitterAdapterWrapper(MiniblogServiceResponceListener listener ) {35 public TwitterAdapterWrapper(MiniblogServiceResponceListener listener, String userId) { 33 36 this.listener = listener; 37 this.userId = userId; 34 38 } 35 39 … … 44 48 45 49 for (Status status : statuses) { 46 wrapList.add(new TwitterStatusEntry(status ));50 wrapList.add(new TwitterStatusEntry(status, this.userId)); 47 51 } 48 52 … … 60 64 61 65 for (DirectMessage message : messages) { 62 wrapList.add(new TwitterDirectMessageEntry(message ));66 wrapList.add(new TwitterDirectMessageEntry(message, this.userId)); 63 67 } 64 68 … … 76 80 77 81 for (Status status : statuses) { 78 wrapList.add(new TwitterStatusEntry(status ));82 wrapList.add(new TwitterStatusEntry(status, this.userId)); 79 83 } 80 84 … … 90 94 public void onException(TwitterException ex, int method) { 91 95 // FIXME 92 // if (ex.getStatusCode() == 400) { // タイムライン取得制限93 // SabotterPlugin.handleException(ex, SabotterPlugin.DIALOG, "API limit rate over.");94 // }95 // ex.printStackTrace();96 // if (ex.getStatusCode() == 400) { // タイムライン取得制限 97 // SabotterPlugin.handleException(ex, SabotterPlugin.DIALOG, "API limit rate over."); 98 // } 99 // ex.printStackTrace(); 96 100 this.listener.onException(new MiniblogServiceException(ex), method); 97 101 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterDirectMessageEntry.java
r15090 r15143 18 18 private DirectMessage directMessage; 19 19 20 private String userId; 21 20 22 21 23 /** 22 24 * コンストラクタ。 23 25 * 26 * @param userId サービスを利用中のID 24 27 * @param directMessage 25 28 */ 26 public TwitterDirectMessageEntry(DirectMessage directMessage ) {29 public TwitterDirectMessageEntry(DirectMessage directMessage, String userId) { 27 30 this.directMessage = directMessage; 31 this.userId = userId; 28 32 } 29 33 … … 80 84 * {@inheritDoc} 81 85 */ 82 public boolean isMessageToMe( String myId) {86 public boolean isMessageToMe() { 83 87 return true; 84 88 } … … 87 91 * {@inheritDoc} 88 92 */ 89 public boolean isMyEntry( String myId) {90 return directMessage.getSender().getScreenName().equals( myId);93 public boolean isMyEntry() { 94 return directMessage.getSender().getScreenName().equals(this.userId); 91 95 } 92 96 -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterService.java
r15114 r15143 21 21 22 22 private PatentAsyncTwitterImpl twitter; 23 24 /** ツイッターサービスの ID です */ 25 public static final String SERVICE_ID = "Twitter"; 23 26 24 27 … … 71 74 */ 72 75 public String getServiceId() { 73 return "Twitter";76 return SERVICE_ID; 74 77 } 75 78 … … 78 81 */ 79 82 public final void createFavorite(String statusId, MiniblogServiceResponceListener listener) { 80 this.twitter.createFavoriteAsync(Integer.parseInt(statusId), new TwitterAdapterWrapper(listener)); 83 this.twitter.createFavoriteAsync(Integer.parseInt(statusId), new TwitterAdapterWrapper(listener, twitter 84 .getUserId())); 81 85 } 82 86 … … 86 90 public final void getFriendsTimeline(MiniblogServiceResponceListener listener) { 87 91 // this.twitter.verifyCredentials(); 88 this.twitter.getFriendsTimelineAsync(new TwitterAdapterWrapper(listener ));92 this.twitter.getFriendsTimelineAsync(new TwitterAdapterWrapper(listener, twitter.getUserId())); 89 93 } 90 94 … … 94 98 public MiniblogEntry update(String statusText) throws MiniblogServiceException { 95 99 try { 96 return new TwitterStatusEntry(this.twitter.update(statusText) );100 return new TwitterStatusEntry(this.twitter.update(statusText), twitter.getUserId()); 97 101 } catch (TwitterException e) { 98 102 throw new MiniblogServiceException(e); … … 115 119 */ 116 120 public void getReplies(MiniblogServiceResponceListener listener) { 117 twitter.getRepliesAsync(new TwitterAdapterWrapper(listener ));121 twitter.getRepliesAsync(new TwitterAdapterWrapper(listener, twitter.getUserId())); 118 122 } 119 123 … … 124 128 */ 125 129 public void getDirectMessages(MiniblogServiceResponceListener listener) { 126 twitter.getDirectMessagesAsync(new TwitterAdapterWrapper(listener ));130 twitter.getDirectMessagesAsync(new TwitterAdapterWrapper(listener, twitter.getUserId())); 127 131 } 128 132 -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterStatusEntry.java
r15108 r15143 15 15 /** 16 16 * TODO describe 17 * 17 18 * @author daisuke 18 19 */ … … 22 23 private Status status; 23 24 25 private String userId; 26 24 27 25 28 /** 26 29 * コンストラクタ。 27 30 * 31 * @param userId サービスを利用中の人の iD 28 32 * @param status 29 33 */ 30 public TwitterStatusEntry(Status status ) {34 public TwitterStatusEntry(Status status, String userId) { 31 35 this.status = status; 36 this.userId = userId; 32 37 } 33 38 … … 80 85 * {@inheritDoc} 81 86 */ 82 public boolean isMessageToMe( String myId) {83 return getText().contains("@" + myId);87 public boolean isMessageToMe() { 88 return getText().contains("@" + this.userId); 84 89 } 85 90 … … 87 92 * {@inheritDoc} 88 93 */ 89 public boolean isMyEntry( String myId) {90 return status.getUser().getScreenName().equals( myId);94 public boolean isMyEntry() { 95 return status.getUser().getScreenName().equals(this.userId); 91 96 } 92 97 -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/wassr/WassrEntry.java
r15114 r15143 99 99 * {@inheritDoc} 100 100 */ 101 public boolean isMessageToMe( String myId) {101 public boolean isMessageToMe() { 102 102 return isMessageToMe; 103 103 } … … 106 106 * {@inheritDoc} 107 107 */ 108 public boolean isMyEntry( String myId) {108 public boolean isMyEntry() { 109 109 return isMyEntry; 110 110 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/wassr/WassrService.java
r15114 r15143 34 34 private String myId; 35 35 36 /** wassr サービスの ID です */ 37 public static final String SERVICE_ID = "Wassr"; 38 36 39 37 40 /** … … 47 50 */ 48 51 public String getServiceId() { 49 return "Wassr";52 return SERVICE_ID; 50 53 } 51 54 … … 54 57 */ 55 58 public void setAccount(String userId, String password) { 56 // TODO! 59 client.setUserId(userId); 60 client.setPassword(password); 57 61 } 58 62 … … 60 64 * {@inheritDoc} 61 65 */ 62 public void changeAccount(String user name, String password) {63 // TODO Auto-generated method stub64 66 public void changeAccount(String userId, String password) { 67 client.setUserId(userId); 68 client.setPassword(password); 65 69 } 66 70 -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.mock/plugin.xml
r15101 r15143 12 12 <page 13 13 class="jp.xet.sabotter.eclipse.service.mock.MockPreferencePage" 14 id="jp.xet.sabotter.preference. twitter"14 id="jp.xet.sabotter.preference.mock" 15 15 category="jp.xet.sabotter.preference" 16 name=" Twitter"/>16 name="Mock"/> 17 17 </extension> 18 18 <extension 19 19 point="org.eclipse.core.runtime.preferences"> 20 <initializer class="jp.xet.sabotter.eclipse.service.mock.preferences.MockPreferenceInitializer"/> 20 21 </extension> 21 22 </plugin> -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.mock/src/jp/xet/sabotter/eclipse/service/mock/MockPreferencePage.java
r15114 r15143 1 1 package jp.xet.sabotter.eclipse.service.mock; 2 2 3 import jp.xet.sabotter.core.mock.MockService; 3 4 import jp.xet.sabotter.eclipse.SabotterPlugin; 4 import jp.xet.sabotter.eclipse.preferences.BaloonDispayType; 5 import jp.xet.sabotter.eclipse.preferences.MiniblogServicePreferencePage; 6 import jp.xet.sabotter.eclipse.preferences.PreferenceKeys; 7 import jp.xet.sabotter.eclipse.preferences.SabotterPreferenceInitializer; 8 9 import org.eclipse.jface.preference.IPreferenceStore; 5 import jp.xet.sabotter.eclipse.preferences.AbstractServiceCommonPreferencePage; 6 import jp.xet.sabotter.eclipse.service.mock.preferences.MockPreferenceInitializer; 10 7 11 8 /** 12 * Twitter用設定ページクラス。 UNDONE 未実装9 * Mock用設定ページクラス。 UNDONE 未実装 13 10 * 14 11 * @author daisuke 15 12 */ 16 public class MockPreferencePage extends MiniblogServicePreferencePage {13 public class MockPreferencePage extends AbstractServiceCommonPreferencePage { 17 14 15 /** 16 * {@inheritDoc} 17 */ 18 18 @Override 19 protected void setCurrentValueToControls() { 20 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 21 txtUsername.setText(ps.getString(PreferenceKeys.USERID)); 22 txtPassword.setText(ps.getString(PreferenceKeys.PASSWORD)); 23 24 spnAPILimitRate.setSelection(ps.getInt(PreferenceKeys.API_LIMIT_RATE)); 25 spnAPILimitRate.addSelectionListener(intervalListener); 26 spnTimeLineInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_FRIEND_TIMELINE)); 27 spnTimeLineInterval.addSelectionListener(intervalListener); 28 spnRepliesInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_REPLIES)); 29 spnRepliesInterval.addSelectionListener(intervalListener); 30 spnDirectMessagesInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_DIRECT_MESSAGES)); 31 spnDirectMessagesInterval.addSelectionListener(intervalListener); 19 public String getServiceId() { 20 return MockService.SERVICE_ID; 32 21 } 33 22 23 /** 24 * {@inheritDoc} 25 */ 34 26 @Override 35 protected void loadDefaultValues() { 36 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 37 ps.setValue(PreferenceKeys.USERID, SabotterPreferenceInitializer.DEF_USERNAME); 38 ps.setValue(PreferenceKeys.PASSWORD, SabotterPreferenceInitializer.DEF_PASSWORD); 39 ps.setValue(PreferenceKeys.API_LIMIT_RATE, 30); 40 ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, 5); 41 ps.setValue(PreferenceKeys.INTERVAL_REPLIES, 12); 42 ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, 20); 43 ps.setValue(PreferenceKeys.BALOON_DISPLAY_TYPE, BaloonDispayType.ALL.toString()); 27 public void loadServiceOwnDefaultValues() { 28 MockPreferenceInitializer.init(SabotterPlugin.getDefault().getPreferenceStore(), getServiceId()); 44 29 } 45 46 @Override47 protected void storeValues() {48 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore();49 ps.setValue(PreferenceKeys.USERID, txtUsername.getText());50 ps.setValue(PreferenceKeys.PASSWORD, txtPassword.getText());51 52 int apiLimitRate = spnAPILimitRate.getSelection();53 ps.setValue(PreferenceKeys.API_LIMIT_RATE, apiLimitRate);54 55 int timeLineInterval = spnTimeLineInterval.getSelection();56 ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, timeLineInterval);57 58 int replyInterval = spnRepliesInterval.getSelection();59 ps.setValue(PreferenceKeys.INTERVAL_REPLIES, replyInterval);60 61 int dmInterval = spnDirectMessagesInterval.getSelection();62 ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, dmInterval);63 }64 65 30 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.twitter/plugin.xml
r15101 r15143 18 18 <extension 19 19 point="org.eclipse.core.runtime.preferences"> 20 <initializer class="jp.xet.sabotter.eclipse.service.twitter.preferences.TwitterPreferenceInitializer"/> 20 21 </extension> 21 22 </plugin> -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.twitter/src/jp/xet/sabotter/eclipse/service/twitter/TwitterPreferencePage.java
r15114 r15143 1 1 package jp.xet.sabotter.eclipse.service.twitter; 2 2 3 import jp.xet.sabotter.core.twitter.TwitterService; 3 4 import jp.xet.sabotter.eclipse.SabotterPlugin; 4 import jp.xet.sabotter.eclipse.preferences.BaloonDispayType; 5 import jp.xet.sabotter.eclipse.preferences.MiniblogServicePreferencePage; 6 import jp.xet.sabotter.eclipse.preferences.PreferenceKeys; 7 import jp.xet.sabotter.eclipse.preferences.SabotterPreferenceInitializer; 8 9 import org.eclipse.jface.preference.IPreferenceStore; 5 import jp.xet.sabotter.eclipse.preferences.AbstractServiceCommonPreferencePage; 6 import jp.xet.sabotter.eclipse.service.twitter.preferences.TwitterPreferenceInitializer; 10 7 11 8 /** 12 * Twitter用設定ページクラス。 UNDONE 未実装9 * Twitter用設定ページクラス。 13 10 * 14 * @author daisuke 11 * @author daisuke yamashiro 15 12 */ 16 public class TwitterPreferencePage extends MiniblogServicePreferencePage {13 public class TwitterPreferencePage extends AbstractServiceCommonPreferencePage { 17 14 15 /** 16 * {@inheritDoc} 17 */ 18 18 @Override 19 protected void setCurrentValueToControls() { 20 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 21 txtUsername.setText(ps.getString(PreferenceKeys.USERID)); 22 txtPassword.setText(ps.getString(PreferenceKeys.PASSWORD)); 23 24 spnAPILimitRate.setSelection(ps.getInt(PreferenceKeys.API_LIMIT_RATE)); 25 spnAPILimitRate.addSelectionListener(intervalListener); 26 spnTimeLineInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_FRIEND_TIMELINE)); 27 spnTimeLineInterval.addSelectionListener(intervalListener); 28 spnRepliesInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_REPLIES)); 29 spnRepliesInterval.addSelectionListener(intervalListener); 30 spnDirectMessagesInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_DIRECT_MESSAGES)); 31 spnDirectMessagesInterval.addSelectionListener(intervalListener); 19 public String getServiceId() { 20 return TwitterService.SERVICE_ID; 32 21 } 33 22 23 /** 24 * {@inheritDoc} 25 */ 34 26 @Override 35 protected void loadDefaultValues() { 36 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 37 ps.setValue(PreferenceKeys.USERID, SabotterPreferenceInitializer.DEF_USERNAME); 38 ps.setValue(PreferenceKeys.PASSWORD, SabotterPreferenceInitializer.DEF_PASSWORD); 39 ps.setValue(PreferenceKeys.API_LIMIT_RATE, 30); 40 ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, 5); 41 ps.setValue(PreferenceKeys.INTERVAL_REPLIES, 12); 42 ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, 20); 43 ps.setValue(PreferenceKeys.BALOON_DISPLAY_TYPE, BaloonDispayType.ALL.toString()); 44 } 45 46 @Override 47 protected void storeValues() { 48 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 49 ps.setValue(PreferenceKeys.USERID, txtUsername.getText()); 50 ps.setValue(PreferenceKeys.PASSWORD, txtPassword.getText()); 51 52 int apiLimitRate = spnAPILimitRate.getSelection(); 53 ps.setValue(PreferenceKeys.API_LIMIT_RATE, apiLimitRate); 54 55 int timeLineInterval = spnTimeLineInterval.getSelection(); 56 ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, timeLineInterval); 57 58 int replyInterval = spnRepliesInterval.getSelection(); 59 ps.setValue(PreferenceKeys.INTERVAL_REPLIES, replyInterval); 60 61 int dmInterval = spnDirectMessagesInterval.getSelection(); 62 ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, dmInterval); 27 public void loadServiceOwnDefaultValues() { 28 TwitterPreferenceInitializer.init(SabotterPlugin.getDefault().getPreferenceStore(), getServiceId()); 63 29 } 64 30 -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.wassr/plugin.xml
r15101 r15143 14 14 id="jp.xet.sabotter.preference.wassr" 15 15 category="jp.xet.sabotter.preference" 16 name="Was sr"/>16 name="Wasr"/> 17 17 </extension> 18 <extension18 <extension 19 19 point="org.eclipse.core.runtime.preferences"> 20 <initializer class="jp.xet.sabotter.eclipse.service.wassr.preferences.WassrPreferenceInitializer"/> 21 </extension> 22 23 <extension 24 point="org.eclipse.core.runtime.preferences"> 25 <initializer class="jp.xet.sabotter.eclipse.preferences.SabotterPreferenceInitializer"/> 20 26 </extension> 21 27 </plugin> -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.wassr/src/jp/xet/sabotter/eclipse/service/wassr/WassrPreferencePage.java
r15114 r15143 1 1 package jp.xet.sabotter.eclipse.service.wassr; 2 2 3 import jp.xet.sabotter.core.wassr.WassrService; 3 4 import jp.xet.sabotter.eclipse.SabotterPlugin; 4 import jp.xet.sabotter.eclipse.preferences.BaloonDispayType; 5 import jp.xet.sabotter.eclipse.preferences.MiniblogServicePreferencePage; 6 import jp.xet.sabotter.eclipse.preferences.PreferenceKeys; 7 import jp.xet.sabotter.eclipse.preferences.SabotterPreferenceInitializer; 8 9 import org.eclipse.jface.preference.IPreferenceStore; 5 import jp.xet.sabotter.eclipse.preferences.AbstractServiceCommonPreferencePage; 6 import jp.xet.sabotter.eclipse.service.wassr.preferences.WassrPreferenceInitializer; 10 7 11 8 /** 12 * Wassr用設定ページクラス。 UNDONE 未実装9 * Wassr用設定ページクラス。 13 10 * 14 * @author daisuke 11 * @author daisuke yamashiro 15 12 */ 16 public class WassrPreferencePage extends MiniblogServicePreferencePage {13 public class WassrPreferencePage extends AbstractServiceCommonPreferencePage { 17 14 15 /** 16 * {@inheritDoc} 17 */ 18 18 @Override 19 protected void setCurrentValueToControls() { 20 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 21 txtUsername.setText(ps.getString(PreferenceKeys.USERID)); 22 txtPassword.setText(ps.getString(PreferenceKeys.PASSWORD)); 23 24 spnAPILimitRate.setSelection(ps.getInt(PreferenceKeys.API_LIMIT_RATE)); 25 spnAPILimitRate.addSelectionListener(intervalListener); 26 spnTimeLineInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_FRIEND_TIMELINE)); 27 spnTimeLineInterval.addSelectionListener(intervalListener); 28 spnRepliesInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_REPLIES)); 29 spnRepliesInterval.addSelectionListener(intervalListener); 30 spnDirectMessagesInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_DIRECT_MESSAGES)); 31 spnDirectMessagesInterval.addSelectionListener(intervalListener); 19 public String getServiceId() { 20 return WassrService.SERVICE_ID; 32 21 } 33 22 23 /** 24 * {@inheritDoc} 25 */ 34 26 @Override 35 protected void loadDefaultValues() { 36 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 37 ps.setValue(PreferenceKeys.USERID, SabotterPreferenceInitializer.DEF_USERNAME); 38 ps.setValue(PreferenceKeys.PASSWORD, SabotterPreferenceInitializer.DEF_PASSWORD); 39 ps.setValue(PreferenceKeys.API_LIMIT_RATE, 30); 40 ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, 5); 41 ps.setValue(PreferenceKeys.INTERVAL_REPLIES, 12); 42 ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, 20); 43 ps.setValue(PreferenceKeys.BALOON_DISPLAY_TYPE, BaloonDispayType.ALL.toString()); 27 public void loadServiceOwnDefaultValues() { 28 WassrPreferenceInitializer.init(SabotterPlugin.getDefault().getPreferenceStore(), getServiceId()); 44 29 } 45 46 @Override47 protected void storeValues() {48 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore();49 ps.setValue(PreferenceKeys.USERID, txtUsername.getText());50 ps.setValue(PreferenceKeys.PASSWORD, txtPassword.getText());51 52 int apiLimitRate = spnAPILimitRate.getSelection();53 ps.setValue(PreferenceKeys.API_LIMIT_RATE, apiLimitRate);54 55 int timeLineInterval = spnTimeLineInterval.getSelection();56 ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, timeLineInterval);57 58 int replyInterval = spnRepliesInterval.getSelection();59 ps.setValue(PreferenceKeys.INTERVAL_REPLIES, replyInterval);60 61 int dmInterval = spnDirectMessagesInterval.getSelection();62 ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, dmInterval);63 }64 65 30 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/action/CreateFavoriteAction.java
r15092 r15143 2 2 3 3 import jp.xet.sabotter.core.MiniblogEntry; 4 import jp.xet.sabotter.core.MiniblogServiceResponceListener;5 4 import jp.xet.sabotter.eclipse.manager.MiniblogServiceManager; 6 5 import jp.xet.sabotter.eclipse.views.SabotterView; … … 22 21 private SabotterView view; 23 22 24 /** 結果ハンドラ */25 private MiniblogServiceResponceListener listener;26 27 23 28 24 /** … … 32 28 * @param listener creation 33 29 */ 34 public CreateFavoriteAction(SabotterView view , MiniblogServiceResponceListener listener) {30 public CreateFavoriteAction(SabotterView view) { 35 31 setText(Messages.action_create_favorite); 36 32 setToolTipText(Messages.tooltip_create_favorite); 37 33 this.view = view; 38 this.listener = listener;39 34 } 40 35 … … 52 47 if (entryObj instanceof MiniblogEntry) { 53 48 String targetEntryId = ((MiniblogEntry) entryObj).getId(); 54 MiniblogServiceManager.getInstance().createFavorite(targetEntryId , listener);49 MiniblogServiceManager.getInstance().createFavorite(targetEntryId); 55 50 } 56 51 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/action/ReloadTimeLineAction.java
r15092 r15143 30 30 * 31 31 * @param listener 32 * @param view 33 * @category instance creation 32 * @param view creation 34 33 */ 35 34 public ReloadTimeLineAction(MiniblogServiceResponceListener listener, SabotterView view) { … … 47 46 @Override 48 47 public void run() { 49 // SabotterPlugin.log(org.eclipse.core.runtime.Status.INFO, 0, "Sabotter: update timeline on " + new Date()); // $NON-NLS-1$ 48 // SabotterPlugin.log(org.eclipse.core.runtime.Status.INFO, 0, "Sabotter: update timeline on " + new Date()); // 49 // $NON-NLS-1$ 50 50 System.out.println("Sabotter: update timeline on " + new Date()); 51 51 // ↓ちと強引だなぁ。。。 52 52 ApplicationWindow window = (ApplicationWindow) view.getViewSite().getWorkbenchWindow(); 53 53 window.setStatus("Requesting friends time line"); 54 MiniblogServiceManager.getInstance().getFriendsTimeline( listener);54 MiniblogServiceManager.getInstance().getFriendsTimeline(); 55 55 window.setStatus("Requesting replies"); 56 MiniblogServiceManager.getInstance().getReplies( listener);56 MiniblogServiceManager.getInstance().getReplies(); 57 57 window.setStatus("Requesting direct messages"); 58 MiniblogServiceManager.getInstance().getDirectMessages( listener);58 MiniblogServiceManager.getInstance().getDirectMessages(); 59 59 window.setStatus("Waiting responses..."); 60 60 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/manager/MiniblogServiceManager.java
r15114 r15143 28 28 import org.eclipse.jface.viewers.TableViewer; 29 29 import org.eclipse.jface.viewers.ViewerFilter; 30 import org.eclipse.swt.widgets.Display; 30 31 31 32 /** … … 36 37 public class MiniblogServiceManager implements IPropertyChangeListener { 37 38 39 private static final int ONE_MINUTE = 1000 * 60; 40 38 41 /** Miniblog APIラッパー */ 39 42 private List<MiniblogService> miniblogServices = new ArrayList<MiniblogService>(); … … 41 44 /** 取得したEntryを保持するSet */ 42 45 private SortedSet<MiniblogEntry> allEntries = new TreeSet<MiniblogEntry>(new EntryComparator()); 46 47 private MiniblogServiceResponceListener responceListener; 48 49 private boolean disposed; 43 50 44 51 /** singletonインスタンス */ … … 75 82 ps.addPropertyChangeListener(this); // Preferenceの変更をリスン 76 83 77 String userId = ps.getString(PreferenceKeys.USERID);78 String password = ps.getString(PreferenceKeys.PASSWORD);79 80 84 Map<String, IConfigurationElement> factoryMap = SabotterPlugin.getServiceResolver().getServiceFactories(); 81 85 for (Map.Entry<String, IConfigurationElement> entry : factoryMap.entrySet()) { … … 83 87 IConfigurationElement factory = entry.getValue(); 84 88 try { 85 MiniblogService service = (MiniblogService) factory.createExecutableExtension("class"); 89 final MiniblogService service = (MiniblogService) factory.createExecutableExtension("class"); 90 91 // String userId = ps.getString(service.getServiceId() + PreferenceKeys.USERID); 92 // String password = ps.getString(service.getServiceId() + PreferenceKeys.PASSWORD); 93 String userId = ps.getString(PreferenceKeys.USERID); 94 String password = ps.getString(PreferenceKeys.PASSWORD); 95 86 96 service.setAccount(userId, password); 87 97 miniblogServices.add(service); 98 99 final Display display = SabotterPlugin.getDefault().getWorkbench().getDisplay(); 100 startInterval(display, new Runnable() { 101 102 public void run() { 103 if (display.isDisposed() || disposed) { 104 return; 105 } 106 getFriendsTimeline(); 107 display.timerExec(pref.getTimeLineInterval(service) * ONE_MINUTE, this); 108 } 109 }); 110 111 startInterval(display, new Runnable() { 112 113 public void run() { 114 if (display.isDisposed() || disposed) { 115 return; 116 } 117 getReplies(); 118 display.timerExec(pref.getReplyInterval(service) * ONE_MINUTE, this); 119 } 120 }); 121 122 startInterval(display, new Runnable() { 123 124 public void run() { 125 if (display.isDisposed() || disposed) { 126 return; 127 } 128 getDirectMessages(); 129 display.timerExec(pref.getDMInterval(service) * ONE_MINUTE, this); 130 } 131 }); 88 132 } catch (CoreException e) { 89 133 SabotterPlugin.handleException(e); 90 134 } 91 135 } 136 } 137 } 138 139 private void startInterval(final Display display, Runnable runnable) { 140 if (display.isDisposed() == false && disposed == false) { 141 display.timerExec(ONE_MINUTE, runnable); 92 142 } 93 143 } … … 164 214 while (numberToCutoff > 0 && ite.hasNext()) { 165 215 MiniblogEntry miniblogEntry = ite.next(); 166 if (miniblogEntry.isMessageToMe( pref.getUserId()) && miniblogEntry.isUnread()) {216 if (miniblogEntry.isMessageToMe() && miniblogEntry.isUnread()) { 167 217 continue; 168 218 } … … 221 271 * @param listener 取得した後のデータハンドラ 222 272 */ 223 public void getFriendsTimeline( MiniblogServiceResponceListener listener) {224 for (MiniblogService service : miniblogServices) { 225 service.getFriendsTimeline( listener);273 public void getFriendsTimeline() { 274 for (MiniblogService service : miniblogServices) { 275 service.getFriendsTimeline(responceListener); 226 276 } 227 277 } … … 232 282 * @param listener 取得した後のデータハンドラ 233 283 */ 234 public void getReplies( MiniblogServiceResponceListener listener) {235 for (MiniblogService service : miniblogServices) { 236 service.getReplies( listener);284 public void getReplies() { 285 for (MiniblogService service : miniblogServices) { 286 service.getReplies(responceListener); 237 287 } 238 288 } … … 241 291 * DirectMessageを取得する。 242 292 * 243 * @param listener 244 */ 245 public void getDirectMessages(MiniblogServiceResponceListener listener) { 246 for (MiniblogService service : miniblogServices) { 247 service.getDirectMessages(listener); 293 */ 294 public void getDirectMessages() { 295 for (MiniblogService service : miniblogServices) { 296 service.getDirectMessages(responceListener); 248 297 } 249 298 } … … 278 327 * @param listener ふぁぼった後のデータハンドラ 279 328 */ 280 public void createFavorite(String id, MiniblogServiceResponceListener listener) { 281 for (MiniblogService service : miniblogServices) { 282 service.createFavorite(id, listener); 283 } 329 public void createFavorite(String id) { 330 for (MiniblogService service : miniblogServices) { 331 service.createFavorite(id, responceListener); 332 } 333 } 334 335 public void setMiniblogServiceResponceListener(MiniblogServiceResponceListener responceListener) { 336 this.responceListener = responceListener; 337 } 338 339 public void dispose() { 340 this.disposed = true; 284 341 } 285 342 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/AbstractServiceCommonPreferencePage.java
r15092 r15143 4 4 import jp.xet.sabotter.eclipse.helper.TextSelectionOnFocusAdapter; 5 5 6 import org.eclipse.jface.preference.IPreferenceStore; 6 7 import org.eclipse.jface.preference.PreferencePage; 7 8 import org.eclipse.swt.SWT; … … 20 21 21 22 /** 22 * 設定ページクラス。23 * 共通設定ページクラス。 23 24 * 24 * @author daisuke 25 * @author daisuke yamashiro 25 26 */ 26 public abstract class MiniblogServicePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {27 public abstract class AbstractServiceCommonPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { 27 28 28 29 protected Text txtUsername; … … 220 221 } 221 222 222 protected abstract void setCurrentValueToControls(); 223 224 protected abstract void loadDefaultValues(); 225 226 protected abstract void storeValues(); 227 223 protected void setCurrentValueToControls() { 224 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 225 txtUsername.setText(ps.getString(getServiceId() + PreferenceKeys.USERID)); 226 txtPassword.setText(ps.getString(getServiceId() + PreferenceKeys.PASSWORD)); 227 228 spnAPILimitRate.setSelection(ps.getInt(getServiceId() + PreferenceKeys.API_LIMIT_RATE)); 229 spnAPILimitRate.addSelectionListener(intervalListener); 230 spnTimeLineInterval.setSelection(ps.getInt(getServiceId() + PreferenceKeys.INTERVAL_FRIEND_TIMELINE)); 231 spnTimeLineInterval.addSelectionListener(intervalListener); 232 spnRepliesInterval.setSelection(ps.getInt(getServiceId() + PreferenceKeys.INTERVAL_REPLIES)); 233 spnRepliesInterval.addSelectionListener(intervalListener); 234 spnDirectMessagesInterval.setSelection(ps.getInt(getServiceId() + PreferenceKeys.INTERVAL_DIRECT_MESSAGES)); 235 spnDirectMessagesInterval.addSelectionListener(intervalListener); 236 } 237 238 protected void loadDefaultValues() { 239 loadServiceOwnDefaultValues(); 240 241 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 242 ps.setValue(getServiceId() + PreferenceKeys.USERID, SabotterPreferenceInitializer.DEF_USERNAME); 243 ps.setValue(getServiceId() + PreferenceKeys.PASSWORD, SabotterPreferenceInitializer.DEF_PASSWORD); 244 ps.setValue(getServiceId() + PreferenceKeys.BALOON_DISPLAY_TYPE, BaloonDispayType.ALL.toString()); 245 } 246 247 protected void storeValues() { 248 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 249 ps.setValue(getServiceId() + PreferenceKeys.USERID, txtUsername.getText()); 250 ps.setValue(getServiceId() + PreferenceKeys.PASSWORD, txtPassword.getText()); 251 252 int apiLimitRate = spnAPILimitRate.getSelection(); 253 ps.setValue(getServiceId() + PreferenceKeys.API_LIMIT_RATE, apiLimitRate); 254 255 int timeLineInterval = spnTimeLineInterval.getSelection(); 256 ps.setValue(getServiceId() + PreferenceKeys.INTERVAL_FRIEND_TIMELINE, timeLineInterval); 257 258 int replyInterval = spnRepliesInterval.getSelection(); 259 ps.setValue(getServiceId() + PreferenceKeys.INTERVAL_REPLIES, replyInterval); 260 261 int dmInterval = spnDirectMessagesInterval.getSelection(); 262 ps.setValue(getServiceId() + PreferenceKeys.INTERVAL_DIRECT_MESSAGES, dmInterval); 263 } 264 265 /** 266 * サービスの ID を返します 267 * 268 * @return サービスのID 269 */ 270 public abstract String getServiceId(); 271 272 /** 273 * サービス固有のデフォルト値を元に戻します 274 */ 275 public abstract void loadServiceOwnDefaultValues(); 228 276 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/BaloonDispayType.java
r15108 r15143 5 5 /** 6 6 * バルーンを表示する際のフィルタリングの種別を表します 7 * 7 8 * @author daisuke 8 9 */ … … 22 23 /** 23 24 * @return the displayName 24 * @category accessing25 * 25 26 */ 26 27 public String getDisplayName() { … … 30 31 /** 31 32 * @param miniblogEntry 32 * @param myId33 33 * @return 指定されたエントリーが設定上表示しない場合falseを返します 34 34 */ 35 public boolean shouldDisplay(MiniblogEntry miniblogEntry , String myId) {36 if (this == REPLY_TO_ME && !miniblogEntry.isMessageToMe( myId)) {35 public boolean shouldDisplay(MiniblogEntry miniblogEntry) { 36 if (this == REPLY_TO_ME && !miniblogEntry.isMessageToMe()) { 37 37 return false; 38 38 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/SabotterPreference.java
r15114 r15143 1 1 package jp.xet.sabotter.eclipse.preferences; 2 3 import jp.xet.sabotter.core.MiniblogService; 2 4 3 5 import org.eclipse.jface.preference.IPreferenceStore; … … 22 24 * 設定されたユーザ名を取得する。 23 25 * 26 * @param service サービス 24 27 * @return ユーザ名 25 28 */ 26 String getUserId( );29 String getUserId(MiniblogService service); 27 30 28 31 /** 29 32 * 設定されたパスワードを取得する。 30 33 * 34 * @param service サービス 31 35 * @return パスワード 32 36 */ 33 String getPassword( );34 35 /** 36 * 設定された画像加工タイプを取得する。37 String getPassword(MiniblogService service); 38 39 /** 40 * a 設定された画像加工タイプを取得する。 37 41 * 38 42 * @return 画像加工タイプ … … 184 188 * TimeLineの取得間隔を取得する。 185 189 * 190 * @param service サービス 186 191 * @return TimeLineの取得間隔 187 192 */ 188 public int getTimeLineInterval( );193 public int getTimeLineInterval(MiniblogService service); 189 194 190 195 /** 191 196 * Replyの取得間隔を取得する。 192 197 * 198 * @param service サービス 193 199 * @return Replyの取得間隔 194 200 */ 195 public int getReplyInterval( );201 public int getReplyInterval(MiniblogService service); 196 202 197 203 /** 198 204 * DirectMessageの取得間隔取得する。 199 205 * 206 * @param service サービス 200 207 * @return DirectMessageの 201 208 */ 202 public int getDMInterval( );209 public int getDMInterval(MiniblogService service); 203 210 204 211 /** -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/SabotterPreferenceImpl.java
r15114 r15143 1 1 package jp.xet.sabotter.eclipse.preferences; 2 2 3 import jp.xet.sabotter.core.MiniblogService; 3 4 import jp.xet.sabotter.eclipse.SabotterPlugin; 4 5 import jp.xet.sabotter.eclipse.exception.SabotterRuntimeException; … … 32 33 * Override method. 33 34 * 34 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getPassword( )35 */ 36 public String getPassword( ) {37 return ps.getString( PreferenceKeys.PASSWORD);38 } 39 40 /** 41 * Override method. 42 * 43 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getUserId( )44 */ 45 public String getUserId( ) {46 return ps.getString( PreferenceKeys.USERID);35 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getPassword(MiniblogService) 36 */ 37 public String getPassword(MiniblogService service) { 38 return ps.getString(service.getServiceId() + PreferenceKeys.PASSWORD); 39 } 40 41 /** 42 * Override method. 43 * 44 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getUserId(MiniblogService) 45 */ 46 public String getUserId(MiniblogService service) { 47 return ps.getString(service.getServiceId() + PreferenceKeys.USERID); 47 48 } 48 49 … … 273 274 274 275 /** 275 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getTimeLineInterval() 276 */ 277 public int getTimeLineInterval() { 278 return ps.getInt(PreferenceKeys.INTERVAL_FRIEND_TIMELINE); 279 } 280 281 /** 282 * Override method. 283 * 284 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getReplyInterval() 285 */ 286 public int getReplyInterval() { 287 return ps.getInt(PreferenceKeys.INTERVAL_REPLIES); 288 } 289 290 /** 291 * Override method. 292 * 293 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getDMInterval() 294 */ 295 public int getDMInterval() { 296 return ps.getInt(PreferenceKeys.INTERVAL_DIRECT_MESSAGES); 276 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getTimeLineInterval(MiniblogService) 277 */ 278 public int getTimeLineInterval(MiniblogService service) { 279 int result = ps.getInt(service.getServiceId() + PreferenceKeys.INTERVAL_FRIEND_TIMELINE); 280 return result; 281 } 282 283 /** 284 * Override method. 285 * 286 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getReplyInterval(MiniblogService) 287 */ 288 public int getReplyInterval(MiniblogService service) { 289 int result = ps.getInt(service.getServiceId() + PreferenceKeys.INTERVAL_REPLIES); 290 return result; 291 } 292 293 /** 294 * Override method. 295 * 296 * @see jp.xet.sabotter.eclipse.preferences.SabotterPreference#getDMInterval(MiniblogService) 297 */ 298 public int getDMInterval(MiniblogService service) { 299 int result = ps.getInt(service.getServiceId() + PreferenceKeys.INTERVAL_DIRECT_MESSAGES); 300 return result; 297 301 } 298 302 -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/preferences/SabotterPreferenceInitializer.java
r15114 r15143 28 28 public void initializeDefaultPreferences() { 29 29 Preferences preferences = SabotterPlugin.getDefault().getPluginPreferences(); 30 31 preferences.setDefault(PreferenceKeys.USERID, DEF_USERNAME);32 preferences.setDefault(PreferenceKeys.PASSWORD, DEF_PASSWORD);33 30 preferences.setDefault(PreferenceKeys.IMAGE_PROCESS_TYPE, ImageProcessType.SIZE16.getId()); 34 31 preferences.setDefault(PreferenceKeys.NAME_TYPE, NameDisplayType.NAME.getId()); … … 37 34 preferences.setDefault(PreferenceKeys.UNREAD_MANAGEMENT, true); 38 35 preferences.setDefault(PreferenceKeys.INTERNAL_BROWSER, true); 39 preferences.setDefault(PreferenceKeys.API_LIMIT_RATE, 30); 40 preferences.setDefault(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, 5); 41 preferences.setDefault(PreferenceKeys.INTERVAL_REPLIES, 12); 42 preferences.setDefault(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, 20); 36 43 37 preferences.setDefault(PreferenceKeys.BALOON_DISPLAY_TYPE, BaloonDispayType.ALL.toString()); 44 38 -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/views/LabelProcessor.java
r15114 r15143 23 23 24 24 /** 表示する日付のフォーマット */ 25 private DateFormat dfOut = new SimpleDateFormat("HH:mm:ss yyyy/MM/dd", Locale.getDefault()); // TODO 国際化で外部化した方がいいかな? 25 private DateFormat dfOut = new SimpleDateFormat("HH:mm:ss yyyy/MM/dd", Locale.getDefault()); // TODO 26 27 // 国際化で外部化した方がいいかな? 26 28 27 29 private ImageManager imageManager = ImageManager.getInstance(); … … 108 110 */ 109 111 public Color getBackgroundColor(MiniblogEntry status) { 110 if (status.isMyEntry( pref.getUserId())) {112 if (status.isMyEntry()) { 111 113 return pref.getOwnEntryBackgroundColor(); 112 } else if (status.isMessageToMe( pref.getUserId())) {114 } else if (status.isMessageToMe()) { 113 115 return pref.getReplyEntryBackgroundColor(); 114 116 } else if (status.isUnread()) { … … 126 128 */ 127 129 public Color getForegroundColor(MiniblogEntry status) { 128 if (status.isMyEntry( pref.getUserId())) {130 if (status.isMyEntry()) { 129 131 return pref.getOwnEntryForegroundColor(); 130 } else if (status.isMessageToMe( pref.getUserId())) {132 } else if (status.isMessageToMe()) { 131 133 return pref.getReplyEntryForegroundColor(); 132 134 } else if (status.isUnread()) { … … 144 146 */ 145 147 public Font getFont(MiniblogEntry status) { 146 if (!status.isMyEntry( pref.getUserId()) && status.isUnread()) {148 if (!status.isMyEntry() && status.isUnread()) { 147 149 return pref.getUnreadEntryFont(); 148 150 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/views/SabotterView.java
r15141 r15143 221 221 StringBuilder sb = new StringBuilder(); 222 222 for (MiniblogEntry miniblogEntry : toAdd) { 223 if (pref.getBaloonDisplayType().shouldDisplay(miniblogEntry , pref.getUserId())) {223 if (pref.getBaloonDisplayType().shouldDisplay(miniblogEntry)) { 224 224 sb.append(miniblogEntry.getUser().getName()).append(" : ").append(miniblogEntry.getText()) 225 225 .append("\n"); … … 252 252 SabotterPlugin.handleException(e, SabotterPlugin.LOG); 253 253 } 254 MiniblogServiceManager.getInstance().setMiniblogServiceResponceListener(new SabotterListener()); 254 255 TagManager.setTagMap(state.getTagMap()); 255 256 } … … 399 400 }); 400 401 401 contentProvider = new TimeLineContentProvider( this, pref);402 contentProvider = new TimeLineContentProvider(); 402 403 labelProvider = new TimeLineViewLabelProvider(); 403 404 } … … 501 502 actions.put(ReloadTimeLineAction.ACTION_ID, reloadTimeLineAction); 502 503 503 Action createFavoriteAction = new CreateFavoriteAction(this , new MiniblogServiceResponceAdapter());504 Action createFavoriteAction = new CreateFavoriteAction(this); 504 505 createFavoriteAction.setImageDescriptor(imageRegistry.getDescriptor(Images.ICON_FAVO)); 505 506 actions.put(CreateFavoriteAction.ACTION_ID, createFavoriteAction); … … 591 592 592 593 /** 593 * タイムラインを取得する。594 */595 public void getTimeLine() {596 getFriendsTimeLine();597 getReplies();598 getDirectMessages();599 }600 601 /**602 * フレンドタイムラインの取得処理を始める。603 */604 public void getFriendsTimeLine() {605 SabotterListener listener = new SabotterListener();606 MiniblogServiceManager.getInstance().getFriendsTimeline(listener);607 }608 609 /**610 * 返信の取得処理を始める。611 */612 public void getReplies() {613 SabotterListener listener = new SabotterListener();614 MiniblogServiceManager.getInstance().getReplies(listener);615 }616 617 /**618 * ダイレクトメッセージの取得処理を始める。619 */620 public void getDirectMessages() {621 SabotterListener listener = new SabotterListener();622 MiniblogServiceManager.getInstance().getDirectMessages(listener);623 }624 625 /**626 594 * ビューがフォーカスを受け取った時に実行される。フォーカスをビューアに渡す。 627 595 * … … 680 648 return actions; 681 649 } 650 651 /** 652 * {@inheritDoc} 653 */ 654 @Override 655 public void dispose() { 656 super.dispose(); 657 MiniblogServiceManager.getInstance().dispose(); 658 } 682 659 } -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/views/TimeLineContentProvider.java
r15092 r15143 1 1 package jp.xet.sabotter.eclipse.views; 2 2 3 import jp.xet.sabotter.eclipse.SabotterPlugin;4 3 import jp.xet.sabotter.eclipse.manager.MiniblogServiceManager; 5 import jp.xet.sabotter.eclipse.preferences.SabotterPreference;6 7 4 import org.eclipse.jface.viewers.IStructuredContentProvider; 8 5 import org.eclipse.jface.viewers.Viewer; 9 import org.eclipse.swt.widgets.Display;10 6 11 7 /** … … 16 12 public class TimeLineContentProvider implements IStructuredContentProvider { 17 13 18 private static final int ONE_MINUTE = 1000 * 60;19 20 private boolean disposed = false;21 22 private SabotterPreference pref = null;23 24 25 14 /** 26 15 * コンストラクタ。 27 16 * 28 * @param view29 * @param preference30 * @category instance creation31 17 */ 32 public TimeLineContentProvider(final SabotterView view, SabotterPreference preference) { 33 this.pref = preference; 34 final Display display = SabotterPlugin.getDefault().getWorkbench().getDisplay(); 35 36 startInterval(display, new Runnable() { 37 38 public void run() { 39 if (display.isDisposed() || disposed) { 40 return; 41 } 42 view.getFriendsTimeLine(); 43 display.timerExec(pref.getTimeLineInterval() * ONE_MINUTE, this); 44 } 45 }); 46 47 startInterval(display, new Runnable() { 48 49 public void run() { 50 if (display.isDisposed() || disposed) { 51 return; 52 } 53 view.getReplies(); 54 display.timerExec(pref.getReplyInterval() * ONE_MINUTE, this); 55 } 56 }); 57 58 startInterval(display, new Runnable() { 59 60 public void run() { 61 if (display.isDisposed() || disposed) { 62 return; 63 } 64 view.getDirectMessages(); 65 display.timerExec(pref.getTimeLineInterval() * ONE_MINUTE, this); 66 } 67 }); 68 } 69 70 private void startInterval(final Display display, Runnable runnable) { 71 if (display.isDisposed() == false && disposed == false) { 72 display.timerExec(ONE_MINUTE, runnable); 73 } 18 public TimeLineContentProvider() { 74 19 } 75 20 … … 77 22 * Override method. 78 23 * 79 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, 80 * java.lang.Object , java.lang.Object)24 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, 25 * java.lang.Object) 81 26 */ 82 27 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { … … 89 34 */ 90 35 public void dispose() { 91 disposed = true;92 36 } 93 37 -
platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse/src/jp/xet/sabotter/eclipse/views/listeners/StatusTextModifyListener.java
r15114 r15143 29 29 /** 30 30 * コンストラクタ。 31 * 31 32 * @param txtStatusText 32 33 * 33 * @param charCount 34 * @category instance creation 34 * @param charCount creation 35 35 */ 36 36 public StatusTextModifyListener(Text txtStatusText, Label charCount) { … … 53 53 Color fg; 54 54 55 if (txtStatusText.getText().contains("@" + pref.getUserId() + " ")) {56 bg = new Color(null, 128, 0, 128); // TODO テーマ化57 fg = new Color(null, 255, 255, 255);58 } elseif (remain >= 20) {55 /* 56 * TODO if (txtStatusText.getText().contains("@" + pref.getUserId() + " ")) { bg = new Color(null, 128, 0, 57 * 128); // TODO テーマ化 fg = new Color(null, 255, 255, 255); } else 58 */if (remain >= 20) { 59 59 bg = pref.getColor(PreferColor.INPUT_NORMAL_BACKGROUND); 60 60 fg = pref.getColor(PreferColor.INPUT_NORMAL_FOREGROUND);
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)