diff -r 5f9b26862c57 -r dcec4e818069 Tools__InternationalLanguageTranslationEditor.st --- a/Tools__InternationalLanguageTranslationEditor.st Mon May 15 11:08:40 2006 +0200 +++ b/Tools__InternationalLanguageTranslationEditor.st Mon May 15 15:49:52 2006 +0200 @@ -10,7 +10,9 @@ languageShownHolders dataSetView lastExtractedClass lastExtractedApplicationClass stopApplicationIconVisibleHolder monitoredApplication originalTextModifiedHolder - languageTextModifiedHolder inSingleFileMode lastExtractedProject' + languageTextModifiedHolder languageTextAcceptHolder + inSingleFileMode lastExtractedProject lastLanguage + lastSelectedKey' classVariableNames:'LastExtractedClass LastExtractedApplicationClass LastExtractedProject' poolDictionaries:'' @@ -94,9 +96,9 @@ the UIPainter may not be able to read the specification." " - UIPainter new openOnClass:InternationalLanguageTranslationEditor andSelector:#windowSpec - InternationalLanguageTranslationEditor new openInterface:#windowSpec - InternationalLanguageTranslationEditor open + UIPainter new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#windowSpec + Tools::InternationalLanguageTranslationEditor new openInterface:#windowSpec + Tools::InternationalLanguageTranslationEditor open " @@ -180,6 +182,7 @@ model: languageTextHolder hasHorizontalScrollBar: true hasVerticalScrollBar: true + acceptChannel: languageTextAcceptHolder modifiedChannel: languageTextModifiedHolder ) ) @@ -532,6 +535,13 @@ ^ holder. ! +languageTextAcceptHolder + languageTextAcceptHolder isNil ifTrue:[ + languageTextAcceptHolder := false asValue. + ]. + ^ languageTextAcceptHolder. +! + languageTextHolder languageTextHolder isNil ifTrue:[ languageTextHolder := '' asValue. @@ -586,6 +596,7 @@ shownLanguages isNil ifTrue:[ shownLanguages := List new. shownLanguages addAll:(self languagesList). + "/ shownLanguages addDependent:self. shownLanguages onChangeSend:#shownLanguagesChanged to:self. ]. ^ shownLanguages. @@ -598,6 +609,15 @@ ^ stopApplicationIconVisibleHolder. ! ! +!InternationalLanguageTranslationEditor methodsFor:'change & update'! + +update:something with:aParameter from:changedObject + changedObject == shownLanguages ifTrue:[ + self shownLanguagesChanged. + ^ self. + ]. +! ! + !InternationalLanguageTranslationEditor methodsFor:'initialization & release'! closeRequest @@ -913,10 +933,11 @@ |shownLanguagesInOrder| (self shownLanguages includes:newLang) ifFalse:[ - shownLanguagesInOrder := self languagesList - select:[:lang | (self shownLanguages includes:lang) - or:[ lang = newLang ]]. - self shownLanguages contents:shownLanguagesInOrder. +"/ shownLanguagesInOrder := self languagesList +"/ select:[:lang | (self shownLanguages includes:lang) +"/ or:[ lang = newLang ]]. +"/ self shownLanguages contents:shownLanguagesInOrder. + self shownLanguages add:newLang. ] ! @@ -1243,7 +1264,35 @@ selectionChanged |rowSelectionIndex colSelectionIndex language selectedKey originalText languageText - answer| + answer newText autoAccept| + + autoAccept := true. + + self originalTextModifiedHolder value ifTrue:[ + answer := OptionBox + request:'Accept changed original text (key) ?' + label:'Original text (key) changed' + image:(WarningBox iconBitmap) + buttonLabels:#('Cancel' 'Accept' 'Accept As New') + values:#(nil #accept #acceptAsNew) + default:#acceptAsNew. + + answer isNil ifTrue:[^ self ]. + answer == #accept ifTrue:[ +self halt. ]. + answer == #acceptAsNew ifTrue:[ +self halt. ]. + ]. + self languageTextModifiedHolder value ifTrue:[ + (autoAccept or:[Dialog confirm:'Accept changed translation ?']) ifTrue:[ + languageTextAcceptHolder value:true. +self halt. + lastLanguage notNil ifTrue:[ + newText := self languageTextHolder value asCollectionOfLines first. + keyStringsToLanguageMappings at:lastSelectedKey language:lastLanguage put:newText. + ] + ] + ]. colSelectionIndex := dataSetView selectedColIndex. language := colSelectionIndex > 1 ifTrue:[ shownLanguages at:colSelectionIndex-1 ] ifFalse:nil. @@ -1260,32 +1309,14 @@ ] ]. - self originalTextModifiedHolder value ifTrue:[ - answer := OptionBox - request:'Accept changed original text (key) ?' - label:'Original text (key) changed' - image:(WarningBox iconBitmap) - buttonLabels:#('Cancel' 'Accept' 'Accept As New') - values:#(nil #accept #acceptAsNew) - default:#acceptAsNew. - - answer isNil ifTrue:[^ self ]. - answer == #accept ifTrue:[ -self halt. ]. - answer == #acceptAsNew ifTrue:[ -self halt. ]. - ]. - self languageTextModifiedHolder value ifTrue:[ self halt. - (Dialog confirm:'Accept changed translation ?') ifTrue:[ - self halt. - ] - ]. - self originalTextHolder value:originalText. self languageTextHolder value:languageText. self originalTextModifiedHolder value:false. self languageTextModifiedHolder value:false. + + lastLanguage := language. + lastSelectedKey := selectedKey. ! shownLanguagesChanged