Assembla home | Assembla project page
 

Changeset 826:f686890a3177

Show
Ignore:
Timestamp:
08/09/08 22:14:35 (4 months ago)
Author:
Bastian Doetsch <bastian.doetsch@gmx.de>
branch:
default
Message:

"Spell checking now works on Ganymede as well."

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/com/vectrace/MercurialEclipse/dialogs/CommitDialog.java

    r825 r826  
    1919import org.eclipse.compare.ResourceNode; 
    2020import org.eclipse.core.resources.IResource; 
    21 import org.eclipse.core.runtime.Platform; 
    22 import org.eclipse.core.runtime.content.IContentType; 
    23 import org.eclipse.core.runtime.content.IContentTypeManager; 
    2421import org.eclipse.jface.dialogs.TrayDialog; 
    2522import org.eclipse.jface.text.Document; 
    2623import org.eclipse.jface.text.IDocument; 
    27 import org.eclipse.jface.text.ITextListener; 
    28 import org.eclipse.jface.text.TextEvent; 
    2924import org.eclipse.jface.text.source.AnnotationModel; 
    3025import org.eclipse.jface.text.source.ISourceViewer; 
     
    4237import org.eclipse.jface.viewers.ViewerFilter; 
    4338import org.eclipse.swt.SWT; 
     39import org.eclipse.swt.events.DisposeEvent; 
     40import org.eclipse.swt.events.DisposeListener; 
    4441import org.eclipse.swt.events.SelectionAdapter; 
    4542import org.eclipse.swt.events.SelectionEvent; 
     
    5653import org.eclipse.swt.widgets.TableColumn; 
    5754import org.eclipse.ui.editors.text.EditorsUI; 
     55import org.eclipse.ui.editors.text.TextSourceViewerConfiguration; 
    5856import org.eclipse.ui.texteditor.AnnotationPreference; 
    5957import org.eclipse.ui.texteditor.DefaultMarkerAnnotationAccess; 
    6058import org.eclipse.ui.texteditor.SourceViewerDecorationSupport; 
    6159import org.eclipse.ui.texteditor.spelling.SpellingAnnotation; 
    62 import org.eclipse.ui.texteditor.spelling.SpellingContext; 
    63 import org.eclipse.ui.texteditor.spelling.SpellingService; 
    6460 
    6561import com.vectrace.MercurialEclipse.TableColumnSorter; 
     
    6763import com.vectrace.MercurialEclipse.model.HgRoot; 
    6864import com.vectrace.MercurialEclipse.team.IStorageMercurialRevision; 
    69 import com.vectrace.MercurialEclipse.ui.TextSpellingProblemCollector; 
    7065import com.vectrace.MercurialEclipse.utils.CompareUtils; 
    7166 
     
    181176 
    182177        // set up spell-check annotations 
    183          
    184         AnnotationModel annotationModel = new AnnotationModel(); 
    185         commitTextBox.setDocument(commitTextDocument, annotationModel);         
    186          
    187178        decorationSupport = new SourceViewerDecorationSupport(commitTextBox, 
    188179                null, new DefaultMarkerAnnotationAccess(), EditorsUI 
     
    193184         
    194185        decorationSupport.setAnnotationPreference(pref); 
    195         decorationSupport.install(EditorsUI.getPreferenceStore());                        
    196  
    197         ITextListener textListener = new ITextListener() { 
    198  
    199             private SpellingService spellService; 
    200             private SpellingContext spellContext; 
    201             private TextSpellingProblemCollector collector; 
    202  
    203             public void textChanged(TextEvent event) { 
    204                 // connect to spell service if necessary 
    205                 if (spellService == null) { 
    206                     spellService = EditorsUI.getSpellingService(); 
    207                 } 
    208  
    209                 if (spellContext == null) { 
    210                     spellContext = new SpellingContext(); 
    211                     IContentType contentType = Platform.getContentTypeManager() 
    212                             .getContentType(IContentTypeManager.CT_TEXT); 
    213                     spellContext.setContentType(contentType); 
    214                 } 
    215  
    216                 if (collector == null) { 
    217                     collector = new TextSpellingProblemCollector(commitTextBox); 
    218                 } 
    219  
    220                 // check and highlight errors 
    221                 spellService.check(commitTextDocument, spellContext, collector, 
    222                         null); 
    223             } 
    224         }; 
    225         commitTextBox.addTextListener(textListener); 
     186        decorationSupport.install(EditorsUI.getPreferenceStore()); 
     187 
     188        commitTextBox.configure(new TextSourceViewerConfiguration(EditorsUI 
     189                .getPreferenceStore())); 
     190        AnnotationModel annotationModel = new AnnotationModel(); 
     191        commitTextBox.setDocument(commitTextDocument, annotationModel);        
     192        commitTextBox.getTextWidget().addDisposeListener(new DisposeListener() { 
     193 
     194            public void widgetDisposed(DisposeEvent e) { 
     195                decorationSupport.uninstall(); 
     196            } 
     197 
     198        }); 
    226199 
    227200        commitFilesLabel = new Label(container, SWT.NONE);