Files
libreoffice/sd/source/ui/controller/displaymodecontroller.cxx

288 lines
9.3 KiB
C++
Raw Normal View History

Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include <memory>
#include <svtools/popupwindowcontroller.hxx>
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
#include <svtools/toolbarmenu.hxx>
#include <svtools/valueset.hxx>
#include <vcl/toolbox.hxx>
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
#include "strings.hrc"
#include "res_bmp.hrc"
#include "sdresid.hxx"
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::frame;
using namespace ::com::sun::star::beans;
namespace sd
{
// Component to select which display mode has to be used.
// Composed of a dropdown button in the toolbar and a
// popup menu to select the value
class DisplayModeController : public svt::PopupWindowController
{
public:
explicit DisplayModeController( const css::uno::Reference< css::uno::XComponentContext >& rxContext );
virtual VclPtr<vcl::Window> createPopupWindow( vcl::Window* pParent ) override;
// XInitialization
virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments )
throw ( css::uno::Exception, css::uno::RuntimeException, std::exception ) override;
// XServiceInfo
virtual OUString SAL_CALL getImplementationName() throw ( css::uno::RuntimeException, std::exception ) override;
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw ( css::uno::RuntimeException, std::exception ) override;
void setToolboxItemImage( sal_uInt16 nImage );
using svt::PopupWindowController::createPopupWindow;
};
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
class DisplayModeToolbarMenu : public svtools::ToolbarMenu
{
public:
DisplayModeToolbarMenu( DisplayModeController& rController, vcl::Window* pParent );
virtual ~DisplayModeToolbarMenu() override;
virtual void dispose() override;
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
protected:
DECL_LINK( SelectToolbarMenuHdl, ToolbarMenu*, void );
DECL_LINK( SelectValueSetHdl, ValueSet*, void );
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
void SelectHdl(void*);
private:
DisplayModeController& mrController;
VclPtr<ValueSet> mpDisplayModeSet1;
VclPtr<ValueSet> mpDisplayModeSet2;
};
struct snewfoil_value_info
{
sal_uInt16 mnId;
sal_uInt16 mnBmpResId;
sal_uInt16 mnStrResId;
OUString msUnoCommand;
};
static const snewfoil_value_info editmodes[] =
{
{1,
BMP_DISPLAYMODE_SLIDE,
STR_NORMAL_MODE,
OUString(".uno:NormalMultiPaneGUI") },
{2,
BMP_DISPLAYMODE_NOTES,
STR_NOTES_MODE,
OUString(".uno:NotesMode") },
{3,
BMP_DISPLAYMODE_OUTLINE,
STR_OUTLINE_MODE,
OUString(".uno:OutlineMode") },
{4,
BMP_DISPLAYMODE_SLIDE_SORTER,
STR_SLIDE_SORTER_MODE,
OUString(".uno:DiaMode") },
{0, 0, 0, OUString() }
};
static const snewfoil_value_info mastermodes[] =
{
{5,
BMP_DISPLAYMODE_SLIDE_MASTER,
STR_SLIDE_MASTER_MODE,
OUString(".uno:SlideMasterPage") },
{6,
BMP_DISPLAYMODE_NOTES_MASTER,
STR_NOTES_MASTER_MODE,
OUString(".uno:NotesMasterPage") },
{7,
BMP_DISPLAYMODE_HANDOUT_MASTER,
STR_HANDOUT_MASTER_MODE,
OUString(".uno:HandoutMode") },
{0, 0, 0, OUString() }
};
static void fillLayoutValueSet( ValueSet* pValue, const snewfoil_value_info* pInfo )
{
Size aLayoutItemSize;
for( ; pInfo->mnId; pInfo++ )
{
OUString aText( SD_RESSTR( pInfo->mnStrResId ) );
BitmapEx aBmp( SdResId( pInfo->mnBmpResId ) );
pValue->InsertItem(pInfo->mnId, Image(aBmp), aText);
aLayoutItemSize.Width() = std::max( aLayoutItemSize.Width(), aBmp.GetSizePixel().Width() );
aLayoutItemSize.Height() = std::max( aLayoutItemSize.Height(), aBmp.GetSizePixel().Height() );
}
aLayoutItemSize = pValue->CalcItemSizePixel( aLayoutItemSize );
pValue->SetSizePixel( pValue->CalcWindowSizePixel( aLayoutItemSize ) );
}
DisplayModeToolbarMenu::DisplayModeToolbarMenu( DisplayModeController& rController, vcl::Window* pParent )
: svtools::ToolbarMenu( rController.getFrameInterface(), pParent, WB_CLIPCHILDREN )
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
, mrController( rController )
, mpDisplayModeSet1( nullptr )
, mpDisplayModeSet2( nullptr )
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
{
const sal_Int32 LAYOUT_BORDER_PIX = 7;
OUString aTitle1( SD_RESSTR( STR_DISPLAYMODE_EDITMODES ) );
OUString aTitle2( SD_RESSTR( STR_DISPLAYMODE_MASTERMODES ) );
SetSelectHdl( LINK( this, DisplayModeToolbarMenu, SelectToolbarMenuHdl ) );
mpDisplayModeSet1 = createEmptyValueSetControl();
mpDisplayModeSet1->SetSelectHdl( LINK( this, DisplayModeToolbarMenu, SelectValueSetHdl ) );
sal_Int16 nColCount = 2;
mpDisplayModeSet1->SetColCount( nColCount );
fillLayoutValueSet( mpDisplayModeSet1, &editmodes[0] );
Size aSize( mpDisplayModeSet1->GetOutputSizePixel() );
aSize.Width() += (mpDisplayModeSet1->GetColCount() + 1) * LAYOUT_BORDER_PIX;
aSize.Height() += (mpDisplayModeSet1->GetLineCount() +1) * LAYOUT_BORDER_PIX;
mpDisplayModeSet1->SetOutputSizePixel( aSize );
appendEntry( -1, aTitle1 );
appendEntry( 1, mpDisplayModeSet1 );
mpDisplayModeSet2 = createEmptyValueSetControl();
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
mpDisplayModeSet2->SetSelectHdl( LINK( this, DisplayModeToolbarMenu, SelectValueSetHdl ) );
mpDisplayModeSet2->SetColCount( nColCount );
fillLayoutValueSet( mpDisplayModeSet2, &mastermodes[0] );
aSize = mpDisplayModeSet2->GetOutputSizePixel();
aSize.Width() += (mpDisplayModeSet2->GetColCount() + 1) * LAYOUT_BORDER_PIX;
aSize.Height() += (mpDisplayModeSet2->GetLineCount() + 1) * LAYOUT_BORDER_PIX;
mpDisplayModeSet2->SetOutputSizePixel( aSize );
appendEntry( -1, aTitle2 );
appendEntry( 2, mpDisplayModeSet2 );
SetOutputSizePixel( getMenuSize() );
}
DisplayModeToolbarMenu::~DisplayModeToolbarMenu()
{
disposeOnce();
}
void DisplayModeToolbarMenu::dispose()
{
mpDisplayModeSet1.clear();
mpDisplayModeSet2.clear();
svtools::ToolbarMenu::dispose();
}
IMPL_LINK( DisplayModeToolbarMenu, SelectValueSetHdl, ValueSet*, pControl, void )
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
{
SelectHdl(pControl);
}
IMPL_LINK( DisplayModeToolbarMenu, SelectToolbarMenuHdl, ToolbarMenu *, pControl, void )
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
{
SelectHdl(pControl);
}
void DisplayModeToolbarMenu::SelectHdl(void * pControl)
{
if ( IsInPopupMode() )
EndPopupMode();
OUString sCommandURL;
sal_uInt16 nImage = 0;
if( pControl == mpDisplayModeSet1 ) {
sCommandURL = editmodes[mpDisplayModeSet1->GetSelectItemId() - 1 ].msUnoCommand;
nImage = editmodes[mpDisplayModeSet1->GetSelectItemId() - 1 ].mnBmpResId;
}
else if( pControl == mpDisplayModeSet2 ) {
sCommandURL = mastermodes[mpDisplayModeSet2->GetSelectItemId() - 5 ].msUnoCommand;
nImage = mastermodes[mpDisplayModeSet2->GetSelectItemId() - 5 ].mnBmpResId;
}
if (!sCommandURL.isEmpty())
mrController.dispatchCommand( sCommandURL, Sequence< PropertyValue >() );
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
mrController.setToolboxItemImage( nImage );
}
DisplayModeController::DisplayModeController( const css::uno::Reference< css::uno::XComponentContext >& rxContext )
: svt::PopupWindowController( rxContext, Reference< frame::XFrame >(), OUString() )
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
{
}
void SAL_CALL DisplayModeController::initialize( const css::uno::Sequence< css::uno::Any >& aArguments )
throw ( css::uno::Exception, css::uno::RuntimeException, std::exception )
{
svt::PopupWindowController::initialize( aArguments );
ToolBox* pToolBox = nullptr;
sal_uInt16 nId = 0;
if ( getToolboxId( nId, &pToolBox ) )
pToolBox->SetItemBits( nId, pToolBox->GetItemBits( nId ) | ToolBoxItemBits::DROPDOWNONLY );
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
setToolboxItemImage( BMP_DISPLAYMODE_SLIDE );
}
VclPtr<vcl::Window> DisplayModeController::createPopupWindow( vcl::Window* pParent )
{
return VclPtr<sd::DisplayModeToolbarMenu>::Create( *this, pParent );
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
}
void DisplayModeController::setToolboxItemImage( sal_uInt16 nImage )
{
sal_uInt16 nId;
ToolBox* pToolBox = nullptr;
if (getToolboxId( nId, &pToolBox )) {
SdResId resId( nImage );
BitmapEx aBmp( resId );
int targetSize = (pToolBox->GetToolboxButtonSize() == ToolBoxButtonSize::Large) ? 32 : 16;
double scale = 1.0f;
Size size = aBmp.GetSizePixel();
if (size.Width() > targetSize)
scale = (double)targetSize / (double)size.Width();
if (size.Height() > targetSize)
scale = ::std::min( scale, (double)targetSize / (double)size.Height() );
aBmp.Scale( scale, scale );
pToolBox->SetItemImage( nId, Image( aBmp ) );
}
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
}
// XServiceInfo
OUString SAL_CALL DisplayModeController::getImplementationName() throw( RuntimeException, std::exception )
{
return OUString( "com.sun.star.comp.sd.DisplayModeController" );
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
}
Sequence< OUString > SAL_CALL DisplayModeController::getSupportedServiceNames( ) throw( RuntimeException, std::exception )
{
css::uno::Sequence<OUString> aRet { "com.sun.star.frame.ToolbarController" };
return aRet;
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
}
}
extern "C" SAL_DLLPUBLIC_EXPORT ::com::sun::star::uno::XInterface* SAL_CALL
com_sun_star_comp_sd_DisplayModeController_get_implementation( css::uno::XComponentContext* context,
css::uno::Sequence<css::uno::Any> const &)
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
{
return cppu::acquire(new sd::DisplayModeController(context));
Impress: Rework the way the display modes are presented. TODO: take into account remarks from Gerrit New combo to select display mode among: - Slide edition (Normal) - Outline - Notes - Slide sorter - Slide master - Notes master - Handout (master, as we are designing the template used to generate the handout) The combo is based on uno command .uno:DisplayMode Center pane tabs are hidden by default. A new uno dispatch command (.uno:ToggleTabBarVisibility) is available to show/hide this tab bar. Modified uno dispatch commands: No uno name has been modified. .uno:DiaMode : SID_DIAMODE renamed SID_SLIDER_SORTER_MODE .uno:OutlineMode SID_OUTLINEMODE renamed SID_OUTLINE_MODE .uno:NotesMode No change .uno:HandoutMode SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE All internal code also considers the edit mode as master .uno:SlideMasterPage SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Slide Master mode. If parameter is false, activates the "Normal" (slide editing) mode. .uno:NotesMasterPage SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE If the input parameter SfxBoolItem Isactive is true or not provided, activates Notes Master mode. If parameter is false, activates the "Notes" mode. Modified behaviours: Now only one mode can be chosen. It is possible to navigate from a mode to any other mode. Previous behaviour: the following navigation Normal -> Slide Master -> Notes -> Normal was displaying slide master. It was required to activate Normal once more to get back to normal. Now the same commands will display the requested mode. Still to come (at least): - Fix reopen the last display mode. - Center pane tabs are now presenting all buttons for all modes (TODO). Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390 Reviewed-on: https://gerrit.libreoffice.org/16723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2015-07-10 17:02:44 +02:00
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */