--- 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 $'
! !