1*d119d52dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir *
3*d119d52dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d119d52dSAndrew Rist * or more contributor license agreements. See the NOTICE file
5*d119d52dSAndrew Rist * distributed with this work for additional information
6*d119d52dSAndrew Rist * regarding copyright ownership. The ASF licenses this file
7*d119d52dSAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d119d52dSAndrew Rist * "License"); you may not use this file except in compliance
9*d119d52dSAndrew Rist * with the License. You may obtain a copy of the License at
10*d119d52dSAndrew Rist *
11*d119d52dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0
12*d119d52dSAndrew Rist *
13*d119d52dSAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d119d52dSAndrew Rist * software distributed under the License is distributed on an
15*d119d52dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d119d52dSAndrew Rist * KIND, either express or implied. See the License for the
17*d119d52dSAndrew Rist * specific language governing permissions and limitations
18*d119d52dSAndrew Rist * under the License.
19*d119d52dSAndrew Rist *
20*d119d52dSAndrew Rist *************************************************************/
21*d119d52dSAndrew Rist
22*d119d52dSAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_sfx2.hxx"
26cdf0e10cSrcweir
27cdf0e10cSrcweir #ifndef GCC
28cdf0e10cSrcweir #endif
29cdf0e10cSrcweir #include <vcl/msgbox.hxx>
30cdf0e10cSrcweir #include <unotools/printwarningoptions.hxx>
31cdf0e10cSrcweir #include <svtools/printoptions.hxx>
32cdf0e10cSrcweir #include <svl/flagitem.hxx>
33cdf0e10cSrcweir
34cdf0e10cSrcweir
35cdf0e10cSrcweir #include "printopt.hrc"
36cdf0e10cSrcweir #include "dialog.hrc"
37cdf0e10cSrcweir #include "sfx2/sfxresid.hxx"
38cdf0e10cSrcweir #include <sfx2/viewsh.hxx>
39cdf0e10cSrcweir #include <sfx2/printopt.hxx>
40cdf0e10cSrcweir
41cdf0e10cSrcweir // -----------
42cdf0e10cSrcweir // - statics -
43cdf0e10cSrcweir // -----------
44cdf0e10cSrcweir
45cdf0e10cSrcweir static sal_uInt16 aDPIArray[] = { 72, 96, 150, 200, 300, 600 };
46cdf0e10cSrcweir static sal_Bool bOutputForPrinter = sal_True;
47cdf0e10cSrcweir
48cdf0e10cSrcweir #define DPI_COUNT (sizeof(aDPIArray)/sizeof(aDPIArray[0 ]))
49cdf0e10cSrcweir
50cdf0e10cSrcweir // --------------------------------
51cdf0e10cSrcweir // - SfxCommonPrintOptionsTabPage -
52cdf0e10cSrcweir // --------------------------------
53cdf0e10cSrcweir
SfxCommonPrintOptionsTabPage(Window * pParent,const SfxItemSet & rSet)54cdf0e10cSrcweir SfxCommonPrintOptionsTabPage::SfxCommonPrintOptionsTabPage( Window* pParent, const SfxItemSet& rSet ) :
55cdf0e10cSrcweir SfxTabPage( pParent, SfxResId( TP_COMMONPRINTOPTIONS ), rSet ),
56cdf0e10cSrcweir
57cdf0e10cSrcweir aReduceGB( this, SfxResId( GB_REDUCE ) ),
58cdf0e10cSrcweir aOutputTypeFT( this, SfxResId( FT_OUTPUTTYPE ) ),
59cdf0e10cSrcweir aPrinterOutputRB( this, SfxResId( RB_PRINTEROUTPUT ) ),
60cdf0e10cSrcweir aPrintFileOutputRB( this, SfxResId( RB_PRINTFILEOUTPUT ) ),
61cdf0e10cSrcweir aOutputGB( this, SfxResId( GB_OUTPUT ) ),
62cdf0e10cSrcweir aReduceTransparencyCB( this, SfxResId( CB_REDUCETRANSPARENCY ) ),
63cdf0e10cSrcweir aReduceTransparencyAutoRB( this, SfxResId( RB_REDUCETRANSPARENCY_AUTO ) ),
64cdf0e10cSrcweir aReduceTransparencyNoneRB( this, SfxResId( RB_REDUCETRANSPARENCY_NONE ) ),
65cdf0e10cSrcweir aReduceGradientsCB( this, SfxResId( CB_REDUCEGRADIENTS ) ),
66cdf0e10cSrcweir aReduceGradientsStripesRB( this, SfxResId( RB_REDUCEGRADIENTS_STRIPES ) ),
67cdf0e10cSrcweir aReduceGradientsColorRB( this, SfxResId( RB_REDUCEGRADIENTS_COLOR ) ),
68cdf0e10cSrcweir aReduceGradientsStepCountNF( this, SfxResId( NF_REDUCEGRADIENTS_STEPCOUNT ) ),
69cdf0e10cSrcweir aReduceBitmapsCB( this, SfxResId( CB_REDUCEBITMAPS ) ),
70cdf0e10cSrcweir aReduceBitmapsOptimalRB( this, SfxResId( RB_REDUCEBITMAPS_OPTIMAL ) ),
71cdf0e10cSrcweir aReduceBitmapsNormalRB( this, SfxResId( RB_REDUCEBITMAPS_NORMAL ) ),
72cdf0e10cSrcweir aReduceBitmapsResolutionRB( this, SfxResId( RB_REDUCEBITMAPS_RESOLUTION ) ),
73cdf0e10cSrcweir aReduceBitmapsResolutionLB( this, SfxResId( LB_REDUCEBITMAPS_RESOLUTION ) ),
74cdf0e10cSrcweir aReduceBitmapsTransparencyCB( this, SfxResId( CB_REDUCEBITMAPS_TRANSPARENCY ) ),
75cdf0e10cSrcweir aConvertToGreyscalesCB( this, SfxResId( CB_CONVERTTOGREYSCALES ) ),
76cdf0e10cSrcweir aWarnGB( this, SfxResId( GB_PRINT_WARN ) ),
77cdf0e10cSrcweir aPaperSizeCB( this, SfxResId( CB_PAPERSIZE ) ),
78cdf0e10cSrcweir aPaperOrientationCB( this, SfxResId( CB_PAPERORIENTATION ) ),
79cdf0e10cSrcweir aTransparencyCB( this, SfxResId( CB_TRANSPARENCY ) )
80cdf0e10cSrcweir {
81cdf0e10cSrcweir FreeResource();
82cdf0e10cSrcweir
83cdf0e10cSrcweir aOutputGB.SetStyle( aOutputGB.GetStyle() | WB_NOLABEL );
84cdf0e10cSrcweir
85cdf0e10cSrcweir if( bOutputForPrinter )
86cdf0e10cSrcweir {
87cdf0e10cSrcweir aPrinterOutputRB.Check( sal_True );
88cdf0e10cSrcweir aOutputGB.SetText( OutputDevice::GetNonMnemonicString( aPrinterOutputRB.GetText() ) );
89cdf0e10cSrcweir }
90cdf0e10cSrcweir else
91cdf0e10cSrcweir {
92cdf0e10cSrcweir aPrintFileOutputRB.Check( sal_True );
93cdf0e10cSrcweir aOutputGB.SetText( OutputDevice::GetNonMnemonicString( aPrintFileOutputRB.GetText() ) );
94cdf0e10cSrcweir }
95cdf0e10cSrcweir
96cdf0e10cSrcweir aPrinterOutputRB.SetToggleHdl( LINK( this, SfxCommonPrintOptionsTabPage, ToggleOutputPrinterRBHdl ) );
97cdf0e10cSrcweir aPrintFileOutputRB.SetToggleHdl( LINK( this, SfxCommonPrintOptionsTabPage, ToggleOutputPrintFileRBHdl ) );
98cdf0e10cSrcweir
99cdf0e10cSrcweir aReduceTransparencyCB.SetClickHdl( LINK( this, SfxCommonPrintOptionsTabPage, ClickReduceTransparencyCBHdl ) );
100cdf0e10cSrcweir aReduceGradientsCB.SetClickHdl( LINK( this, SfxCommonPrintOptionsTabPage, ClickReduceGradientsCBHdl ) );
101cdf0e10cSrcweir aReduceBitmapsCB.SetClickHdl( LINK( this, SfxCommonPrintOptionsTabPage, ClickReduceBitmapsCBHdl ) );
102cdf0e10cSrcweir
103cdf0e10cSrcweir aReduceGradientsStripesRB.SetToggleHdl( LINK( this, SfxCommonPrintOptionsTabPage, ToggleReduceGradientsStripesRBHdl ) );
104cdf0e10cSrcweir aReduceBitmapsResolutionRB.SetToggleHdl( LINK( this, SfxCommonPrintOptionsTabPage, ToggleReduceBitmapsResolutionRBHdl ) );
105cdf0e10cSrcweir
106cdf0e10cSrcweir // --> PB 2008-06-09 #i89164#
107cdf0e10cSrcweir // calculate dynamically the width of radiobutton and listbox
108cdf0e10cSrcweir const long nOffset = 10;
109cdf0e10cSrcweir Size aOldSize = aReduceBitmapsResolutionRB.GetSizePixel();
110cdf0e10cSrcweir Size aNewSize = aReduceBitmapsResolutionRB.GetOptimalSize( WINDOWSIZE_PREFERRED );
111cdf0e10cSrcweir aNewSize.Width() += nOffset;
112cdf0e10cSrcweir aNewSize.Height() = aOldSize.Height();
113cdf0e10cSrcweir long nDelta = aOldSize.Width() - aNewSize.Width();
114cdf0e10cSrcweir aReduceBitmapsResolutionRB.SetSizePixel( aNewSize );
115cdf0e10cSrcweir Point aPos = aReduceBitmapsResolutionLB.GetPosPixel();
116cdf0e10cSrcweir aPos.X() -= nDelta;
117cdf0e10cSrcweir aOldSize = aReduceBitmapsResolutionLB.GetSizePixel();
118cdf0e10cSrcweir aNewSize = aReduceBitmapsResolutionLB.GetOptimalSize( WINDOWSIZE_PREFERRED );
119cdf0e10cSrcweir aNewSize.Width() += nOffset;
120cdf0e10cSrcweir aNewSize.Height() = aOldSize.Height();
121cdf0e10cSrcweir aReduceBitmapsResolutionLB.SetPosSizePixel( aPos, aNewSize );
122cdf0e10cSrcweir // <--
123cdf0e10cSrcweir }
124cdf0e10cSrcweir
125cdf0e10cSrcweir // -----------------------------------------------------------------------------
126cdf0e10cSrcweir
~SfxCommonPrintOptionsTabPage()127cdf0e10cSrcweir SfxCommonPrintOptionsTabPage::~SfxCommonPrintOptionsTabPage()
128cdf0e10cSrcweir {
129cdf0e10cSrcweir }
130cdf0e10cSrcweir
131cdf0e10cSrcweir // -----------------------------------------------------------------------------
132cdf0e10cSrcweir
Create(Window * pParent,const SfxItemSet & rAttrSet)133cdf0e10cSrcweir SfxTabPage* SfxCommonPrintOptionsTabPage::Create( Window* pParent, const SfxItemSet& rAttrSet )
134cdf0e10cSrcweir {
135cdf0e10cSrcweir return( new SfxCommonPrintOptionsTabPage( pParent, rAttrSet ) );
136cdf0e10cSrcweir }
137cdf0e10cSrcweir
138cdf0e10cSrcweir // -----------------------------------------------------------------------------
139cdf0e10cSrcweir
GetParentLabeledBy(const Window * pWindow) const140cdf0e10cSrcweir Window* SfxCommonPrintOptionsTabPage::GetParentLabeledBy( const Window* pWindow ) const
141cdf0e10cSrcweir {
142cdf0e10cSrcweir if ( pWindow == (Window *)&aReduceGradientsStepCountNF )
143cdf0e10cSrcweir return (Window *)&aReduceGradientsStripesRB;
144cdf0e10cSrcweir else if ( pWindow == (Window *)&aReduceBitmapsResolutionLB )
145cdf0e10cSrcweir return (Window *)&aReduceBitmapsResolutionRB;
146cdf0e10cSrcweir else
147cdf0e10cSrcweir return SfxTabPage::GetParentLabeledBy( pWindow );
148cdf0e10cSrcweir }
149cdf0e10cSrcweir
GetParentLabelFor(const Window * pWindow) const150cdf0e10cSrcweir Window* SfxCommonPrintOptionsTabPage::GetParentLabelFor( const Window* pWindow ) const
151cdf0e10cSrcweir {
152cdf0e10cSrcweir if ( pWindow == (Window *)&aReduceGradientsStripesRB )
153cdf0e10cSrcweir return (Window *)&aReduceGradientsStepCountNF;
154cdf0e10cSrcweir else if ( pWindow == (Window *)&aReduceBitmapsResolutionRB )
155cdf0e10cSrcweir return (Window *)&aReduceBitmapsResolutionLB;
156cdf0e10cSrcweir else
157cdf0e10cSrcweir return SfxTabPage::GetParentLabelFor( pWindow );
158cdf0e10cSrcweir }
159cdf0e10cSrcweir
160cdf0e10cSrcweir // -----------------------------------------------------------------------------
161cdf0e10cSrcweir
FillItemSet(SfxItemSet &)162cdf0e10cSrcweir sal_Bool SfxCommonPrintOptionsTabPage::FillItemSet( SfxItemSet& /*rSet*/ )
163cdf0e10cSrcweir {
164cdf0e10cSrcweir SvtPrintWarningOptions aWarnOptions;
165cdf0e10cSrcweir SvtPrinterOptions aPrinterOptions;
166cdf0e10cSrcweir SvtPrintFileOptions aPrintFileOptions;
167cdf0e10cSrcweir sal_Bool bModified = sal_False;
168cdf0e10cSrcweir
169cdf0e10cSrcweir
170cdf0e10cSrcweir if( aPaperSizeCB.IsChecked() != aPaperSizeCB.GetSavedValue())
171cdf0e10cSrcweir aWarnOptions.SetPaperSize(aPaperSizeCB.IsChecked());
172cdf0e10cSrcweir if( aPaperOrientationCB.IsChecked() != aPaperOrientationCB.GetSavedValue() )
173cdf0e10cSrcweir aWarnOptions.SetPaperOrientation(aPaperOrientationCB.IsChecked());
174cdf0e10cSrcweir
175cdf0e10cSrcweir if( aTransparencyCB.IsChecked() != aTransparencyCB.GetSavedValue() )
176cdf0e10cSrcweir aWarnOptions.SetTransparency( aTransparencyCB.IsChecked() );
177cdf0e10cSrcweir
178cdf0e10cSrcweir ImplSaveControls( aPrinterOutputRB.IsChecked() ? &maPrinterOptions : &maPrintFileOptions );
179cdf0e10cSrcweir
180cdf0e10cSrcweir aPrinterOptions.SetPrinterOptions( maPrinterOptions );
181cdf0e10cSrcweir aPrintFileOptions.SetPrinterOptions( maPrintFileOptions );
182cdf0e10cSrcweir
183cdf0e10cSrcweir return bModified;
184cdf0e10cSrcweir }
185cdf0e10cSrcweir
186cdf0e10cSrcweir // -----------------------------------------------------------------------------
187cdf0e10cSrcweir
Reset(const SfxItemSet &)188cdf0e10cSrcweir void SfxCommonPrintOptionsTabPage::Reset( const SfxItemSet& /*rSet*/ )
189cdf0e10cSrcweir {
190cdf0e10cSrcweir SvtPrintWarningOptions aWarnOptions;
191cdf0e10cSrcweir SvtPrinterOptions aPrinterOptions;
192cdf0e10cSrcweir SvtPrintFileOptions aPrintFileOptions;
193cdf0e10cSrcweir
194cdf0e10cSrcweir aPaperSizeCB.Check( aWarnOptions.IsPaperSize() );
195cdf0e10cSrcweir aPaperOrientationCB.Check( aWarnOptions.IsPaperOrientation() );
196cdf0e10cSrcweir
197cdf0e10cSrcweir aTransparencyCB.Check( aWarnOptions.IsTransparency() );
198cdf0e10cSrcweir
199cdf0e10cSrcweir aPaperSizeCB.SaveValue();
200cdf0e10cSrcweir aPaperOrientationCB.SaveValue();
201cdf0e10cSrcweir aTransparencyCB.SaveValue();
202cdf0e10cSrcweir
203cdf0e10cSrcweir aPrinterOptions.GetPrinterOptions( maPrinterOptions );
204cdf0e10cSrcweir aPrintFileOptions.GetPrinterOptions( maPrintFileOptions );
205cdf0e10cSrcweir
206cdf0e10cSrcweir ImplUpdateControls( aPrinterOutputRB.IsChecked() ? &maPrinterOptions : &maPrintFileOptions );
207cdf0e10cSrcweir
208cdf0e10cSrcweir // --> OD 2008-06-25 #i63982#
209cdf0e10cSrcweir ImplSetAccessibleNames();
210cdf0e10cSrcweir // <--
211cdf0e10cSrcweir }
212cdf0e10cSrcweir
213cdf0e10cSrcweir // -----------------------------------------------------------------------------
214cdf0e10cSrcweir
DeactivatePage(SfxItemSet * pItemSet)215cdf0e10cSrcweir int SfxCommonPrintOptionsTabPage::DeactivatePage( SfxItemSet* pItemSet )
216cdf0e10cSrcweir {
217cdf0e10cSrcweir if( pItemSet )
218cdf0e10cSrcweir FillItemSet( *pItemSet );
219cdf0e10cSrcweir
220cdf0e10cSrcweir return LEAVE_PAGE;
221cdf0e10cSrcweir }
222cdf0e10cSrcweir
223cdf0e10cSrcweir // -----------------------------------------------------------------------------
224cdf0e10cSrcweir
ImplUpdateControls(const PrinterOptions * pCurrentOptions)225cdf0e10cSrcweir void SfxCommonPrintOptionsTabPage::ImplUpdateControls( const PrinterOptions* pCurrentOptions )
226cdf0e10cSrcweir {
227cdf0e10cSrcweir aReduceTransparencyCB.Check( pCurrentOptions->IsReduceTransparency() );
228cdf0e10cSrcweir
229cdf0e10cSrcweir if( pCurrentOptions->GetReducedTransparencyMode() == PRINTER_TRANSPARENCY_AUTO )
230cdf0e10cSrcweir aReduceTransparencyAutoRB.Check( sal_True );
231cdf0e10cSrcweir else
232cdf0e10cSrcweir aReduceTransparencyNoneRB.Check( sal_True );
233cdf0e10cSrcweir
234cdf0e10cSrcweir aReduceGradientsCB.Check( pCurrentOptions->IsReduceGradients() );
235cdf0e10cSrcweir
236cdf0e10cSrcweir if( pCurrentOptions->GetReducedGradientMode() == PRINTER_GRADIENT_STRIPES )
237cdf0e10cSrcweir aReduceGradientsStripesRB.Check( sal_True );
238cdf0e10cSrcweir else
239cdf0e10cSrcweir aReduceGradientsColorRB.Check( sal_True );
240cdf0e10cSrcweir
241cdf0e10cSrcweir aReduceGradientsStepCountNF.SetValue( pCurrentOptions->GetReducedGradientStepCount() );
242cdf0e10cSrcweir
243cdf0e10cSrcweir aReduceBitmapsCB.Check( pCurrentOptions->IsReduceBitmaps() );
244cdf0e10cSrcweir
245cdf0e10cSrcweir if( pCurrentOptions->GetReducedBitmapMode() == PRINTER_BITMAP_OPTIMAL )
246cdf0e10cSrcweir aReduceBitmapsOptimalRB.Check( sal_True );
247cdf0e10cSrcweir else if( pCurrentOptions->GetReducedBitmapMode() == PRINTER_BITMAP_NORMAL )
248cdf0e10cSrcweir aReduceBitmapsNormalRB.Check( sal_True );
249cdf0e10cSrcweir else
250cdf0e10cSrcweir aReduceBitmapsResolutionRB.Check( sal_True );
251cdf0e10cSrcweir
252cdf0e10cSrcweir const sal_uInt16 nDPI = pCurrentOptions->GetReducedBitmapResolution();
253cdf0e10cSrcweir
254cdf0e10cSrcweir if( nDPI < aDPIArray[ 0 ] )
255cdf0e10cSrcweir aReduceBitmapsResolutionLB.SelectEntryPos( 0 );
256cdf0e10cSrcweir else
257cdf0e10cSrcweir {
258cdf0e10cSrcweir for( long i = ( DPI_COUNT - 1 ); i >= 0; i-- )
259cdf0e10cSrcweir {
260cdf0e10cSrcweir if( nDPI >= aDPIArray[ i ] )
261cdf0e10cSrcweir {
262cdf0e10cSrcweir aReduceBitmapsResolutionLB.SelectEntryPos( (sal_uInt16) i );
263cdf0e10cSrcweir i = -1;
264cdf0e10cSrcweir }
265cdf0e10cSrcweir }
266cdf0e10cSrcweir }
267cdf0e10cSrcweir
268cdf0e10cSrcweir aReduceBitmapsResolutionLB.SetText( aReduceBitmapsResolutionLB.GetEntry( aReduceBitmapsResolutionLB.GetSelectEntryPos() ) );
269cdf0e10cSrcweir
270cdf0e10cSrcweir aReduceBitmapsTransparencyCB.Check( pCurrentOptions->IsReducedBitmapIncludesTransparency() );
271cdf0e10cSrcweir aConvertToGreyscalesCB.Check( pCurrentOptions->IsConvertToGreyscales() );
272cdf0e10cSrcweir
273cdf0e10cSrcweir ClickReduceTransparencyCBHdl( &aReduceTransparencyCB );
274cdf0e10cSrcweir ClickReduceGradientsCBHdl( &aReduceGradientsCB );
275cdf0e10cSrcweir ClickReduceBitmapsCBHdl( &aReduceBitmapsCB );
276cdf0e10cSrcweir }
277cdf0e10cSrcweir
278cdf0e10cSrcweir // -----------------------------------------------------------------------------
279cdf0e10cSrcweir
ImplSetAccessibleNames()280cdf0e10cSrcweir void SfxCommonPrintOptionsTabPage::ImplSetAccessibleNames()
281cdf0e10cSrcweir {
282cdf0e10cSrcweir static const String cSeparator = String::CreateFromAscii( " - " );
283cdf0e10cSrcweir
284cdf0e10cSrcweir String sReduceText = aReduceGB.GetDisplayText();
285cdf0e10cSrcweir sReduceText += cSeparator;
286cdf0e10cSrcweir
287cdf0e10cSrcweir String sAccessibleName = sReduceText;
288cdf0e10cSrcweir sAccessibleName += aPrinterOutputRB.GetDisplayText();
289cdf0e10cSrcweir aPrinterOutputRB.SetAccessibleName( sAccessibleName );
290cdf0e10cSrcweir
291cdf0e10cSrcweir sAccessibleName = sReduceText;
292cdf0e10cSrcweir sAccessibleName += aPrintFileOutputRB.GetDisplayText();
293cdf0e10cSrcweir aPrintFileOutputRB.SetAccessibleName( sAccessibleName );
294cdf0e10cSrcweir
295cdf0e10cSrcweir String sOutputText = sReduceText;
296cdf0e10cSrcweir sOutputText += aOutputGB.GetDisplayText();
297cdf0e10cSrcweir sOutputText += cSeparator;
298cdf0e10cSrcweir
299cdf0e10cSrcweir sAccessibleName = sOutputText;
300cdf0e10cSrcweir sAccessibleName += aReduceTransparencyCB.GetDisplayText();
301cdf0e10cSrcweir aReduceTransparencyCB.SetAccessibleName( sAccessibleName );
302cdf0e10cSrcweir
303cdf0e10cSrcweir String sTransparencyText = aReduceTransparencyCB.GetAccessibleName();
304cdf0e10cSrcweir sTransparencyText += cSeparator;
305cdf0e10cSrcweir
306cdf0e10cSrcweir sAccessibleName = sTransparencyText;
307cdf0e10cSrcweir sAccessibleName += aReduceTransparencyAutoRB.GetDisplayText();
308cdf0e10cSrcweir aReduceTransparencyAutoRB.SetAccessibleName( sAccessibleName );
309cdf0e10cSrcweir
310cdf0e10cSrcweir sAccessibleName = sTransparencyText;
311cdf0e10cSrcweir sAccessibleName += aReduceTransparencyNoneRB.GetDisplayText();
312cdf0e10cSrcweir aReduceTransparencyNoneRB.SetAccessibleName( sAccessibleName );
313cdf0e10cSrcweir
314cdf0e10cSrcweir sAccessibleName = sOutputText;
315cdf0e10cSrcweir sAccessibleName += aReduceGradientsCB.GetDisplayText();
316cdf0e10cSrcweir aReduceGradientsCB.SetAccessibleName( sAccessibleName );
317cdf0e10cSrcweir
318cdf0e10cSrcweir String sGradientText = aReduceGradientsCB.GetAccessibleName();
319cdf0e10cSrcweir sGradientText += cSeparator;
320cdf0e10cSrcweir
321cdf0e10cSrcweir sAccessibleName = sGradientText;
322cdf0e10cSrcweir sAccessibleName += aReduceGradientsStripesRB.GetDisplayText();
323cdf0e10cSrcweir aReduceGradientsStripesRB.SetAccessibleName( sAccessibleName );
324cdf0e10cSrcweir
325cdf0e10cSrcweir sAccessibleName = aReduceGradientsStripesRB.GetAccessibleName();
326cdf0e10cSrcweir aReduceGradientsStepCountNF.SetAccessibleName( sAccessibleName );
327cdf0e10cSrcweir
328cdf0e10cSrcweir sAccessibleName = sGradientText;
329cdf0e10cSrcweir sAccessibleName += aReduceGradientsColorRB.GetDisplayText();
330cdf0e10cSrcweir aReduceGradientsColorRB.SetAccessibleName( sAccessibleName );
331cdf0e10cSrcweir
332cdf0e10cSrcweir sAccessibleName = sOutputText;
333cdf0e10cSrcweir sAccessibleName += aReduceBitmapsCB.GetDisplayText();
334cdf0e10cSrcweir aReduceBitmapsCB.SetAccessibleName( sAccessibleName );
335cdf0e10cSrcweir
336cdf0e10cSrcweir String sBitmapText = aReduceBitmapsCB.GetAccessibleName();
337cdf0e10cSrcweir sBitmapText += cSeparator;
338cdf0e10cSrcweir
339cdf0e10cSrcweir sAccessibleName = sBitmapText;
340cdf0e10cSrcweir sAccessibleName += aReduceBitmapsOptimalRB.GetDisplayText();
341cdf0e10cSrcweir aReduceBitmapsOptimalRB.SetAccessibleName( sAccessibleName );
342cdf0e10cSrcweir
343cdf0e10cSrcweir sAccessibleName = sBitmapText;
344cdf0e10cSrcweir sAccessibleName += aReduceBitmapsNormalRB.GetDisplayText();
345cdf0e10cSrcweir aReduceBitmapsNormalRB.SetAccessibleName( sAccessibleName );
346cdf0e10cSrcweir
347cdf0e10cSrcweir sAccessibleName = sBitmapText;
348cdf0e10cSrcweir sAccessibleName += aReduceBitmapsResolutionRB.GetDisplayText();
349cdf0e10cSrcweir aReduceBitmapsResolutionRB.SetAccessibleName( sAccessibleName );
350cdf0e10cSrcweir
351cdf0e10cSrcweir sAccessibleName = aReduceBitmapsResolutionRB.GetAccessibleName();
352cdf0e10cSrcweir aReduceBitmapsResolutionLB.SetAccessibleName( sAccessibleName );
353cdf0e10cSrcweir
354cdf0e10cSrcweir sAccessibleName = sBitmapText;
355cdf0e10cSrcweir sAccessibleName += aReduceBitmapsTransparencyCB.GetDisplayText();
356cdf0e10cSrcweir aReduceBitmapsTransparencyCB.SetAccessibleName( sAccessibleName );
357cdf0e10cSrcweir
358cdf0e10cSrcweir sAccessibleName = sOutputText;
359cdf0e10cSrcweir sAccessibleName += aConvertToGreyscalesCB.GetDisplayText();
360cdf0e10cSrcweir aConvertToGreyscalesCB.SetAccessibleName( sAccessibleName );
361cdf0e10cSrcweir
362cdf0e10cSrcweir String sWarnText = aWarnGB.GetDisplayText();
363cdf0e10cSrcweir sWarnText += cSeparator;
364cdf0e10cSrcweir
365cdf0e10cSrcweir sAccessibleName = sWarnText;
366cdf0e10cSrcweir sAccessibleName += aPaperSizeCB.GetDisplayText();
367cdf0e10cSrcweir aPaperSizeCB.SetAccessibleName( sAccessibleName );
368cdf0e10cSrcweir
369cdf0e10cSrcweir sAccessibleName = sWarnText;
370cdf0e10cSrcweir sAccessibleName += aPaperOrientationCB.GetDisplayText();
371cdf0e10cSrcweir aPaperOrientationCB.SetAccessibleName( sAccessibleName );
372cdf0e10cSrcweir
373cdf0e10cSrcweir sAccessibleName = sWarnText;
374cdf0e10cSrcweir sAccessibleName += aTransparencyCB.GetDisplayText();
375cdf0e10cSrcweir aTransparencyCB.SetAccessibleName( sAccessibleName );
376cdf0e10cSrcweir }
377cdf0e10cSrcweir
378cdf0e10cSrcweir // -----------------------------------------------------------------------------
379cdf0e10cSrcweir
ImplSaveControls(PrinterOptions * pCurrentOptions)380cdf0e10cSrcweir void SfxCommonPrintOptionsTabPage::ImplSaveControls( PrinterOptions* pCurrentOptions )
381cdf0e10cSrcweir {
382cdf0e10cSrcweir pCurrentOptions->SetReduceTransparency( aReduceTransparencyCB.IsChecked() );
383cdf0e10cSrcweir pCurrentOptions->SetReducedTransparencyMode( aReduceTransparencyAutoRB.IsChecked() ? PRINTER_TRANSPARENCY_AUTO : PRINTER_TRANSPARENCY_NONE );
384cdf0e10cSrcweir pCurrentOptions->SetReduceGradients( aReduceGradientsCB.IsChecked() );
385cdf0e10cSrcweir pCurrentOptions->SetReducedGradientMode( aReduceGradientsStripesRB.IsChecked() ? PRINTER_GRADIENT_STRIPES : PRINTER_GRADIENT_COLOR );
386cdf0e10cSrcweir pCurrentOptions->SetReducedGradientStepCount( (sal_uInt16) aReduceGradientsStepCountNF.GetValue() );
387cdf0e10cSrcweir pCurrentOptions->SetReduceBitmaps( aReduceBitmapsCB.IsChecked() );
388cdf0e10cSrcweir pCurrentOptions->SetReducedBitmapMode( aReduceBitmapsOptimalRB.IsChecked() ? PRINTER_BITMAP_OPTIMAL :
389cdf0e10cSrcweir ( aReduceBitmapsNormalRB.IsChecked() ? PRINTER_BITMAP_NORMAL : PRINTER_BITMAP_RESOLUTION ) );
390cdf0e10cSrcweir pCurrentOptions->SetReducedBitmapResolution( aDPIArray[ Min( (sal_uInt16) aReduceBitmapsResolutionLB.GetSelectEntryPos(),
391cdf0e10cSrcweir (sal_uInt16)( sizeof( aDPIArray ) / sizeof( aDPIArray[ 0 ] ) - 1 ) ) ] );
392cdf0e10cSrcweir pCurrentOptions->SetReducedBitmapIncludesTransparency( aReduceBitmapsTransparencyCB.IsChecked() );
393cdf0e10cSrcweir pCurrentOptions->SetConvertToGreyscales( aConvertToGreyscalesCB.IsChecked() );
394cdf0e10cSrcweir }
395cdf0e10cSrcweir
396cdf0e10cSrcweir // -----------------------------------------------------------------------------
397cdf0e10cSrcweir
IMPL_LINK(SfxCommonPrintOptionsTabPage,ClickReduceTransparencyCBHdl,CheckBox *,pBox)398cdf0e10cSrcweir IMPL_LINK( SfxCommonPrintOptionsTabPage, ClickReduceTransparencyCBHdl, CheckBox*, pBox )
399cdf0e10cSrcweir {
400cdf0e10cSrcweir (void)pBox; //unused
401cdf0e10cSrcweir const sal_Bool bReduceTransparency = aReduceTransparencyCB.IsChecked();
402cdf0e10cSrcweir
403cdf0e10cSrcweir aReduceTransparencyAutoRB.Enable( bReduceTransparency );
404cdf0e10cSrcweir aReduceTransparencyNoneRB.Enable( bReduceTransparency );
405cdf0e10cSrcweir
406cdf0e10cSrcweir aTransparencyCB.Enable( !bReduceTransparency );
407cdf0e10cSrcweir
408cdf0e10cSrcweir return 0;
409cdf0e10cSrcweir }
410cdf0e10cSrcweir
411cdf0e10cSrcweir // -----------------------------------------------------------------------------
412cdf0e10cSrcweir
IMPL_LINK(SfxCommonPrintOptionsTabPage,ClickReduceGradientsCBHdl,CheckBox *,pBox)413cdf0e10cSrcweir IMPL_LINK( SfxCommonPrintOptionsTabPage, ClickReduceGradientsCBHdl, CheckBox*, pBox )
414cdf0e10cSrcweir {
415cdf0e10cSrcweir (void)pBox; //unused
416cdf0e10cSrcweir const sal_Bool bEnable = aReduceGradientsCB.IsChecked();
417cdf0e10cSrcweir
418cdf0e10cSrcweir aReduceGradientsStripesRB.Enable( bEnable );
419cdf0e10cSrcweir aReduceGradientsColorRB.Enable( bEnable );
420cdf0e10cSrcweir aReduceGradientsStepCountNF.Enable( bEnable );
421cdf0e10cSrcweir
422cdf0e10cSrcweir ToggleReduceGradientsStripesRBHdl( &aReduceGradientsStripesRB );
423cdf0e10cSrcweir
424cdf0e10cSrcweir return 0;
425cdf0e10cSrcweir }
426cdf0e10cSrcweir
427cdf0e10cSrcweir // -----------------------------------------------------------------------------
428cdf0e10cSrcweir
IMPL_LINK(SfxCommonPrintOptionsTabPage,ClickReduceBitmapsCBHdl,CheckBox *,pBox)429cdf0e10cSrcweir IMPL_LINK( SfxCommonPrintOptionsTabPage, ClickReduceBitmapsCBHdl, CheckBox*, pBox )
430cdf0e10cSrcweir {
431cdf0e10cSrcweir (void)pBox; //unused
432cdf0e10cSrcweir const sal_Bool bEnable = aReduceBitmapsCB.IsChecked();
433cdf0e10cSrcweir
434cdf0e10cSrcweir aReduceBitmapsOptimalRB.Enable( bEnable );
435cdf0e10cSrcweir aReduceBitmapsNormalRB.Enable( bEnable );
436cdf0e10cSrcweir aReduceBitmapsResolutionRB.Enable( bEnable );
437cdf0e10cSrcweir aReduceBitmapsTransparencyCB.Enable( bEnable );
438cdf0e10cSrcweir aReduceBitmapsResolutionLB.Enable( bEnable );
439cdf0e10cSrcweir
440cdf0e10cSrcweir ToggleReduceBitmapsResolutionRBHdl( &aReduceBitmapsResolutionRB );
441cdf0e10cSrcweir
442cdf0e10cSrcweir return 0;
443cdf0e10cSrcweir }
444cdf0e10cSrcweir
445cdf0e10cSrcweir // -----------------------------------------------------------------------------
446cdf0e10cSrcweir
IMPL_LINK(SfxCommonPrintOptionsTabPage,ToggleReduceGradientsStripesRBHdl,RadioButton *,pButton)447cdf0e10cSrcweir IMPL_LINK( SfxCommonPrintOptionsTabPage, ToggleReduceGradientsStripesRBHdl, RadioButton*, pButton )
448cdf0e10cSrcweir {
449cdf0e10cSrcweir (void)pButton; //unused
450cdf0e10cSrcweir const sal_Bool bEnable = aReduceGradientsCB.IsChecked() && aReduceGradientsStripesRB.IsChecked();
451cdf0e10cSrcweir
452cdf0e10cSrcweir aReduceGradientsStepCountNF.Enable( bEnable );
453cdf0e10cSrcweir
454cdf0e10cSrcweir return 0;
455cdf0e10cSrcweir }
456cdf0e10cSrcweir
457cdf0e10cSrcweir // -----------------------------------------------------------------------------
458cdf0e10cSrcweir
IMPL_LINK(SfxCommonPrintOptionsTabPage,ToggleReduceBitmapsResolutionRBHdl,RadioButton *,pButton)459cdf0e10cSrcweir IMPL_LINK( SfxCommonPrintOptionsTabPage, ToggleReduceBitmapsResolutionRBHdl, RadioButton*, pButton )
460cdf0e10cSrcweir {
461cdf0e10cSrcweir (void)pButton; //unused
462cdf0e10cSrcweir const sal_Bool bEnable = aReduceBitmapsCB.IsChecked() && aReduceBitmapsResolutionRB.IsChecked();
463cdf0e10cSrcweir
464cdf0e10cSrcweir aReduceBitmapsResolutionLB.Enable( bEnable );
465cdf0e10cSrcweir
466cdf0e10cSrcweir return 0;
467cdf0e10cSrcweir }
468cdf0e10cSrcweir
469cdf0e10cSrcweir // -----------------------------------------------------------------------------
470cdf0e10cSrcweir
IMPL_LINK(SfxCommonPrintOptionsTabPage,ToggleOutputPrinterRBHdl,RadioButton *,pButton)471cdf0e10cSrcweir IMPL_LINK( SfxCommonPrintOptionsTabPage, ToggleOutputPrinterRBHdl, RadioButton*, pButton )
472cdf0e10cSrcweir {
473cdf0e10cSrcweir if( pButton->IsChecked() )
474cdf0e10cSrcweir {
475cdf0e10cSrcweir aOutputGB.SetText( OutputDevice::GetNonMnemonicString( pButton->GetText() ) );
476cdf0e10cSrcweir ImplUpdateControls( &maPrinterOptions );
477cdf0e10cSrcweir bOutputForPrinter = sal_True;
478cdf0e10cSrcweir // --> OD 2008-06-25 #i63982#
479cdf0e10cSrcweir ImplSetAccessibleNames();
480cdf0e10cSrcweir // <--
481cdf0e10cSrcweir }
482cdf0e10cSrcweir else
483cdf0e10cSrcweir ImplSaveControls( &maPrinterOptions );
484cdf0e10cSrcweir
485cdf0e10cSrcweir return 0;
486cdf0e10cSrcweir }
487cdf0e10cSrcweir
488cdf0e10cSrcweir // -----------------------------------------------------------------------------
489cdf0e10cSrcweir
IMPL_LINK(SfxCommonPrintOptionsTabPage,ToggleOutputPrintFileRBHdl,RadioButton *,pButton)490cdf0e10cSrcweir IMPL_LINK( SfxCommonPrintOptionsTabPage, ToggleOutputPrintFileRBHdl, RadioButton*, pButton )
491cdf0e10cSrcweir {
492cdf0e10cSrcweir if( pButton->IsChecked() )
493cdf0e10cSrcweir {
494cdf0e10cSrcweir aOutputGB.SetText( OutputDevice::GetNonMnemonicString( pButton->GetText() ) );
495cdf0e10cSrcweir ImplUpdateControls( &maPrintFileOptions );
496cdf0e10cSrcweir bOutputForPrinter = sal_False;
497cdf0e10cSrcweir // --> OD 2008-06-25 #i63982#
498cdf0e10cSrcweir ImplSetAccessibleNames();
499cdf0e10cSrcweir // <--
500cdf0e10cSrcweir }
501cdf0e10cSrcweir else
502cdf0e10cSrcweir ImplSaveControls( &maPrintFileOptions );
503cdf0e10cSrcweir
504cdf0e10cSrcweir return 0;
505cdf0e10cSrcweir }
506cdf0e10cSrcweir
507cdf0e10cSrcweir // -------------------------------
508cdf0e10cSrcweir // - TransparencyPrintWarningBox -
509cdf0e10cSrcweir // -------------------------------
510cdf0e10cSrcweir
TransparencyPrintWarningBox(Window * pParent)511cdf0e10cSrcweir TransparencyPrintWarningBox::TransparencyPrintWarningBox( Window* pParent ) :
512cdf0e10cSrcweir ModalDialog( pParent, SfxResId( RID_WARN_PRINTTRANSPARENCY ) ),
513cdf0e10cSrcweir aWarnFI ( this, SfxResId( FI_PRINTTRANSWARN ) ),
514cdf0e10cSrcweir aWarnFT ( this, SfxResId( FT_PRINTTRANSWARN ) ),
515cdf0e10cSrcweir aYesBtn ( this, SfxResId( BTN_PRINTTRANS_YES ) ),
516cdf0e10cSrcweir aNoBtn ( this, SfxResId( BTN_PRINTTRANS_NO ) ),
517cdf0e10cSrcweir aCancelBtn ( this, SfxResId( BTN_PRINTTRANS_CANCEL ) ),
518cdf0e10cSrcweir aNoWarnCB ( this, SfxResId( CBX_NOPRINTTRANSWARN ) )
519cdf0e10cSrcweir {
520cdf0e10cSrcweir FreeResource();
521cdf0e10cSrcweir
522cdf0e10cSrcweir aWarnFT.SetStyle( aWarnFT.GetStyle() | WB_INFO );
523cdf0e10cSrcweir aWarnFI.SetImage( WarningBox::GetStandardImage() );
524cdf0e10cSrcweir
525cdf0e10cSrcweir aNoBtn.SetClickHdl( LINK( this, TransparencyPrintWarningBox, ClickNoBtn ) );
526cdf0e10cSrcweir }
527cdf0e10cSrcweir
528cdf0e10cSrcweir // -----------------------------------------------------------------------------
529cdf0e10cSrcweir
~TransparencyPrintWarningBox()530cdf0e10cSrcweir TransparencyPrintWarningBox::~TransparencyPrintWarningBox()
531cdf0e10cSrcweir {
532cdf0e10cSrcweir }
533cdf0e10cSrcweir
534cdf0e10cSrcweir // -----------------------------------------------------------------------------
535cdf0e10cSrcweir
IMPL_LINK(TransparencyPrintWarningBox,ClickNoBtn,PushButton *,pButton)536cdf0e10cSrcweir IMPL_LINK( TransparencyPrintWarningBox, ClickNoBtn, PushButton*, pButton )
537cdf0e10cSrcweir {
538cdf0e10cSrcweir (void)pButton; //unused
539cdf0e10cSrcweir EndDialog( RET_NO );
540cdf0e10cSrcweir return 0;
541cdf0e10cSrcweir }
542