--- 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
"
<resource: #canvas>
@@ -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