summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
authorMuhammet Kara <muhammet.kara@collabora.com>2019-11-20 15:30:01 +0300
committerMuhammet Kara <muhammet.kara@collabora.com>2019-12-13 10:40:05 +0100
commit376cd2ceaeedd12a8050c5acd142cd9b9d5e731a (patch)
tree371fb8d5e7ef5e7c5825e9dd2ef139c2bdddbdfd /svx/source
parent0cb4b2a18b790ff74a6893781beba2c4a4a8ce8f (diff)
Add Edit Chart button for online's mobile view
To improve UX by providing mobile viewers a way to enter into edit mode of a chart via single tap Change-Id: I3cfb82df166c571a401f195a7f7c806fd6df604e Reviewed-on: https://gerrit.libreoffice.org/83614 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/85091 Tested-by: Jenkins
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/sidebar/possize/PosSizePropertyPanel.cxx34
-rw-r--r--svx/source/sidebar/possize/PosSizePropertyPanel.hxx4
2 files changed, 36 insertions, 2 deletions
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
index abbb315b9ffd..036ce3fad157 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
@@ -27,6 +27,7 @@
#include <svx/svxids.hrc>
#include <sfx2/dispatch.hxx>
#include <sfx2/bindings.hxx>
+#include <sfx2/lokhelper.hxx>
#include <sfx2/module.hxx>
#include <sfx2/viewsh.hxx>
#include <sfx2/objsh.hxx>
@@ -48,6 +49,7 @@
#include <svx/transfrmhelper.hxx>
#include <svtools/unitconv.hxx>
+#include <comphelper/lok.hxx>
using namespace css;
using namespace css::uno;
@@ -106,6 +108,7 @@ PosSizePropertyPanel::PosSizePropertyPanel(
get( mpDial, "orientationcontrol" );
get( mpFtFlip, "fliplabel" );
get( mpFlipTbx, "selectrotationtype" );
+ get( mpBtnEditChart, "btnEditChart" );
Initialize();
mpBindings->Update( SID_ATTR_METRIC );
@@ -135,6 +138,7 @@ void PosSizePropertyPanel::dispose()
mpDial.clear();
mpFtFlip.clear();
mpFlipTbx.clear();
+ mpBtnEditChart.clear();
maTransfPosXControl.dispose();
maTransfPosYControl.dispose();
@@ -204,6 +208,8 @@ void PosSizePropertyPanel::Initialize()
//flip:
mpFlipTbx->SetSelectHdl( LINK( this, PosSizePropertyPanel, FlipHdl) );
+ mpBtnEditChart->SetClickHdl( LINK( this, PosSizePropertyPanel, ClickChartEditHdl ) );
+
mpMtrAngle->InsertValue(0, FieldUnit::CUSTOM);
mpMtrAngle->InsertValue(4500, FieldUnit::CUSTOM);
mpMtrAngle->InsertValue(9000, FieldUnit::CUSTOM);
@@ -269,6 +275,8 @@ void PosSizePropertyPanel::HandleContextChange(
bool bShowPosition = false;
bool bShowAngle = false;
bool bShowFlip = false;
+ bool bShowEditChart = false;
+ bool bIsMobile = comphelper::LibreOfficeKit::isActive() && comphelper::LibreOfficeKit::isMobile(SfxLokHelper::getView());
switch (maContext.GetCombinedContext_DI())
{
@@ -294,14 +302,24 @@ void PosSizePropertyPanel::HandleContextChange(
bShowFlip = true;
break;
+ case CombinedEnumContext(Application::WriterVariants, Context::OLE):
+ if (bIsMobile)
+ bShowEditChart = true;
+ break;
+
+ case CombinedEnumContext(Application::Calc, Context::OLE):
+ case CombinedEnumContext(Application::DrawImpress, Context::OLE):
+ bShowPosition = true;
+ if (bIsMobile)
+ bShowEditChart = true;
+ break;
+
case CombinedEnumContext(Application::Calc, Context::Chart):
case CombinedEnumContext(Application::Calc, Context::Form):
case CombinedEnumContext(Application::Calc, Context::Media):
- case CombinedEnumContext(Application::Calc, Context::OLE):
case CombinedEnumContext(Application::Calc, Context::MultiObject):
case CombinedEnumContext(Application::DrawImpress, Context::Media):
case CombinedEnumContext(Application::DrawImpress, Context::Form):
- case CombinedEnumContext(Application::DrawImpress, Context::OLE):
case CombinedEnumContext(Application::DrawImpress, Context::ThreeDObject):
case CombinedEnumContext(Application::DrawImpress, Context::MultiObject):
bShowPosition = true;
@@ -323,6 +341,9 @@ void PosSizePropertyPanel::HandleContextChange(
mpFtFlip->Show(bShowFlip);
mpFlipTbx->Show(bShowFlip);
+ // Edit Chart
+ mpBtnEditChart->Show(bShowEditChart);
+
if (mxSidebar.is())
mxSidebar->requestLayout();
}
@@ -497,6 +518,15 @@ IMPL_LINK( PosSizePropertyPanel, FlipHdl, ToolBox*, pBox, void )
}
}
+IMPL_STATIC_LINK_NOARG( PosSizePropertyPanel, ClickChartEditHdl, Button*, void )
+{
+ SfxViewShell* pCurSh = SfxViewShell::Current();
+ if ( pCurSh)
+ {
+ pCurSh->DoVerb( -1 );
+ }
+}
+
void PosSizePropertyPanel::NotifyItemUpdate(
sal_uInt16 nSID,
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.hxx b/svx/source/sidebar/possize/PosSizePropertyPanel.hxx
index 2ac505428c36..3bc3f96f4151 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.hxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.hxx
@@ -107,6 +107,9 @@ private:
VclPtr<FixedText> mpFtFlip;
VclPtr<ToolBox> mpFlipTbx;
+ //edit charts button for online's mobile view
+ VclPtr<PushButton> mpBtnEditChart;
+
// Internal variables
basegfx::B2DRange maRect;
basegfx::B2DRange maWorkArea;
@@ -153,6 +156,7 @@ private:
DECL_LINK( AngleModifiedHdl, Edit&, void );
DECL_LINK( RotationHdl, svx::DialControl*, void );
DECL_LINK( FlipHdl, ToolBox *, void );
+ DECL_STATIC_LINK( PosSizePropertyPanel, ClickChartEditHdl, Button*, void );
void Initialize();
void executeSize();