fdo#56995 Created global option to disable presenter console in Impress
Changes made are as Follows /officecfg/registry/schema/org/openoffice/Office/Impress.xcs To add the new global checkbox to Libreoffice Impress>General>Start A new xml block for EnablePresenterScreen was added <prop oor:name="EnablePresenterScreen" oor:type="xs:boolean" > /sd/source/ui/app/optsitem.cxx To add the setter/getter for the new checkbox button, namely: SetEnablePresenterScreen IsEnablePresenterScreen EnablePresenterScreen added to index number 26 of: GetPropNameArray() /sd/source/ui/dlg/tpoption.cxx SdTpOptionsMisc() editted to attach EnablePresenterScreen to CBX_ENABLE_PRESENTER_SCREEN aCbxEnablePresenterScreen ( this, SdResId( CBX_ENABLE_PRESENTER_SCREEN)) Also Added to FillItemSet() and Reset() functions /sd/source/ui/dlg/tpoption.src b/sd/source/ui/dlg/tpoption.src enableSdRemote size changed to Size = MAP_APPFONT ( 116 , 10 ) ; Pos = MAP_APPFONT ( 12 , 171 ) ; 158 was correct but 171 was added on request To allow enableSdRemote(CBX_ENABLE_SDREMOTE) and enablePresenterScreen( CBX_ENABLE_PRESENTER_SCREEN) to be drawn adjacent. enablePresenterScreen checkbox CBX_ENABLE_PRESENTER_SCREEN added /sd/source/ui/inc/optsitem.hxx Set default value for enablePresenterScreen as 1 or TRUE sal_Bool bEnablePresenterScreen : 1; Added getter/setter named same as above for interface definition sd/source/ui/inc/tpoption.hrc Defined CBX_ENABLE_PRESENTER_SCREEN as 42nd checkbox #define CBX_ENABLE_PRESENTER_SCREEN 42 /sd/source/ui/inc/tpoption.hxx Added interface declaration of aCbxEnablePresenterScreen which was attached to CBX_ENABLE_PRESENTER_SCREEN /sdext/source/presenter/PresenterScreen.hxx Added interface declaration of bool isPresenterScreenEnabled() to PresenterScreen class to allow presenterscreen to get if the option is checked /sdext/source/presenter/PresenterScreen.cxx Added definition of isPresenterScreenEnabled(const css::uno::Reference<css::uno::XComponentContext>& rxContext) Input : Current Process Context Output : The 0/1 value of EnablePresenterScreen from presenterconfig In PresenterScreenListener::notifyEvent( ) Added if(mpPresenterScreen->isPresenterScreenEnabled(mxComponentContext) mpPresenterScreen->InitializePresenterScreen() To initialize PresenterScreen only when enabled Change-Id: If8242e607323df57d8e78d08cf2129d03c0c9e4f Reviewed-on: https://gerrit.libreoffice.org/3762 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
This commit is contained in:
parent
abb720f423
commit
39da7ee77e
9 changed files with 56 additions and 5 deletions
|
@ -601,6 +601,13 @@
|
|||
</info>
|
||||
<value>true</value>
|
||||
</prop>
|
||||
<prop oor:name="EnablePresenterScreen" oor:type="xs:boolean" oor:nillable="false">
|
||||
<info>
|
||||
<desc>Indicates whether to show Presenter Screen Console which shows next slide, notes etc.</desc>
|
||||
<label>Enable Presenter Screen</label>
|
||||
</info>
|
||||
<value>true</value>
|
||||
</prop>
|
||||
</group>
|
||||
<group oor:name="Compatibility">
|
||||
<info>
|
||||
|
|
|
@ -489,6 +489,7 @@ SdOptionsMisc::SdOptionsMisc( sal_uInt16 nConfigId, sal_Bool bUseConfig ) :
|
|||
bClickChangeRotation( sal_False ),
|
||||
bStartWithActualPage( sal_False ),
|
||||
bEnableSdremote( sal_False ),
|
||||
bEnablePresenterScreen( sal_True),
|
||||
bSolidDragging( sal_True ),
|
||||
bSummationOfParagraphs( sal_False ),
|
||||
bShowUndoDeleteWarning( sal_True ),
|
||||
|
@ -524,6 +525,7 @@ sal_Bool SdOptionsMisc::operator==( const SdOptionsMisc& rOpt ) const
|
|||
IsClickChangeRotation() == rOpt.IsClickChangeRotation() &&
|
||||
IsStartWithActualPage() == rOpt.IsStartWithActualPage() &&
|
||||
IsEnableSdremote() == rOpt.IsEnableSdremote() &&
|
||||
IsEnablePresenterScreen() == rOpt.IsEnablePresenterScreen()&&
|
||||
IsSummationOfParagraphs() == rOpt.IsSummationOfParagraphs() &&
|
||||
IsSolidDragging() == rOpt.IsSolidDragging() &&
|
||||
IsShowUndoDeleteWarning() == rOpt.IsShowUndoDeleteWarning() &&
|
||||
|
@ -580,10 +582,11 @@ void SdOptionsMisc::GetPropNameArray( const char**& ppNames, sal_uLong& rCount )
|
|||
|
||||
"PenColor",
|
||||
"PenWidth",
|
||||
"Start/EnableSdremote"
|
||||
"Start/EnableSdremote",
|
||||
"Start/EnablePresenterScreen"
|
||||
};
|
||||
|
||||
rCount = ( ( GetConfigId() == SDCFG_IMPRESS ) ? 26 : 14 );
|
||||
rCount = ( ( GetConfigId() == SDCFG_IMPRESS ) ? 27 : 14 );
|
||||
ppNames = aPropNames;
|
||||
}
|
||||
|
||||
|
@ -642,6 +645,9 @@ sal_Bool SdOptionsMisc::ReadData( const Any* pValues )
|
|||
|
||||
if( pValues[25].hasValue() )
|
||||
SetEnableSdremote( *(sal_Bool*) pValues[ 25 ].getValue() );
|
||||
|
||||
if( pValues[26].hasValue() )
|
||||
SetEnablePresenterScreen( *(sal_Bool*) pValues[ 26 ].getValue() );
|
||||
}
|
||||
|
||||
return sal_True;
|
||||
|
@ -685,6 +691,7 @@ sal_Bool SdOptionsMisc::WriteData( Any* pValues ) const
|
|||
pValues[ 23 ] <<= GetPresentationPenColor();
|
||||
pValues[ 24 ] <<= GetPresentationPenWidth();
|
||||
pValues[ 25 ] <<= IsEnableSdremote();
|
||||
pValues[ 26 ] <<= IsEnablePresenterScreen();
|
||||
}
|
||||
|
||||
return sal_True;
|
||||
|
@ -713,6 +720,7 @@ SdOptionsMiscItem::SdOptionsMiscItem( sal_uInt16 _nWhich, SdOptions* pOpts, ::sd
|
|||
maOptionsMisc.SetStartWithTemplate( pOpts->IsStartWithTemplate() );
|
||||
maOptionsMisc.SetStartWithActualPage( pOpts->IsStartWithActualPage() );
|
||||
maOptionsMisc.SetEnableSdremote( pOpts->IsEnableSdremote() );
|
||||
maOptionsMisc.SetEnablePresenterScreen( pOpts->IsEnablePresenterScreen() );
|
||||
maOptionsMisc.SetSummationOfParagraphs( pOpts->IsSummationOfParagraphs() );
|
||||
maOptionsMisc.SetShowUndoDeleteWarning( pOpts->IsShowUndoDeleteWarning() );
|
||||
maOptionsMisc.SetPrinterIndependentLayout( pOpts->GetPrinterIndependentLayout() );
|
||||
|
@ -796,6 +804,7 @@ void SdOptionsMiscItem::SetOptions( SdOptions* pOpts ) const
|
|||
pOpts->SetClickChangeRotation( maOptionsMisc.IsClickChangeRotation() );
|
||||
pOpts->SetStartWithActualPage( maOptionsMisc.IsStartWithActualPage() );
|
||||
pOpts->SetEnableSdremote( maOptionsMisc.IsEnableSdremote() );
|
||||
pOpts->SetEnablePresenterScreen( maOptionsMisc.IsEnablePresenterScreen() );
|
||||
pOpts->SetSummationOfParagraphs( maOptionsMisc.IsSummationOfParagraphs() );
|
||||
pOpts->SetSolidDragging( maOptionsMisc.IsSolidDragging() );
|
||||
pOpts->SetShowUndoDeleteWarning( maOptionsMisc.IsShowUndoDeleteWarning() );
|
||||
|
|
|
@ -236,6 +236,7 @@ SdTpOptionsMisc::SdTpOptionsMisc( Window* pParent, const SfxItemSet& rInAttrs )
|
|||
aCbxStartWithActualPage ( this, SdResId( CBX_START_WITH_ACTUAL_PAGE ) ),
|
||||
aGrpStartWithActualPage ( this, SdResId( GRP_START_WITH_ACTUAL_PAGE ) ),
|
||||
aCbxEnableSdremote ( this, SdResId( CBX_ENABLE_SDREMOTE ) ),
|
||||
aCbxEnablePresenterScreen ( this, SdResId( CBX_ENABLE_PRESENTER_SCREEN ) ),
|
||||
aTxtCompatibility ( this, SdResId( FT_COMPATIBILITY ) ),
|
||||
aCbxUsePrinterMetrics ( this, SdResId( CB_USE_PRINTER_METRICS ) ),
|
||||
aCbxCompatibility ( this, SdResId( CB_MERGE_PARA_DIST ) ),
|
||||
|
@ -402,6 +403,7 @@ sal_Bool SdTpOptionsMisc::FillItemSet( SfxItemSet& rAttrs )
|
|||
aCbxCopy.GetSavedValue() != aCbxCopy.IsChecked() ||
|
||||
aCbxStartWithActualPage.GetSavedValue() != aCbxStartWithActualPage.IsChecked() ||
|
||||
aCbxEnableSdremote.GetSavedValue() != aCbxEnableSdremote.IsChecked() ||
|
||||
aCbxEnablePresenterScreen.GetSavedValue()!= aCbxEnablePresenterScreen.IsChecked() ||
|
||||
aCbxCompatibility.GetSavedValue() != aCbxCompatibility.IsChecked() ||
|
||||
aCbxUsePrinterMetrics.GetSavedValue() != aCbxUsePrinterMetrics.IsChecked() )
|
||||
{
|
||||
|
@ -416,6 +418,7 @@ sal_Bool SdTpOptionsMisc::FillItemSet( SfxItemSet& rAttrs )
|
|||
aOptsItem.GetOptionsMisc().SetDragWithCopy( aCbxCopy.IsChecked() );
|
||||
aOptsItem.GetOptionsMisc().SetStartWithActualPage( aCbxStartWithActualPage.IsChecked() );
|
||||
aOptsItem.GetOptionsMisc().SetEnableSdremote( aCbxEnableSdremote.IsChecked() );
|
||||
aOptsItem.GetOptionsMisc().SetEnablePresenterScreen( aCbxEnablePresenterScreen.IsChecked() );
|
||||
aOptsItem.GetOptionsMisc().SetSummationOfParagraphs( aCbxCompatibility.IsChecked() );
|
||||
aOptsItem.GetOptionsMisc().SetPrinterIndependentLayout (
|
||||
aCbxUsePrinterMetrics.IsChecked()
|
||||
|
@ -474,6 +477,7 @@ void SdTpOptionsMisc::Reset( const SfxItemSet& rAttrs )
|
|||
aCbxCopy.Check( aOptsItem.GetOptionsMisc().IsDragWithCopy() );
|
||||
aCbxStartWithActualPage.Check( aOptsItem.GetOptionsMisc().IsStartWithActualPage() );
|
||||
aCbxEnableSdremote.Check( aOptsItem.GetOptionsMisc().IsEnableSdremote() );
|
||||
aCbxEnablePresenterScreen.Check( aOptsItem.GetOptionsMisc().IsEnablePresenterScreen() );
|
||||
aCbxCompatibility.Check( aOptsItem.GetOptionsMisc().IsSummationOfParagraphs() );
|
||||
aCbxUsePrinterMetrics.Check( aOptsItem.GetOptionsMisc().GetPrinterIndependentLayout()==1 );
|
||||
aCbxStartWithTemplate.SaveValue();
|
||||
|
@ -485,6 +489,7 @@ void SdTpOptionsMisc::Reset( const SfxItemSet& rAttrs )
|
|||
aCbxMasterPageCache.SaveValue();
|
||||
aCbxCopy.SaveValue();
|
||||
aCbxEnableSdremote.SaveValue();
|
||||
aCbxEnablePresenterScreen.SaveValue();
|
||||
aCbxCompatibility.SaveValue();
|
||||
aCbxUsePrinterMetrics.SaveValue();
|
||||
|
||||
|
@ -611,6 +616,9 @@ void SdTpOptionsMisc::SetImpressMode (void)
|
|||
lcl_MoveWin (aGrpStartWithActualPage, -nLineHeight);
|
||||
lcl_MoveWin (aCbxStartWithActualPage, -nLineHeight);
|
||||
lcl_MoveWin (aCbxEnableSdremote, -nLineHeight);
|
||||
lcl_MoveWin (aCbxEnablePresenterScreen,
|
||||
nDialogWidth/2 - aCbxEnablePresenterScreen.GetPosPixel().X(),
|
||||
-nLineHeight);
|
||||
lcl_MoveWin (aTxtCompatibility, -nLineHeight);
|
||||
|
||||
// Move the printer-independent-metrics check box up two lines to change
|
||||
|
@ -627,6 +635,7 @@ void SdTpOptionsMisc::SetDrawMode()
|
|||
aGrpProgramStart.Hide();
|
||||
aCbxStartWithActualPage.Hide();
|
||||
aCbxEnableSdremote.Hide();
|
||||
aCbxEnablePresenterScreen.Hide();
|
||||
aCbxCompatibility.Hide();
|
||||
aGrpStartWithActualPage.Hide();
|
||||
aCbxCrookNoContortion.Show();
|
||||
|
|
|
@ -210,10 +210,18 @@ TabPage TP_OPTIONS_MISC
|
|||
{
|
||||
HelpID = "sd:CheckBox:TP_OPTIONS_MISC:CBX_ENABLE_SDREMOTE";
|
||||
Pos = MAP_APPFONT ( 12 , 158 ) ;
|
||||
Size = MAP_APPFONT ( 242 , 10 ) ;
|
||||
Size = MAP_APPFONT ( 116 , 10 ) ;
|
||||
TabStop = TRUE ;
|
||||
Text [ en-US ] = "Enable remote control" ;
|
||||
};
|
||||
CheckBox CBX_ENABLE_PRESENTER_SCREEN
|
||||
{
|
||||
HelpID = "sd:CheckBox:TP_OPTIONS_MISC:CBX_ENABLE_PRESENTER_SCREEN";
|
||||
Pos = MAP_APPFONT ( 12 , 171 ) ;
|
||||
Size = MAP_APPFONT ( 116 , 10 ) ;
|
||||
TabStop = TRUE ;
|
||||
Text [ en-US ] = "Enable Presenter Console" ;
|
||||
};
|
||||
FixedLine FT_COMPATIBILITY
|
||||
{
|
||||
Pos = MAP_APPFONT ( 6 , 173 ) ;
|
||||
|
|
|
@ -224,6 +224,7 @@ private:
|
|||
sal_Bool bClickChangeRotation : 1; // Misc/RotateClick
|
||||
sal_Bool bStartWithActualPage : 1; // Misc/Start/CurrentPage
|
||||
sal_Bool bEnableSdremote : 1; // Misc/Start/EnableSdremote
|
||||
sal_Bool bEnablePresenterScreen : 1; // Misc/Start/EnablePresenterDisplay
|
||||
sal_Bool bSolidDragging : 1; // Misc/ModifyWithAttributes
|
||||
sal_Bool bSummationOfParagraphs : 1; // misc/SummationOfParagraphs
|
||||
sal_Bool bShowUndoDeleteWarning : 1; // Misc/ShowUndoDeleteWarning
|
||||
|
@ -273,6 +274,7 @@ public:
|
|||
sal_Bool IsClickChangeRotation() const { Init(); return (sal_Bool) bClickChangeRotation; }
|
||||
sal_Bool IsStartWithActualPage() const { Init(); return (sal_Bool) bStartWithActualPage; }
|
||||
sal_Bool IsEnableSdremote() const { Init(); return (sal_Bool) bEnableSdremote; }
|
||||
sal_Bool IsEnablePresenterScreen() const { Init(); return (sal_Bool) bEnablePresenterScreen; }
|
||||
sal_Bool IsSolidDragging() const { Init(); return (sal_Bool) bSolidDragging; }
|
||||
sal_Bool IsSummationOfParagraphs() const { Init(); return bSummationOfParagraphs != 0; };
|
||||
|
||||
|
@ -312,6 +314,7 @@ public:
|
|||
void SetClickChangeRotation( sal_Bool bOn = sal_True ) { if( bClickChangeRotation != bOn ) { OptionsChanged(); bClickChangeRotation = bOn; } }
|
||||
void SetStartWithActualPage( sal_Bool bOn = sal_True ) { if( bStartWithActualPage != bOn ) { OptionsChanged(); bStartWithActualPage = bOn; } }
|
||||
void SetEnableSdremote( sal_Bool bOn = sal_True ) { if( bEnableSdremote != bOn ) { OptionsChanged(); bEnableSdremote = bOn; } }
|
||||
void SetEnablePresenterScreen( sal_Bool bOn = sal_True ) { if( bEnablePresenterScreen != bOn ) { OptionsChanged(); bEnablePresenterScreen = bOn; } }
|
||||
void SetSummationOfParagraphs( sal_Bool bOn = sal_True ){ if ( bOn != bSummationOfParagraphs ) { OptionsChanged(); bSummationOfParagraphs = bOn; } }
|
||||
/** Set the printer independent layout mode.
|
||||
@param nOn
|
||||
|
|
|
@ -74,5 +74,5 @@
|
|||
|
||||
#define CB_USE_PRINTER_METRICS 40
|
||||
#define CBX_ENABLE_SDREMOTE 41
|
||||
|
||||
#define CBX_ENABLE_PRESENTER_SCREEN 42
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
|
|
@ -97,6 +97,7 @@ private:
|
|||
CheckBox aCbxStartWithActualPage;
|
||||
FixedLine aGrpStartWithActualPage;
|
||||
CheckBox aCbxEnableSdremote;
|
||||
CheckBox aCbxEnablePresenterScreen;
|
||||
FixedLine aTxtCompatibility;
|
||||
CheckBox aCbxUsePrinterMetrics;
|
||||
CheckBox aCbxCompatibility;
|
||||
|
|
|
@ -220,7 +220,8 @@ void SAL_CALL PresenterScreenListener::notifyEvent( const css::document::EventOb
|
|||
if ( Event.EventName == "OnStartPresentation" )
|
||||
{
|
||||
mpPresenterScreen = new PresenterScreen(mxComponentContext, mxModel);
|
||||
mpPresenterScreen->InitializePresenterScreen();
|
||||
if(mpPresenterScreen->isPresenterScreenEnabled(mxComponentContext))
|
||||
mpPresenterScreen->InitializePresenterScreen();
|
||||
}
|
||||
else if ( Event.EventName == "OnEndPresentation" )
|
||||
{
|
||||
|
@ -286,6 +287,17 @@ PresenterScreen::~PresenterScreen (void)
|
|||
{
|
||||
}
|
||||
|
||||
bool PresenterScreen::isPresenterScreenEnabled(const css::uno::Reference<css::uno::XComponentContext>& rxContext)
|
||||
{
|
||||
bool dEnablePresenterScreen=true;
|
||||
PresenterConfigurationAccess aConfiguration (
|
||||
rxContext,
|
||||
OUString("/org.openoffice.Office.Impress/"),
|
||||
PresenterConfigurationAccess::READ_ONLY);
|
||||
aConfiguration.GetConfigurationNode("Misc/Start/EnablePresenterScreen")
|
||||
>>= dEnablePresenterScreen;
|
||||
return dEnablePresenterScreen;
|
||||
}
|
||||
void SAL_CALL PresenterScreen::disposing (void)
|
||||
{
|
||||
Reference<XConfigurationController> xCC (mxConfigurationControllerWeak);
|
||||
|
|
|
@ -109,6 +109,8 @@ public:
|
|||
|
||||
virtual void SAL_CALL disposing (void);
|
||||
|
||||
bool isPresenterScreenEnabled(
|
||||
const css::uno::Reference<css::uno::XComponentContext>& rxContext);
|
||||
/** Make the presenter screen visible.
|
||||
*/
|
||||
void InitializePresenterScreen (void);
|
||||
|
|
Loading…
Reference in a new issue