rhbz#1343752 wrong radiobutton and checkbutton behavior in "view" menu

f41
David Tardon 9 years ago
parent 5363b1f1fb
commit bd9544e2e2

@ -0,0 +1,150 @@
From c4c7fe98b0f05329edf7930ff92b44892d4724e6 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Wed, 15 Jun 2016 16:52:26 +0200
Subject: [PATCH 1/2] rhbz#1343752 fix view status in menu
... after commit 229fc164dc1773484b74eca016863cf68860e81b .
Change-Id: Ibfbbb86c81527f008b8e1cbe9d8ca3174a944931
---
sd/source/ui/view/ViewShellBase.cxx | 86 +++++++++++++------------------------
1 file changed, 30 insertions(+), 56 deletions(-)
diff --git a/sd/source/ui/view/ViewShellBase.cxx b/sd/source/ui/view/ViewShellBase.cxx
index e5c92f4..340948a 100644
--- a/sd/source/ui/view/ViewShellBase.cxx
+++ b/sd/source/ui/view/ViewShellBase.cxx
@@ -1221,13 +1221,13 @@ void ViewShellBase::Implementation::GetSlotState (SfxItemSet& rSet)
SfxWhichIter aSetIterator (rSet);
sal_uInt16 nItemId (aSetIterator.FirstWhich());
- FrameView *pFrameView;
while (nItemId > 0)
{
bool bState (false);
Reference<XResourceId> xResourceId;
try
{
+ // Check if the right view is active
switch (nItemId)
{
case SID_LEFT_PANE_IMPRESS:
@@ -1242,22 +1242,13 @@ void ViewShellBase::Implementation::GetSlotState (SfxItemSet& rSet)
bState = xConfiguration->hasResource(xResourceId);
break;
+ case SID_DRAWINGMODE:
case SID_NORMAL_MULTI_PANE_GUI:
- if (ViewShell* pViewShell = mrBase.GetMainViewShell().get())
- {
- pFrameView = pViewShell->GetFrameView();
- bState = pFrameView->GetViewShEditMode() == EM_PAGE
- && pFrameView->GetPageKind() == PK_STANDARD;
- }
- break;
-
case SID_SLIDE_MASTER_MODE:
- if (ViewShell* pViewShell = mrBase.GetMainViewShell().get())
- {
- pFrameView = pViewShell->GetFrameView();
- bState = pFrameView->GetViewShEditMode() == EM_MASTERPAGE
- && pFrameView->GetPageKind() == PK_STANDARD;
- }
+ xResourceId = ResourceId::createWithAnchorURL(
+ xContext, FrameworkHelper::msImpressViewURL,
+ FrameworkHelper::msCenterPaneURL);
+ bState = xConfiguration->hasResource(xResourceId);
break;
case SID_SLIDE_SORTER_MULTI_PANE_GUI:
@@ -1278,30 +1269,18 @@ void ViewShellBase::Implementation::GetSlotState (SfxItemSet& rSet)
break;
case SID_HANDOUT_MASTER_MODE:
- if (ViewShell* pViewShell = mrBase.GetMainViewShell().get())
- {
- pFrameView = pViewShell->GetFrameView();
- bState = pFrameView->GetViewShEditMode() == EM_MASTERPAGE
- && pFrameView->GetPageKind() == PK_HANDOUT;
- }
+ xResourceId = ResourceId::createWithAnchorURL(
+ xContext, FrameworkHelper::msHandoutViewURL,
+ FrameworkHelper::msCenterPaneURL);
+ bState = xConfiguration->hasResource(xResourceId);
break;
case SID_NOTES_MODE:
- if (ViewShell* pViewShell = mrBase.GetMainViewShell().get())
- {
- pFrameView = pViewShell->GetFrameView();
- bState = pFrameView->GetViewShEditMode() == EM_PAGE
- && pFrameView->GetPageKind() == PK_NOTES;
- }
- break;
-
case SID_NOTES_MASTER_MODE:
- if (ViewShell* pViewShell = mrBase.GetMainViewShell().get())
- {
- pFrameView = pViewShell->GetFrameView();
- bState = pFrameView->GetViewShEditMode() == EM_MASTERPAGE
- && pFrameView->GetPageKind() == PK_NOTES;
- }
+ xResourceId = ResourceId::createWithAnchorURL(
+ xContext, FrameworkHelper::msNotesViewURL,
+ FrameworkHelper::msCenterPaneURL);
+ bState = xConfiguration->hasResource(xResourceId);
break;
case SID_TOGGLE_TABBAR_VISIBILITY:
@@ -1318,32 +1297,27 @@ void ViewShellBase::Implementation::GetSlotState (SfxItemSet& rSet)
{
}
- // Take the master page mode into account.
- switch (nItemId)
+ // Check if edit mode fits too
+ if (bState)
{
- case SID_NORMAL_MULTI_PANE_GUI:
- case SID_NOTES_MODE:
+ ViewShell* const pCenterViewShell = FrameworkHelper::Instance(mrBase)->GetViewShell(
+ FrameworkHelper::msCenterPaneURL).get();
+ DrawViewShell* const pShell = dynamic_cast<DrawViewShell*>(pCenterViewShell);
+ if (pShell)
{
- // Determine the master page mode.
- ViewShell* pCenterViewShell = FrameworkHelper::Instance(mrBase)->GetViewShell(
- FrameworkHelper::msCenterPaneURL).get();
- bool bMasterPageMode (false);
- if (DrawViewShell* pShell = dynamic_cast<DrawViewShell*>(pCenterViewShell))
+ switch (nItemId)
{
- if (pShell->GetEditMode() == EM_MASTERPAGE)
- {
- bMasterPageMode = true;
- }
+ case SID_DRAWINGMODE:
+ case SID_NORMAL_MULTI_PANE_GUI:
+ case SID_NOTES_MODE:
+ bState = pShell->GetEditMode() == EM_PAGE;
+ break;
+ case SID_SLIDE_MASTER_MODE:
+ case SID_NOTES_MASTER_MODE:
+ bState = pShell->GetEditMode() == EM_MASTERPAGE;
+ break;
}
-
- bState &= !bMasterPageMode;
- break;
}
-
- case SID_HANDOUT_MASTER_MODE:
- // There is only the master page mode for the handout
- // view so ignore the master page flag.
- break;
}
// And finally set the state.
--
2.7.4

@ -0,0 +1,28 @@
From 90fa0d8f1a00c690d5199129d26fbe6ee4762972 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Thu, 16 Jun 2016 16:11:17 +0200
Subject: [PATCH 2/2] sort the array
Change-Id: Iab15a4344d2174db2763603d0107bc9ec372e4fb
---
sd/source/ui/sidebar/SlideBackground.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx
index 4cd012f..d2fb73c 100644
--- a/sd/source/ui/sidebar/SlideBackground.cxx
+++ b/sd/source/ui/sidebar/SlideBackground.cxx
@@ -339,9 +339,9 @@ IMPL_LINK_TYPED(SlideBackground, EventMultiplexerListener,
{
static sal_uInt16 SidArray[] = {
SID_ATTR_PAGE_COLOR,
+ SID_ATTR_PAGE_GRADIENT,
SID_ATTR_PAGE_HATCH,
SID_ATTR_PAGE_BITMAP,
- SID_ATTR_PAGE_GRADIENT,
SID_ATTR_PAGE_FILLSTYLE,
SID_DISPLAY_MASTER_BACKGROUND,
SID_DISPLAY_MASTER_OBJECTS,
--
2.7.4

@ -55,7 +55,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.0
Release: 8%{?libo_prerelease}%{?dist}
Release: 9%{?libo_prerelease}%{?dist}
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic and MPLv2.0 and CC0
URL: http://www.libreoffice.org/
@ -233,6 +233,8 @@ Patch4: 0001-disable-firebird-unit-test.patch
Patch5: 0001-never-run-autogen.sh.patch
# not upstreamed
Patch6: 0001-add-X-TryExec-entries-to-desktop-files.patch
Patch7: 0001-rhbz-1343752-fix-view-status-in-menu.patch
Patch8: 0002-sort-the-array.patch
%if 0%{?rhel}
# not upstreamed
@ -2235,6 +2237,9 @@ done
%endif
%changelog
* Thu Jun 16 2016 David Tardon <dtardon@redhat.com> - 1:5.2.0.0-9.beta2-UNBUILT
- rhbz#1343752 wrong radiobutton and checkbutton behavior in "view" menu
* Thu Jun 09 2016 David Tardon <dtardon@redhat.com> - 1:5.2.0.0-8.beta2
- update to 5.2.0 beta2

Loading…
Cancel
Save