1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_sd.hxx"
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski #ifdef SD_DLLIMPLEMENTATION
28*b1cdbd2cSJim Jagielski #undef SD_DLLIMPLEMENTATION
29*b1cdbd2cSJim Jagielski #endif
30*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XMultiServiceFactory.hpp>
31*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertySet.hpp>
32*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XIndexAccess.hpp>
33*b1cdbd2cSJim Jagielski #include <comphelper/processfactory.hxx>
34*b1cdbd2cSJim Jagielski #include <svl/itemset.hxx>
35*b1cdbd2cSJim Jagielski
36*b1cdbd2cSJim Jagielski #include "sdattr.hxx"
37*b1cdbd2cSJim Jagielski #include "present.hxx"
38*b1cdbd2cSJim Jagielski #include "present.hrc"
39*b1cdbd2cSJim Jagielski #include "sdresid.hxx"
40*b1cdbd2cSJim Jagielski #include "cusshow.hxx"
41*b1cdbd2cSJim Jagielski
42*b1cdbd2cSJim Jagielski using ::rtl::OUString;
43*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::uno;
44*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::lang;
45*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::container;
46*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::beans;
47*b1cdbd2cSJim Jagielski
48*b1cdbd2cSJim Jagielski /*************************************************************************
49*b1cdbd2cSJim Jagielski |* Ctor
50*b1cdbd2cSJim Jagielski \************************************************************************/
SdStartPresentationDlg(Window * pWindow,const SfxItemSet & rInAttrs,List & rPageNames,List * pCSList)51*b1cdbd2cSJim Jagielski SdStartPresentationDlg::SdStartPresentationDlg( Window* pWindow,
52*b1cdbd2cSJim Jagielski const SfxItemSet& rInAttrs,
53*b1cdbd2cSJim Jagielski List& rPageNames, List* pCSList ) :
54*b1cdbd2cSJim Jagielski ModalDialog ( pWindow, SdResId( DLG_START_PRESENTATION ) ),
55*b1cdbd2cSJim Jagielski aGrpRange ( this, SdResId( GRP_RANGE ) ),
56*b1cdbd2cSJim Jagielski aRbtAll ( this, SdResId( RBT_ALL ) ),
57*b1cdbd2cSJim Jagielski aRbtAtDia ( this, SdResId( RBT_AT_DIA ) ),
58*b1cdbd2cSJim Jagielski aRbtCustomshow ( this, SdResId( RBT_CUSTOMSHOW ) ),
59*b1cdbd2cSJim Jagielski aLbDias ( this, SdResId( LB_DIAS ) ),
60*b1cdbd2cSJim Jagielski aLbCustomshow ( this, SdResId( LB_CUSTOMSHOW ) ),
61*b1cdbd2cSJim Jagielski
62*b1cdbd2cSJim Jagielski aGrpKind ( this, SdResId( GRP_KIND ) ),
63*b1cdbd2cSJim Jagielski aRbtStandard ( this, SdResId( RBT_STANDARD ) ),
64*b1cdbd2cSJim Jagielski aRbtWindow ( this, SdResId( RBT_WINDOW ) ),
65*b1cdbd2cSJim Jagielski aRbtAuto ( this, SdResId( RBT_AUTO ) ),
66*b1cdbd2cSJim Jagielski aTmfPause ( this, SdResId( TMF_PAUSE ) ),
67*b1cdbd2cSJim Jagielski aCbxAutoLogo ( this, SdResId( CBX_AUTOLOGO ) ),
68*b1cdbd2cSJim Jagielski
69*b1cdbd2cSJim Jagielski aGrpOptions ( this, SdResId( GRP_OPTIONS ) ),
70*b1cdbd2cSJim Jagielski aCbxManuel ( this, SdResId( CBX_MANUEL ) ),
71*b1cdbd2cSJim Jagielski aCbxMousepointer ( this, SdResId( CBX_MOUSEPOINTER ) ),
72*b1cdbd2cSJim Jagielski aCbxPen ( this, SdResId( CBX_PEN ) ),
73*b1cdbd2cSJim Jagielski aCbxNavigator ( this, SdResId( CBX_NAVIGATOR ) ),
74*b1cdbd2cSJim Jagielski aCbxAnimationAllowed ( this, SdResId( CBX_ANIMATION_ALLOWED ) ),
75*b1cdbd2cSJim Jagielski aCbxChangePage ( this, SdResId( CBX_CHANGE_PAGE ) ),
76*b1cdbd2cSJim Jagielski aCbxAlwaysOnTop ( this, SdResId( CBX_ALWAYS_ON_TOP ) ),
77*b1cdbd2cSJim Jagielski
78*b1cdbd2cSJim Jagielski maGrpMonitor ( this, SdResId( GRP_MONITOR ) ),
79*b1cdbd2cSJim Jagielski maFtMonitor ( this, SdResId( FT_MONITOR ) ),
80*b1cdbd2cSJim Jagielski maLBMonitor ( this, SdResId( LB_MONITOR ) ),
81*b1cdbd2cSJim Jagielski
82*b1cdbd2cSJim Jagielski aBtnOK ( this, SdResId( BTN_OK ) ),
83*b1cdbd2cSJim Jagielski aBtnCancel ( this, SdResId( BTN_CANCEL ) ),
84*b1cdbd2cSJim Jagielski aBtnHelp ( this, SdResId( BTN_HELP ) ),
85*b1cdbd2cSJim Jagielski
86*b1cdbd2cSJim Jagielski pCustomShowList ( pCSList ),
87*b1cdbd2cSJim Jagielski rOutAttrs ( rInAttrs ),
88*b1cdbd2cSJim Jagielski mnMonitors ( 0 ),
89*b1cdbd2cSJim Jagielski
90*b1cdbd2cSJim Jagielski msPrimaryMonitor( SdResId(STR_PRIMARY_MONITOR ) ),
91*b1cdbd2cSJim Jagielski msMonitor( SdResId( STR_MONITOR ) ),
92*b1cdbd2cSJim Jagielski msAllMonitors( SdResId( STR_ALL_MONITORS ) )
93*b1cdbd2cSJim Jagielski {
94*b1cdbd2cSJim Jagielski FreeResource();
95*b1cdbd2cSJim Jagielski
96*b1cdbd2cSJim Jagielski Link aLink( LINK( this, SdStartPresentationDlg, ChangeRangeHdl ) );
97*b1cdbd2cSJim Jagielski
98*b1cdbd2cSJim Jagielski aRbtAll.SetClickHdl( aLink );
99*b1cdbd2cSJim Jagielski aRbtAtDia.SetClickHdl( aLink );
100*b1cdbd2cSJim Jagielski aRbtCustomshow.SetClickHdl( aLink );
101*b1cdbd2cSJim Jagielski
102*b1cdbd2cSJim Jagielski aLink = LINK( this, SdStartPresentationDlg, ClickWindowPresentationHdl );
103*b1cdbd2cSJim Jagielski aRbtStandard.SetClickHdl( aLink );
104*b1cdbd2cSJim Jagielski aRbtWindow.SetClickHdl( aLink );
105*b1cdbd2cSJim Jagielski aRbtAuto.SetClickHdl( aLink );
106*b1cdbd2cSJim Jagielski
107*b1cdbd2cSJim Jagielski aTmfPause.SetModifyHdl( LINK( this, SdStartPresentationDlg, ChangePauseHdl ) );
108*b1cdbd2cSJim Jagielski aTmfPause.SetFormat( TIMEF_SEC );
109*b1cdbd2cSJim Jagielski
110*b1cdbd2cSJim Jagielski aLbDias.SetAccessibleRelationLabeledBy( &aRbtAtDia );
111*b1cdbd2cSJim Jagielski aLbDias.SetAccessibleName(aRbtAtDia.GetText());
112*b1cdbd2cSJim Jagielski aLbCustomshow.SetAccessibleRelationLabeledBy( &aRbtCustomshow );
113*b1cdbd2cSJim Jagielski aTmfPause.SetAccessibleRelationLabeledBy( &aRbtAuto );
114*b1cdbd2cSJim Jagielski aTmfPause.SetAccessibleName(aRbtAuto.GetText());
115*b1cdbd2cSJim Jagielski
116*b1cdbd2cSJim Jagielski // Listbox mit Seitennamen fuellen
117*b1cdbd2cSJim Jagielski rPageNames.First();
118*b1cdbd2cSJim Jagielski for( sal_uInt16 i = 0;
119*b1cdbd2cSJim Jagielski i < rPageNames.Count();
120*b1cdbd2cSJim Jagielski i++ )
121*b1cdbd2cSJim Jagielski {
122*b1cdbd2cSJim Jagielski aLbDias.InsertEntry( *( String* ) rPageNames.GetCurObject() );
123*b1cdbd2cSJim Jagielski rPageNames.Next();
124*b1cdbd2cSJim Jagielski }
125*b1cdbd2cSJim Jagielski
126*b1cdbd2cSJim Jagielski if( pCustomShowList )
127*b1cdbd2cSJim Jagielski {
128*b1cdbd2cSJim Jagielski sal_uInt16 nPosToSelect = (sal_uInt16) pCustomShowList->GetCurPos();
129*b1cdbd2cSJim Jagielski SdCustomShow* pCustomShow;
130*b1cdbd2cSJim Jagielski // Listbox mit CustomShows fuellen
131*b1cdbd2cSJim Jagielski for( pCustomShow = (SdCustomShow*) pCustomShowList->First();
132*b1cdbd2cSJim Jagielski pCustomShow != NULL;
133*b1cdbd2cSJim Jagielski pCustomShow = (SdCustomShow*) pCustomShowList->Next() )
134*b1cdbd2cSJim Jagielski {
135*b1cdbd2cSJim Jagielski aLbCustomshow.InsertEntry( pCustomShow->GetName() );
136*b1cdbd2cSJim Jagielski }
137*b1cdbd2cSJim Jagielski aLbCustomshow.SelectEntryPos( nPosToSelect );
138*b1cdbd2cSJim Jagielski pCustomShowList->Seek( nPosToSelect );
139*b1cdbd2cSJim Jagielski }
140*b1cdbd2cSJim Jagielski else
141*b1cdbd2cSJim Jagielski aRbtCustomshow.Disable();
142*b1cdbd2cSJim Jagielski
143*b1cdbd2cSJim Jagielski if( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_CUSTOMSHOW ) ).GetValue() && pCSList )
144*b1cdbd2cSJim Jagielski aRbtCustomshow.Check();
145*b1cdbd2cSJim Jagielski else if( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_ALL ) ).GetValue() )
146*b1cdbd2cSJim Jagielski aRbtAll.Check();
147*b1cdbd2cSJim Jagielski else
148*b1cdbd2cSJim Jagielski aRbtAtDia.Check();
149*b1cdbd2cSJim Jagielski
150*b1cdbd2cSJim Jagielski aLbDias.SelectEntry( ( ( const SfxStringItem& ) rOutAttrs.Get( ATTR_PRESENT_DIANAME ) ).GetValue() );
151*b1cdbd2cSJim Jagielski aCbxManuel.Check( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_MANUEL ) ).GetValue() );
152*b1cdbd2cSJim Jagielski aCbxMousepointer.Check( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_MOUSE ) ).GetValue() );
153*b1cdbd2cSJim Jagielski aCbxPen.Check( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_PEN ) ).GetValue() );
154*b1cdbd2cSJim Jagielski aCbxNavigator.Check( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_NAVIGATOR ) ).GetValue() );
155*b1cdbd2cSJim Jagielski aCbxAnimationAllowed.Check( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_ANIMATION_ALLOWED ) ).GetValue() );
156*b1cdbd2cSJim Jagielski aCbxChangePage.Check( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_CHANGE_PAGE ) ).GetValue() );
157*b1cdbd2cSJim Jagielski aCbxAlwaysOnTop.Check( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_ALWAYS_ON_TOP ) ).GetValue() );
158*b1cdbd2cSJim Jagielski
159*b1cdbd2cSJim Jagielski const sal_Bool bEndless = ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_ENDLESS ) ).GetValue();
160*b1cdbd2cSJim Jagielski const sal_Bool bWindow = !( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_FULLSCREEN ) ).GetValue();
161*b1cdbd2cSJim Jagielski const long nPause = ( ( const SfxUInt32Item& ) rOutAttrs.Get( ATTR_PRESENT_PAUSE_TIMEOUT ) ).GetValue();
162*b1cdbd2cSJim Jagielski
163*b1cdbd2cSJim Jagielski aTmfPause.SetTime( Time( 0, 0, nPause ) );
164*b1cdbd2cSJim Jagielski // set cursor in timefield
165*b1cdbd2cSJim Jagielski Edit *pEdit = aTmfPause.GetField();
166*b1cdbd2cSJim Jagielski Selection aSel( pEdit->GetMaxTextLen(), pEdit->GetMaxTextLen() );
167*b1cdbd2cSJim Jagielski pEdit->SetSelection( aSel );
168*b1cdbd2cSJim Jagielski
169*b1cdbd2cSJim Jagielski aCbxAutoLogo.Check( ( ( const SfxBoolItem& ) rOutAttrs.Get( ATTR_PRESENT_SHOW_PAUSELOGO ) ).GetValue() );
170*b1cdbd2cSJim Jagielski
171*b1cdbd2cSJim Jagielski if( bWindow )
172*b1cdbd2cSJim Jagielski aRbtWindow.Check( sal_True );
173*b1cdbd2cSJim Jagielski else if( bEndless )
174*b1cdbd2cSJim Jagielski aRbtAuto.Check( sal_True );
175*b1cdbd2cSJim Jagielski else
176*b1cdbd2cSJim Jagielski aRbtStandard.Check( sal_True );
177*b1cdbd2cSJim Jagielski
178*b1cdbd2cSJim Jagielski InitMonitorSettings();
179*b1cdbd2cSJim Jagielski
180*b1cdbd2cSJim Jagielski ChangeRangeHdl( this );
181*b1cdbd2cSJim Jagielski
182*b1cdbd2cSJim Jagielski ClickWindowPresentationHdl( NULL );
183*b1cdbd2cSJim Jagielski ChangePauseHdl( NULL );
184*b1cdbd2cSJim Jagielski }
185*b1cdbd2cSJim Jagielski
InitMonitorSettings()186*b1cdbd2cSJim Jagielski void SdStartPresentationDlg::InitMonitorSettings()
187*b1cdbd2cSJim Jagielski {
188*b1cdbd2cSJim Jagielski try
189*b1cdbd2cSJim Jagielski {
190*b1cdbd2cSJim Jagielski Reference< XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory(), UNO_QUERY_THROW );
191*b1cdbd2cSJim Jagielski Reference< XIndexAccess > xMultiMon( xFactory->createInstance(OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.DisplayAccess" ) ) ), UNO_QUERY_THROW );
192*b1cdbd2cSJim Jagielski maGrpMonitor.Show( true );
193*b1cdbd2cSJim Jagielski maFtMonitor.Show( true );
194*b1cdbd2cSJim Jagielski maLBMonitor.Show( true );
195*b1cdbd2cSJim Jagielski
196*b1cdbd2cSJim Jagielski mnMonitors = xMultiMon->getCount();
197*b1cdbd2cSJim Jagielski
198*b1cdbd2cSJim Jagielski if( mnMonitors <= 1 )
199*b1cdbd2cSJim Jagielski {
200*b1cdbd2cSJim Jagielski maFtMonitor.Enable( false );
201*b1cdbd2cSJim Jagielski maLBMonitor.Enable( false );
202*b1cdbd2cSJim Jagielski }
203*b1cdbd2cSJim Jagielski else
204*b1cdbd2cSJim Jagielski {
205*b1cdbd2cSJim Jagielski sal_Bool bMultiscreen = false;
206*b1cdbd2cSJim Jagielski sal_Int32 nDefaultDisplay (0);
207*b1cdbd2cSJim Jagielski Reference< XPropertySet > xMonProps( xMultiMon, UNO_QUERY );
208*b1cdbd2cSJim Jagielski if( xMonProps.is() ) try
209*b1cdbd2cSJim Jagielski {
210*b1cdbd2cSJim Jagielski const OUString sPropName1( RTL_CONSTASCII_USTRINGPARAM( "MultiDisplay" ) );
211*b1cdbd2cSJim Jagielski xMonProps->getPropertyValue( sPropName1 ) >>= bMultiscreen;
212*b1cdbd2cSJim Jagielski const OUString sPropName2( RTL_CONSTASCII_USTRINGPARAM( "DefaultDisplay" ) );
213*b1cdbd2cSJim Jagielski xMonProps->getPropertyValue( sPropName2 ) >>= nDefaultDisplay;
214*b1cdbd2cSJim Jagielski }
215*b1cdbd2cSJim Jagielski catch( Exception& )
216*b1cdbd2cSJim Jagielski {
217*b1cdbd2cSJim Jagielski }
218*b1cdbd2cSJim Jagielski
219*b1cdbd2cSJim Jagielski sal_Int32 nSelectedIndex (-1);
220*b1cdbd2cSJim Jagielski sal_Int32 nDefaultDisplayIndex (-1);
221*b1cdbd2cSJim Jagielski const sal_Int32 nDefaultSelectedDisplay (
222*b1cdbd2cSJim Jagielski ( ( const SfxInt32Item& ) rOutAttrs.Get( ATTR_PRESENT_DISPLAY ) ).GetValue());
223*b1cdbd2cSJim Jagielski const String sPlaceHolder( RTL_CONSTASCII_USTRINGPARAM( "%1" ) );
224*b1cdbd2cSJim Jagielski for( sal_Int32 nDisplay = 0; nDisplay < mnMonitors; nDisplay++ )
225*b1cdbd2cSJim Jagielski {
226*b1cdbd2cSJim Jagielski String aName( nDisplay == nDefaultDisplay ? msPrimaryMonitor : msMonitor );
227*b1cdbd2cSJim Jagielski const String aNumber( String::CreateFromInt32( nDisplay + 1 ) );
228*b1cdbd2cSJim Jagielski aName.SearchAndReplace( sPlaceHolder, aNumber );
229*b1cdbd2cSJim Jagielski maLBMonitor.InsertEntry( aName );
230*b1cdbd2cSJim Jagielski
231*b1cdbd2cSJim Jagielski // Store display index together with name.
232*b1cdbd2cSJim Jagielski const sal_uInt32 nEntryIndex (maLBMonitor.GetEntryCount()-1);
233*b1cdbd2cSJim Jagielski maLBMonitor.SetEntryData(nEntryIndex, (void*)nDisplay);
234*b1cdbd2cSJim Jagielski
235*b1cdbd2cSJim Jagielski // Remember the index of the default selection.
236*b1cdbd2cSJim Jagielski if (nDefaultSelectedDisplay == nDisplay)
237*b1cdbd2cSJim Jagielski nSelectedIndex = nEntryIndex;
238*b1cdbd2cSJim Jagielski
239*b1cdbd2cSJim Jagielski // Remember index of the default display.
240*b1cdbd2cSJim Jagielski if (nDisplay == nDefaultDisplay)
241*b1cdbd2cSJim Jagielski nDefaultDisplayIndex = nEntryIndex;
242*b1cdbd2cSJim Jagielski }
243*b1cdbd2cSJim Jagielski
244*b1cdbd2cSJim Jagielski if( !bMultiscreen )
245*b1cdbd2cSJim Jagielski {
246*b1cdbd2cSJim Jagielski maLBMonitor.InsertEntry( msAllMonitors );
247*b1cdbd2cSJim Jagielski const sal_uInt32 nEntryIndex (maLBMonitor.GetEntryCount()-1);
248*b1cdbd2cSJim Jagielski maLBMonitor.SetEntryData(nEntryIndex, (void*)-1);
249*b1cdbd2cSJim Jagielski if (nDefaultSelectedDisplay == -1)
250*b1cdbd2cSJim Jagielski nSelectedIndex = nEntryIndex;
251*b1cdbd2cSJim Jagielski }
252*b1cdbd2cSJim Jagielski
253*b1cdbd2cSJim Jagielski if (nSelectedIndex < 0)
254*b1cdbd2cSJim Jagielski {
255*b1cdbd2cSJim Jagielski if (nDefaultSelectedDisplay < 0)
256*b1cdbd2cSJim Jagielski nSelectedIndex = 0;
257*b1cdbd2cSJim Jagielski else
258*b1cdbd2cSJim Jagielski nSelectedIndex = nDefaultDisplayIndex;
259*b1cdbd2cSJim Jagielski }
260*b1cdbd2cSJim Jagielski
261*b1cdbd2cSJim Jagielski maLBMonitor.SelectEntryPos((sal_uInt16)nSelectedIndex);
262*b1cdbd2cSJim Jagielski }
263*b1cdbd2cSJim Jagielski }
264*b1cdbd2cSJim Jagielski catch( Exception& )
265*b1cdbd2cSJim Jagielski {
266*b1cdbd2cSJim Jagielski }
267*b1cdbd2cSJim Jagielski }
268*b1cdbd2cSJim Jagielski
269*b1cdbd2cSJim Jagielski /*************************************************************************
270*b1cdbd2cSJim Jagielski |* Setzt die ausgewaehlten Attribute des Dialogs
271*b1cdbd2cSJim Jagielski \************************************************************************/
GetAttr(SfxItemSet & rAttr)272*b1cdbd2cSJim Jagielski void SdStartPresentationDlg::GetAttr( SfxItemSet& rAttr )
273*b1cdbd2cSJim Jagielski {
274*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_ALL, aRbtAll.IsChecked() ) );
275*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_CUSTOMSHOW, aRbtCustomshow.IsChecked() ) );
276*b1cdbd2cSJim Jagielski rAttr.Put( SfxStringItem ( ATTR_PRESENT_DIANAME, aLbDias.GetSelectEntry() ) );
277*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_MANUEL, aCbxManuel.IsChecked() ) );
278*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_MOUSE, aCbxMousepointer.IsChecked() ) );
279*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_PEN, aCbxPen.IsChecked() ) );
280*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_NAVIGATOR, aCbxNavigator.IsChecked() ) );
281*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_ANIMATION_ALLOWED, aCbxAnimationAllowed.IsChecked() ) );
282*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_CHANGE_PAGE, aCbxChangePage.IsChecked() ) );
283*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_ALWAYS_ON_TOP, aCbxAlwaysOnTop.IsChecked() ) );
284*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_FULLSCREEN, !aRbtWindow.IsChecked() ) );
285*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_ENDLESS, aRbtAuto.IsChecked() ) );
286*b1cdbd2cSJim Jagielski rAttr.Put( SfxUInt32Item ( ATTR_PRESENT_PAUSE_TIMEOUT, aTmfPause.GetTime().GetMSFromTime() / 1000 ) );
287*b1cdbd2cSJim Jagielski rAttr.Put( SfxBoolItem ( ATTR_PRESENT_SHOW_PAUSELOGO, aCbxAutoLogo.IsChecked() ) );
288*b1cdbd2cSJim Jagielski
289*b1cdbd2cSJim Jagielski sal_uInt16 nPos = maLBMonitor.GetSelectEntryPos();
290*b1cdbd2cSJim Jagielski if( nPos != LISTBOX_ENTRY_NOTFOUND )
291*b1cdbd2cSJim Jagielski rAttr.Put( SfxInt32Item ( ATTR_PRESENT_DISPLAY, (sal_Int32)(sal_IntPtr)maLBMonitor.GetEntryData(nPos)) );
292*b1cdbd2cSJim Jagielski
293*b1cdbd2cSJim Jagielski nPos = aLbCustomshow.GetSelectEntryPos();
294*b1cdbd2cSJim Jagielski if( nPos != LISTBOX_ENTRY_NOTFOUND )
295*b1cdbd2cSJim Jagielski pCustomShowList->Seek( nPos );
296*b1cdbd2cSJim Jagielski }
297*b1cdbd2cSJim Jagielski
298*b1cdbd2cSJim Jagielski /*************************************************************************
299*b1cdbd2cSJim Jagielski |* Handler: Enabled/Disabled Listbox "Dias"
300*b1cdbd2cSJim Jagielski \************************************************************************/
IMPL_LINK(SdStartPresentationDlg,ChangeRangeHdl,void *,EMPTYARG)301*b1cdbd2cSJim Jagielski IMPL_LINK( SdStartPresentationDlg, ChangeRangeHdl, void *, EMPTYARG )
302*b1cdbd2cSJim Jagielski {
303*b1cdbd2cSJim Jagielski aLbDias.Enable( aRbtAtDia.IsChecked() );
304*b1cdbd2cSJim Jagielski aLbCustomshow.Enable( aRbtCustomshow.IsChecked() );
305*b1cdbd2cSJim Jagielski
306*b1cdbd2cSJim Jagielski return( 0L );
307*b1cdbd2cSJim Jagielski }
308*b1cdbd2cSJim Jagielski
309*b1cdbd2cSJim Jagielski /*************************************************************************
310*b1cdbd2cSJim Jagielski |* Handler: Enabled/Disabled Checkbox "AlwaysOnTop"
311*b1cdbd2cSJim Jagielski \************************************************************************/
IMPL_LINK(SdStartPresentationDlg,ClickWindowPresentationHdl,void *,EMPTYARG)312*b1cdbd2cSJim Jagielski IMPL_LINK( SdStartPresentationDlg, ClickWindowPresentationHdl, void *, EMPTYARG )
313*b1cdbd2cSJim Jagielski {
314*b1cdbd2cSJim Jagielski const bool bAuto = aRbtAuto.IsChecked();
315*b1cdbd2cSJim Jagielski const bool bWindow = aRbtWindow.IsChecked();
316*b1cdbd2cSJim Jagielski
317*b1cdbd2cSJim Jagielski // aFtPause.Enable( bAuto );
318*b1cdbd2cSJim Jagielski aTmfPause.Enable( bAuto );
319*b1cdbd2cSJim Jagielski aCbxAutoLogo.Enable( bAuto && ( aTmfPause.GetTime().GetMSFromTime() > 0 ) );
320*b1cdbd2cSJim Jagielski
321*b1cdbd2cSJim Jagielski const bool bDisplay = !bWindow && ( mnMonitors > 1 );
322*b1cdbd2cSJim Jagielski maFtMonitor.Enable( bDisplay );
323*b1cdbd2cSJim Jagielski maLBMonitor.Enable( bDisplay );
324*b1cdbd2cSJim Jagielski
325*b1cdbd2cSJim Jagielski if( bWindow )
326*b1cdbd2cSJim Jagielski {
327*b1cdbd2cSJim Jagielski aCbxAlwaysOnTop.Enable( sal_False );
328*b1cdbd2cSJim Jagielski aCbxAlwaysOnTop.Check( sal_False );
329*b1cdbd2cSJim Jagielski }
330*b1cdbd2cSJim Jagielski else
331*b1cdbd2cSJim Jagielski aCbxAlwaysOnTop.Enable();
332*b1cdbd2cSJim Jagielski
333*b1cdbd2cSJim Jagielski return( 0L );
334*b1cdbd2cSJim Jagielski }
335*b1cdbd2cSJim Jagielski
336*b1cdbd2cSJim Jagielski /*************************************************************************
337*b1cdbd2cSJim Jagielski |* Handler: Enabled/Disabled Checkbox "AlwaysOnTop"
338*b1cdbd2cSJim Jagielski \************************************************************************/
IMPL_LINK(SdStartPresentationDlg,ChangePauseHdl,void *,EMPTYARG)339*b1cdbd2cSJim Jagielski IMPL_LINK( SdStartPresentationDlg, ChangePauseHdl, void *, EMPTYARG )
340*b1cdbd2cSJim Jagielski {
341*b1cdbd2cSJim Jagielski aCbxAutoLogo.Enable( aRbtAuto.IsChecked() && ( aTmfPause.GetTime().GetMSFromTime() > 0 ) );
342*b1cdbd2cSJim Jagielski return( 0L );
343*b1cdbd2cSJim Jagielski }
344*b1cdbd2cSJim Jagielski
345*b1cdbd2cSJim Jagielski
346