Changeset 12013

Show
Ignore:
Timestamp:
05/20/08 01:53:29 (7 months ago)
Author:
daisuke_m
Message:

DMに対する返信処理 / Textウィジェットの1文字目でspace入力した時に、Tableにフォーカスを移す。

Location:
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter
Files:
1 added
3 modified

Legend:

Unmodified
Added
Removed
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/action/ReplyAction.java

    r11790 r12013  
    5353                // TODO refactor 
    5454                String message = txtStatusText.getText(); 
    55                 String head = "@" + entry.getUser().getScreenName() + " "; // $NON-NLS-1$       // $NON-NLS-2$ 
    56                  
    57                 if (message.startsWith("@")) { // $NON-NLS-1$ 
    58                         message = ". " + head + message; // $NON-NLS-1$ 
    59                 } else if (message.startsWith(". @")) { // $NON-NLS-1$ 
    60                         message = ". " + head + message.substring(2); // $NON-NLS-1$ 
     55                if (entry.isDirectMessage()) { 
     56                        String head = "D " + entry.getUser().getScreenName() + " "; // $NON-NLS-1$      // $NON-NLS-2$ 
     57                        message = head + message; 
    6158                } else { 
    62                         message = head + message; 
     59                        String head = "@" + entry.getUser().getScreenName() + " "; // $NON-NLS-1$       // $NON-NLS-2$ 
     60                         
     61                        if (message.startsWith("@")) { // $NON-NLS-1$ 
     62                                message = ". " + head + message; // $NON-NLS-1$ 
     63                        } else if (message.startsWith(". @")) { // $NON-NLS-1$ 
     64                                message = ". " + head + message.substring(2); // $NON-NLS-1$ 
     65                        } else { 
     66                                message = head + message; 
     67                        } 
    6368                } 
    6469                 
     
    6873                String msg = txtStatusText.getText(); 
    6974                txtStatusText.setSelection(msg.length(), msg.length()); 
    70                  
    71                 // TODO 自分に対してReplyしようとした時、軽く警告するメカニズムを作る。 
    72                 // ダイアログ出しちゃうと重いので、もうちっと軽くできればベスト。 
    7375        } 
    7476} 
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/SabotterView.java

    r12010 r12013  
    2626import jp.xet.eclipse.sabotter.manager.TwitterManager; 
    2727import jp.xet.eclipse.sabotter.preferences.SabotterPreference; 
     28import jp.xet.eclipse.sabotter.views.listener.FocusOnSpaceKeyListener; 
    2829import jp.xet.eclipse.sabotter.views.listener.StatusTextModifyListener; 
    2930import jp.xet.eclipse.sabotter.views.listener.TabDragListener; 
     
    310311                txtSearch.addKeyListener(new AllTextSelectionAdapter(txtSearch)); 
    311312                // TODO refactor ダッサいなぁ。。 
     313                // ホントはSearchFilterだけは保存しない方がいいので、復帰の必要もないのだが。。 
     314                // 保存しちゃったからには復帰させなきゃ、ということで、こんな逃げコード。 
    312315                if (tabs.size() != 0 && tabs.get(0).getSearchFilter() != null) { 
    313316                        txtSearch 
    314317                                .setText(tabs.get(0).getSearchFilter().getPatternString()); 
    315318                } 
     319                txtSearch.addKeyListener(new FocusOnSpaceKeyListener(this, txtSearch)); 
    316320                txtSearch.addKeyListener(new KeyAdapter() { 
    317321                         
     
    436440                txtStatusText.addModifyListener(new StatusTextModifyListener( 
    437441                                txtStatusText, charCount)); 
     442                txtStatusText 
     443                        .addKeyListener(new FocusOnSpaceKeyListener(this, txtStatusText)); 
    438444                 
    439445                Button btnUpdate = new Button(inputArea, SWT.PUSH); 
  • lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/listener/StatusTextModifyListener.java

    r11933 r12013  
    5353                        Color fg; 
    5454                         
    55                         if (remain >= 20) { 
     55                        if (txtStatusText.getText().contains( 
     56                                        "@" + pref.getUsername() + " ")) { 
     57                                bg = new Color(null, 128, 0, 128); // TODO テーマ化 
     58                                fg = new Color(null, 255, 255, 255); 
     59                        } else if (remain >= 20) { 
    5660                                bg = pref.getColor(PreferColor.INPUT_NORMAL_BACKGROUND); 
    5761                                fg = pref.getColor(PreferColor.INPUT_NORMAL_FOREGROUND);