Drop special-casing for Chart's sidebar property deck

Introduced in commit b33b2afe6a
  Author Markus Mohrhard <markus.mohrhard@googlemail.com>
  Date   Thu Jul 09 20:39:06 2015 +0200
    big step towards real chart sidebar

later in commit da57c32c5c
  Author Tor Lillqvist <tml@collabora.com>
  Date   Fri Feb 28 17:02:30 2020 +0200
    tdf#130348: Add special case for ChartDeck, too

and then in commit ff23d87cb0
  Author Mert Tumer <mert.tumer@collabora.com>
  Date   Fri May 08 17:23:12 2020 +0300
    mobile: fix calc chart wizard properties is not shown

The normal PropertyDeck can host all the chart-specific panels,
and the other decks that had "all" application context, but are
not needed for charts, have their context fixed.

This cleanup is needed for a following introduction of sidebar
in Math.

Change-Id: I5bb24d52b8dec2133213d7dddfeb91359ed4cb4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133262
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This commit is contained in:
Mike Kaganski
2022-04-21 15:14:49 +03:00
parent e31cf19e5f
commit c09f59eb61
5 changed files with 19 additions and 52 deletions

View File

@@ -873,22 +873,13 @@ void setupSidebar(std::u16string_view sidebarDeckId = u"")
if (!pDockingWin)
return;
OUString currentDeckId = pDockingWin->GetSidebarController()->GetCurrentDeckId();
// check if it is the chart deck id, if it is, don't switch to default deck
bool switchToDefault = true;
if (currentDeckId == "ChartDeck")
switchToDefault = false;
if (!sidebarDeckId.empty())
{
pDockingWin->GetSidebarController()->SwitchToDeck(sidebarDeckId);
}
else
{
if (switchToDefault)
pDockingWin->GetSidebarController()->SwitchToDefaultDeck();
pDockingWin->GetSidebarController()->SwitchToDefaultDeck();
}
pDockingWin->SyncUpdate();

View File

@@ -133,7 +133,6 @@ public:
FocusManager& GetFocusManager() { return maFocusManager;}
ResourceManager* GetResourceManager() { return mpResourceManager.get();}
auto& GetCurrentDeckId() const { return msCurrentDeckId; }
// std::unique_ptr<ResourceManager> GetResourceManager() { return mpResourceManager;}

View File

@@ -114,7 +114,9 @@
</prop>
<prop oor:name="ContextList">
<value oor:separator=";">
any, any, visible ;
Calc, any, visible;
DrawImpress, any, visible;
WriterVariants, any, visible;
</value>
</prop>
<prop oor:name="OrderIndex" oor:type="xs:int">
@@ -194,7 +196,9 @@
</prop>
<prop oor:name="ContextList">
<value oor:separator=";">
any, any, visible ;
Calc, any, visible;
DrawImpress, any, visible;
WriterVariants, any, visible;
</value>
</prop>
<prop oor:name="OrderIndex" oor:type="xs:int">
@@ -214,7 +218,9 @@
</prop>
<prop oor:name="ContextList">
<value oor:separator=";">
any, any, visible ;
Calc, any, visible;
DrawImpress, any, visible;
WriterVariants, any, visible;
</value>
</prop>
<prop oor:name="OrderIndex" oor:type="xs:int">
@@ -289,26 +295,6 @@
</prop>
</node>
<node oor:name="ChartDeck" oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="en-US">Properties</value>
</prop>
<prop oor:name="Id" oor:type="xs:string">
<value>ChartDeck</value>
</prop>
<prop oor:name="IconURL" oor:type="xs:string">
<value>private:graphicrepository/sfx2/res/symphony/sidebar-property-large.png</value>
</prop>
<prop oor:name="ContextList">
<value oor:separator=";">
Chart, any, visible ;
</value>
</prop>
<prop oor:name="OrderIndex" oor:type="xs:int">
<value>10</value>
</prop>
</node>
</node>
<node oor:name="PanelList">
@@ -1646,7 +1632,7 @@
<value>ChartElementsPanel</value>
</prop>
<prop oor:name="DeckId" oor:type="xs:string">
<value>ChartDeck</value>
<value>PropertyDeck</value>
</prop>
<prop oor:name="ContextList">
<value oor:separator=";">
@@ -1672,7 +1658,7 @@
<value>ChartSeriesPanel</value>
</prop>
<prop oor:name="DeckId" oor:type="xs:string">
<value>ChartDeck</value>
<value>PropertyDeck</value>
</prop>
<prop oor:name="DefaultMenuCommand">
<value>.uno:ChartProperties</value>
@@ -1701,7 +1687,7 @@
<value>ChartErrorBarPanel</value>
</prop>
<prop oor:name="DeckId" oor:type="xs:string">
<value>ChartDeck</value>
<value>PropertyDeck</value>
</prop>
<prop oor:name="DefaultMenuCommand">
<value>.uno:ChartProperties</value>
@@ -1730,7 +1716,7 @@
<value>ChartAxisPanel</value>
</prop>
<prop oor:name="DeckId" oor:type="xs:string">
<value>ChartDeck</value>
<value>PropertyDeck</value>
</prop>
<prop oor:name="DefaultMenuCommand">
<value>.uno:ChartProperties</value>
@@ -1759,7 +1745,7 @@
<value>ChartAreaPanel</value>
</prop>
<prop oor:name="DeckId" oor:type="xs:string">
<value>ChartDeck</value>
<value>PropertyDeck</value>
</prop>
<prop oor:name="DefaultMenuCommand">
<value>.uno:ChartProperties</value>
@@ -1789,7 +1775,7 @@
<value>ChartLinePanel</value>
</prop>
<prop oor:name="DeckId" oor:type="xs:string">
<value>ChartDeck</value>
<value>PropertyDeck</value>
</prop>
<prop oor:name="DefaultMenuCommand">
<value>.uno:ChartProperties</value>
@@ -1855,7 +1841,7 @@
<value>ChartTypePanel</value>
</prop>
<prop oor:name="DeckId" oor:type="xs:string">
<value>ChartDeck</value>
<value>PropertyDeck</value>
</prop>
<prop oor:name="ContextList">
<value oor:separator=";">

View File

@@ -46,14 +46,7 @@ Context::Context (
sal_Int32 Context::EvaluateMatch (
const Context& rOther) const
{
bool bApplicationNameIsAny (rOther.msApplication == AnyApplicationName);
// special case for charts which use a whole own set of decks
if (msApplication == "com.sun.star.chart2.ChartDocument")
{
bApplicationNameIsAny = false;
}
const bool bApplicationNameIsAny (rOther.msApplication == AnyApplicationName);
if (rOther.msApplication == msApplication || bApplicationNameIsAny)
{
// Application name matches.

View File

@@ -466,9 +466,7 @@ void SidebarController::NotifyResize()
// it's the PropertyDeck that really has many panes
// that can collapse or expand. For others, limit
// the height to something sensible.
// tdf#130348: Add special case for ChartDeck, too.
const sal_Int32 nExtHeight = (msCurrentDeckId == "PropertyDeck" ? 2000 :
(msCurrentDeckId == "ChartDeck" ? 1200 : 600));
const sal_Int32 nExtHeight = (msCurrentDeckId == "PropertyDeck" ? 2000 : 600);
// No TabBar in LOK (use nWidth in full).
mpCurrentDeck->setPosSizePixel(nDeckX, 0, nWidth, nExtHeight);
}