sc/source/ui/sidebar/AlignmentPropertyPanel.cxx | 46 ++++++++++++++++++++++++ sc/source/ui/sidebar/AlignmentPropertyPanel.hxx | 2 + 2 files changed, 48 insertions(+)
New commits: commit f27c6320e8496d690b5d341d3718430709263a1c Author: Henry Castro <hcas...@collabora.com> AuthorDate: Tue Feb 25 15:58:06 2020 -0400 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Thu Mar 5 14:00:33 2020 +0100 lok: remove complex rotation / alignment settings It is very confusing for mobile user the text orientation properties, let's remove the property for mobile view. Change-Id: I4150f9ed7343d38fd00ee66fa5afffe40426b984 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89840 Tested-by: Jenkins Reviewed-by: Henry Castro <hcas...@collabora.com> diff --git a/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx b/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx index 21772db395fe..78363b683ebe 100644 --- a/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx +++ b/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx @@ -30,6 +30,9 @@ #include <svtools/unitconv.hxx> #include <unotools/localedatawrapper.hxx> #include <com/sun/star/lang/IllegalArgumentException.hpp> +#include <boost/property_tree/json_parser.hpp> +#include <sfx2/lokhelper.hxx> +#include <comphelper/lok.hxx> using namespace css; using namespace css::uno; @@ -137,6 +140,49 @@ void AlignmentPropertyPanel::Initialize() mxRefEdgeStd->connect_toggled(aLink2); } +namespace { + +void eraseNode(boost::property_tree::ptree& pTree, const std::string& aValue) +{ + boost::optional<boost::property_tree::ptree&> pId; + boost::optional<boost::property_tree::ptree&> pSubTree = pTree.get_child_optional("children"); + + if (pSubTree) + { + boost::property_tree::ptree::iterator itFound = pSubTree.get().end(); + for (boost::property_tree::ptree::iterator it = pSubTree.get().begin(); it != pSubTree.get().end(); ++it) + { + pId = it->second.get_child_optional("id"); + if (pId && pId.get().get_value<std::string>("") == aValue) + { + itFound = it; + break; + } + + eraseNode(it->second, aValue); + } + + if (itFound != pSubTree.get().end()) + { + pSubTree.get().erase(itFound); + } + } +} + +} + +boost::property_tree::ptree AlignmentPropertyPanel::DumpAsPropertyTree() +{ + boost::property_tree::ptree aTree = PanelLayout::DumpAsPropertyTree(); + + if (comphelper::LibreOfficeKit::isMobile(SfxLokHelper::getView())) + { + eraseNode(aTree, "textorientbox"); + } + + return aTree; +} + IMPL_LINK(AlignmentPropertyPanel, ReferenceEdgeHdl, weld::ToggleButton&, rToggle, void) { if (mbSettingToggles) diff --git a/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx b/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx index 1d467bf988b3..00199541fd0b 100644 --- a/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx +++ b/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx @@ -50,6 +50,8 @@ public: SfxBindings* GetBindings() { return mpBindings;} + virtual boost::property_tree::ptree DumpAsPropertyTree() override; + // constructor/destructor AlignmentPropertyPanel( vcl::Window* pParent, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits