*** empty log message ***
authorfm
Wed, 16 Aug 2006 13:00:14 +0200
changeset 2978 482b0d4c5ad5
parent 2977 3e4b5adccfd6
child 2979 1a7c0e6ca59d
*** empty log message ***
PrintingDialog.st
--- a/PrintingDialog.st	Thu Aug 10 13:46:18 2006 +0200
+++ b/PrintingDialog.st	Wed Aug 16 13:00:14 2006 +0200
@@ -10,7 +10,7 @@
 		collateImageLabel collateActionEnabledHolder
 		paperSizeEnabledHolder statusLabel commentLabel locationLabel
 		driverNameLabel answer'
-	classVariableNames:'PrintersSettings'
+	classVariableNames:'PrintersSettings LastUsedPrinterSettings'
 	poolDictionaries:''
 	category:'Interface-Printing'
 !
@@ -509,8 +509,23 @@
 !PrintingDialog class methodsFor:'opening'!
 
 getPrinterInfo
-"Returns a PrinterInfo after selecting a printer and defining the printing settings"
-|dialog|
+"Returns a PrinterInfo by opening the Printer Dialog or by using the lastUserPrinterSettings"
+|useDefaultPrinter|
+self lastUsedPrinterSettings notNil 
+        ifTrue:[useDefaultPrinter := self confirmUsageOfDefaultPrinterSettings.
+                useDefaultPrinter isNil ifTrue:[^nil].
+                useDefaultPrinter ifTrue:[^self lastUsedPrinterSettings]
+].
+^self getPrinterInfoFromDialog
+
+
+    "Created: / 02-08-2006 / 16:46:50 / fm"
+    "Modified: / 03-08-2006 / 11:28:12 / fm"
+!
+
+getPrinterInfoFromDialog
+"Opens the Printer Dialog and returns a PrinterInfo after selecting a printer and defining the printing settings"
+|dialog|       
 dialog := self new.
 dialog openModal.
 ^dialog answer.
@@ -519,8 +534,32 @@
     "Modified: / 03-08-2006 / 11:28:12 / fm"
 ! !
 
+!PrintingDialog class methodsFor:'queries'!
+
+confirmUsageOfDefaultPrinterSettings
+
+^Dialog confirmWithCancel:'Do you want to print with current settings of printer: ', 
+                        self lastUsedPrinterSettings userFriendlyName ,'?'
+                       labels:#('Cancel' 'Open dialog' 'Print')
+                      default:3.    
+! !
+
 !PrintingDialog class methodsFor:'settings'!
 
+lastUsedPrinterSettings
+
+^LastUsedPrinterSettings
+
+    "Created: / 04-08-2006 / 13:24:18 / fm"
+!
+
+lastUsedPrinterSettings: aPrinterInfo
+
+LastUsedPrinterSettings := aPrinterInfo
+
+    "Created: / 04-08-2006 / 13:24:18 / fm"
+!
+
 printersSettings
 
 PrintersSettings isNil ifTrue:[PrintersSettings := Dictionary new].
@@ -1112,6 +1151,11 @@
     "Created: / 01-08-2006 / 15:05:08 / fm"
 !
 
+updateLastUsedPrinterSettings
+
+self class lastUsedPrinterSettings: self selectedPrinter.
+!
+
 updateModifiedCollate
 
 self collateHolder value: self selectedPrinter collate.
@@ -1237,6 +1281,7 @@
 accept
 
 answer := self selectedPrinter.
+self updateLastUsedPrinterSettings.
 self close
 
     "Created: / 31-07-2006 / 13:52:48 / fm"
@@ -1301,5 +1346,5 @@
 !PrintingDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/PrintingDialog.st,v 1.2 2006-08-07 13:27:09 fm Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/PrintingDialog.st,v 1.3 2006-08-16 11:00:14 fm Exp $'
 ! !