|
 |
f325b2 |
From 177773ea3cb22e81fa30dd9ffc89aa7e8a8fa4f1 Mon Sep 17 00:00:00 2001
|
|
 |
f325b2 |
From: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
 |
f325b2 |
Date: Tue, 3 Nov 2015 16:26:46 +0100
|
|
 |
f325b2 |
Subject: [PATCH 269/398] sc lok: avoid placeholder row when providing all
|
|
 |
f325b2 |
headers
|
|
 |
f325b2 |
|
|
 |
f325b2 |
In case the logic visible area is known, info is provided only about the
|
|
 |
f325b2 |
visible headers. Given that only relative sizes (no absolute positions)
|
|
 |
f325b2 |
are provided, a placeholder row/col is added to the result that contains
|
|
 |
f325b2 |
the total size of the skipped items.
|
|
 |
f325b2 |
|
|
 |
f325b2 |
These placeholder items are not needed when providing all headers, so
|
|
 |
f325b2 |
don't emit them.
|
|
 |
f325b2 |
|
|
 |
f325b2 |
Change-Id: I48ccb73554313f4d2bb420e4402995719b0f9f7d
|
|
 |
f325b2 |
(cherry picked from commit 788cec0a60dcfce6d86c820e9d0f7a1eb634f7bf)
|
|
 |
f325b2 |
---
|
|
 |
f325b2 |
desktop/qa/desktop_lib/test_desktop_lib.cxx | 32 +++++++++++++++++++++++++++++
|
|
 |
f325b2 |
sc/source/ui/view/tabview.cxx | 4 ++--
|
|
 |
f325b2 |
2 files changed, 34 insertions(+), 2 deletions(-)
|
|
 |
f325b2 |
|
|
 |
f325b2 |
diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx
|
|
 |
f325b2 |
index c14261e82db6..29b0aedd4dfa 100644
|
|
 |
f325b2 |
--- a/desktop/qa/desktop_lib/test_desktop_lib.cxx
|
|
 |
f325b2 |
+++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx
|
|
 |
f325b2 |
@@ -66,6 +66,7 @@ public:
|
|
 |
f325b2 |
void testSaveAs();
|
|
 |
f325b2 |
void testSaveAsCalc();
|
|
 |
f325b2 |
void testPasteWriter();
|
|
 |
f325b2 |
+ void testRowColumnHeaders();
|
|
 |
f325b2 |
|
|
 |
f325b2 |
CPPUNIT_TEST_SUITE(DesktopLOKTest);
|
|
 |
f325b2 |
CPPUNIT_TEST(testGetStyles);
|
|
 |
f325b2 |
@@ -78,6 +79,7 @@ public:
|
|
 |
f325b2 |
CPPUNIT_TEST(testSaveAs);
|
|
 |
f325b2 |
CPPUNIT_TEST(testSaveAsCalc);
|
|
 |
f325b2 |
CPPUNIT_TEST(testPasteWriter);
|
|
 |
f325b2 |
+ CPPUNIT_TEST(testRowColumnHeaders);
|
|
 |
f325b2 |
CPPUNIT_TEST_SUITE_END();
|
|
 |
f325b2 |
|
|
 |
f325b2 |
uno::Reference<lang::XComponent> mxComponent;
|
|
 |
f325b2 |
@@ -346,6 +348,36 @@ void DesktopLOKTest::testPasteWriter()
|
|
 |
f325b2 |
comphelper::LibreOfficeKit::setActive(false);
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
+void DesktopLOKTest::testRowColumnHeaders()
|
|
 |
f325b2 |
+{
|
|
 |
f325b2 |
+ LibLODocument_Impl* pDocument = loadDoc("search.ods");
|
|
 |
f325b2 |
+ boost::property_tree::ptree aTree;
|
|
 |
f325b2 |
+ char* pJSON = pDocument->m_pDocumentClass->getCommandValues(pDocument, ".uno:ViewRowColumnHeaders");
|
|
 |
f325b2 |
+ std::stringstream aStream(pJSON);
|
|
 |
f325b2 |
+ free(pJSON);
|
|
 |
f325b2 |
+ CPPUNIT_ASSERT(!aStream.str().empty());
|
|
 |
f325b2 |
+
|
|
 |
f325b2 |
+ boost::property_tree::read_json(aStream, aTree);
|
|
 |
f325b2 |
+ for (boost::property_tree::ptree::value_type& rValue : aTree.get_child("rows"))
|
|
 |
f325b2 |
+ {
|
|
 |
f325b2 |
+ sal_Int32 nSize = OString(rValue.second.get<std::string>("size").c_str()).toInt32();
|
|
 |
f325b2 |
+ CPPUNIT_ASSERT(nSize > 0);
|
|
 |
f325b2 |
+ OString aText(rValue.second.get<std::string>("text").c_str());
|
|
 |
f325b2 |
+ // This failed, as the first item did not contain the text of the first row.
|
|
 |
f325b2 |
+ CPPUNIT_ASSERT_EQUAL(OString("1"), aText);
|
|
 |
f325b2 |
+ break;
|
|
 |
f325b2 |
+ }
|
|
 |
f325b2 |
+
|
|
 |
f325b2 |
+ for (boost::property_tree::ptree::value_type& rValue : aTree.get_child("columns"))
|
|
 |
f325b2 |
+ {
|
|
 |
f325b2 |
+ sal_Int32 nSize = OString(rValue.second.get<std::string>("size").c_str()).toInt32();
|
|
 |
f325b2 |
+ CPPUNIT_ASSERT(nSize > 0);
|
|
 |
f325b2 |
+ OString aText(rValue.second.get<std::string>("text").c_str());
|
|
 |
f325b2 |
+ CPPUNIT_ASSERT_EQUAL(OString("A"), aText);
|
|
 |
f325b2 |
+ break;
|
|
 |
f325b2 |
+ }
|
|
 |
f325b2 |
+}
|
|
 |
f325b2 |
+
|
|
 |
f325b2 |
CPPUNIT_TEST_SUITE_REGISTRATION(DesktopLOKTest);
|
|
 |
f325b2 |
|
|
 |
f325b2 |
CPPUNIT_PLUGIN_IMPLEMENT();
|
|
 |
f325b2 |
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
|
|
 |
f325b2 |
index ab77b47bed0c..8edec1b22f3a 100644
|
|
 |
f325b2 |
--- a/sc/source/ui/view/tabview.cxx
|
|
 |
f325b2 |
+++ b/sc/source/ui/view/tabview.cxx
|
|
 |
f325b2 |
@@ -2332,7 +2332,7 @@ OUString ScTabView::getRowColumnHeaders(const Rectangle& rRectangle)
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
if (!bSkip)
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
- if (aRows.empty())
|
|
 |
f325b2 |
+ if (aRows.empty() && nTotal > 0)
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
// The sizes are relative sizes, so include the total skipped size before the real items.
|
|
 |
f325b2 |
boost::property_tree::ptree aRow;
|
|
 |
f325b2 |
@@ -2369,7 +2369,7 @@ OUString ScTabView::getRowColumnHeaders(const Rectangle& rRectangle)
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
if (!bSkip)
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
- if (aCols.empty())
|
|
 |
f325b2 |
+ if (aCols.empty() && nTotal > 0)
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
boost::property_tree::ptree aCol;
|
|
 |
f325b2 |
aCol.put("size", OString::number(long((nTotalPixels + 0.5) / aViewData.GetPPTX())).getStr());
|
|
 |
f325b2 |
--
|
|
 |
f325b2 |
2.12.0
|
|
 |
f325b2 |
|