*** empty log message ***
authorfm
Tue, 25 Mar 2008 10:07:10 +0100
changeset 2323 9b257cbd0ea9
parent 2322 14839acab637
child 2324 eeac132aacbb
*** empty log message ***
Tools__InternationalLanguageTranslationEditor.st
--- a/Tools__InternationalLanguageTranslationEditor.st	Mon Mar 10 10:25:26 2008 +0100
+++ b/Tools__InternationalLanguageTranslationEditor.st	Tue Mar 25 10:07:10 2008 +0100
@@ -16,7 +16,7 @@
 		selectedColIndexHolder exampleLanguageSelectionHolder
 		exampleLanguageTextHolder pastePreviousTranslationEnableHolder
 		searchForSimilarTranslationEnableHolder alwaysWriteUTF8Holder
-		lastNameSpace'
+		lastNameSpace pasteOriginalEnableHolder'
 	classVariableNames:'LastExtractedClass LastExtractedApplicationClass
 		LastExtractedProject'
 	poolDictionaries:''
@@ -242,6 +242,15 @@
                                 enableChannel: pastePreviousTranslationEnableHolder
                                 disabledLogo: 'Paste Previous'
                               )
+                             (ActionButtonSpec
+                                label: 'Paste Original'
+                                name: 'Button1'
+                                layout: (LayoutOrigin -95 0.83085250338295 0 0.03448275862069)
+                                translateLabel: true
+                                model: pasteOriginalInLanguageText
+                                enableChannel: pasteOriginalEnableHolder
+                                disabledLogo: 'Paste Original'
+                              )
                              )
                            
                           )
@@ -814,6 +823,11 @@
     ^ originalTextModifiedHolder.
 !
 
+pasteOriginalEnableHolder
+   pasteOriginalEnableHolder isNil ifTrue:[pasteOriginalEnableHolder := false asValue]. 
+    ^ pasteOriginalEnableHolder
+!
+
 pastePreviousTranslationEnableHolder
    pastePreviousTranslationEnableHolder isNil ifTrue:[pastePreviousTranslationEnableHolder := false asValue]. 
     ^ pastePreviousTranslationEnableHolder
@@ -940,6 +954,11 @@
             answer == #acceptAsNew ifTrue:[
     self halt.        ].
         ].
+!
+
+updatePasteOriginalButtonEnabled
+
+     self pasteOriginalEnableHolder value: self shouldPasteOriginalButtonBeEnabled
 ! !
 
 !InternationalLanguageTranslationEditor methodsFor:'dialogs'!
@@ -1338,13 +1357,14 @@
 
 searchStringInLastNameSpace
 
-    |selectedKey browser|
+    |selectedKey browser lastSearchPatterns|
 
     selectedKey := self selectedKey.
     selectedKey isNil ifTrue:[^Dialog information: 'No selected key'].
     browser := NewSystemBrowser new "open".
     browser allButOpen.
-    browser lastSearchPatterns first = selectedKey ifFalse:[
+    lastSearchPatterns := browser lastSearchPatterns.
+    (lastSearchPatterns notNil and:[lastSearchPatterns first ~= selectedKey]) ifTrue:[
         browser lastSearchPatterns addFirst: selectedKey
     ].
     lastNameSpace isNil ifTrue:[
@@ -1723,6 +1743,11 @@
         and:[self hasFirstRowSelection]
 !
 
+shouldPasteOriginalButtonBeEnabled
+    ^ self hasLanguageSelection 
+        and:[self hasFirstRowSelection]
+!
+
 shouldSearchForSimilarTranslation
 
     self isSearchForSimilarTranslationEnabled ifFalse:[^false].
@@ -1918,6 +1943,17 @@
             self selectedKeyRow value: nextRowIndex].
 !
 
+pasteOriginalInLanguageText
+    <resource: #uiCallback>
+
+    | originalText|
+
+    originalText := self selectedKey.
+    languageEditor selectAll.
+    languageEditor pasteOrReplace:originalText.
+    self languageTextModifiedHolder value:true.
+!
+
 pastePreviousTranslationInLanguageText
     "Obtain the text from the previous translation and paste it into the languageTextEditor"
     
@@ -1939,6 +1975,7 @@
    self updateExampleLanguageText.
 
    self updateCopyPreviousTranslationButtonEnabled.
+   self updatePasteOriginalButtonEnabled.
 
    self originalTextModifiedHolder value:false.
    self languageTextModifiedHolder value:false.