[Libreoffice-commits] core.git: Branch 'feature/qt5+kde5' - 3 commits - sc/qa sc/source vcl/unx
Katarina Behrens
Katarina.Behrens at cib.de
Wed Apr 25 13:44:13 UTC 2018
sc/qa/unit/data/ods/tdf62268.ods |binary
sc/qa/unit/subsequent_filters-test.cxx | 25 +++++++++++++++++++++----
sc/source/filter/xml/xmlimprt.cxx | 12 ++++++++++++
vcl/unx/kde5/KDE5SalGraphics.cxx | 28 ++++++++++++++--------------
4 files changed, 47 insertions(+), 18 deletions(-)
New commits:
commit d7f60e4f888ddd1cbad9291b58177755c1df607b
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Wed Apr 25 15:42:59 2018 +0200
Render tooltips natively
with this, all widgets that used to be rendered natively with kde4
are rendered natively also in kde5
Change-Id: If814b121e928a9d743c74836f000b3230b946caf
diff --git a/vcl/unx/kde5/KDE5SalGraphics.cxx b/vcl/unx/kde5/KDE5SalGraphics.cxx
index 931b6a2d23b8..1685a772a88b 100644
--- a/vcl/unx/kde5/KDE5SalGraphics.cxx
+++ b/vcl/unx/kde5/KDE5SalGraphics.cxx
@@ -83,7 +83,7 @@ bool KDE5SalGraphics::IsNativeControlSupported( ControlType type, ControlPart pa
case ControlType::Pushbutton:
case ControlType::Radiobutton:
case ControlType::Checkbox:
- /*case ControlType::Tooltip:*/
+ case ControlType::Tooltip:
case ControlType::Progress:
case ControlType::ListNode:
return (part == ControlPart::Entire);
@@ -528,12 +528,12 @@ bool KDE5SalGraphics::drawNativeControl( ControlType type, ControlPart part,
draw( QStyle::CE_RadioButton, &option, m_image.get(),
vclStateValue2StateFlag(nControlState, value) );
}
- /*else if (type == ControlType::Tooltip)
+ else if (type == ControlType::Tooltip)
{
QStyleOption option;
draw( QStyle::PE_PanelTipLabel, &option, m_image.get(),
vclStateValue2StateFlag(nControlState, value) );
- }*/
+ }
else if (type == ControlType::Frame)
{
lcl_drawFrame( QStyle::PE_Frame, m_image.get(),
commit 6a0e5d1f14c2e06812fe54d3e27fe593fd913387
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Wed Apr 25 15:19:28 2018 +0200
Render scrollbars natively
Change-Id: I7f7e5bb8cf6e7307b0563a9ef84845a99dc54e1e
diff --git a/vcl/unx/kde5/KDE5SalGraphics.cxx b/vcl/unx/kde5/KDE5SalGraphics.cxx
index 4c5a70a89a77..931b6a2d23b8 100644
--- a/vcl/unx/kde5/KDE5SalGraphics.cxx
+++ b/vcl/unx/kde5/KDE5SalGraphics.cxx
@@ -95,7 +95,7 @@ bool KDE5SalGraphics::IsNativeControlSupported( ControlType type, ControlPart pa
case ControlType::Combobox:
case ControlType::Toolbar:
case ControlType::Frame:
- /*case ControlType::Scrollbar:*/
+ case ControlType::Scrollbar:
case ControlType::WindowBackground:
case ControlType::Fixedline:
return true;
@@ -457,7 +457,7 @@ bool KDE5SalGraphics::drawNativeControl( ControlType type, ControlPart part,
vclStateValue2StateFlag(nControlState, value) );
//m_image->save("/tmp/checkbox.png");
}
- /*else if (type == ControlType::Scrollbar)
+ else if (type == ControlType::Scrollbar)
{
if ((part == ControlPart::DrawBackgroundVert) || (part == ControlPart::DrawBackgroundHorz))
{
@@ -495,7 +495,7 @@ bool KDE5SalGraphics::drawNativeControl( ControlType type, ControlPart part,
{
returnVal = false;
}
- }*/
+ }
else if (type == ControlType::Spinbox)
{
QStyleOptionSpinBox option;
@@ -857,7 +857,7 @@ bool KDE5SalGraphics::getNativeControlRegion( ControlType type, ControlPart part
}
break;
}
- /*case ControlType::Scrollbar:
+ case ControlType::Scrollbar:
{
// core can't handle 3-button scrollbars well, so we fix that in hitTestNativeControl(),
// for the rest also provide the track area (i.e. area not taken by buttons)
@@ -889,7 +889,7 @@ bool KDE5SalGraphics::getNativeControlRegion( ControlType type, ControlPart part
retVal = true;
}
break;
- }*/
+ }
default:
break;
}
@@ -910,7 +910,7 @@ bool KDE5SalGraphics::getNativeControlRegion( ControlType type, ControlPart part
}
/** Test whether the position is in the native widget.
- If the return value is TRUE, bIsInside contains information whether
+ If the return value is true, bIsInside contains information whether
aPos was or was not inside the native widget specified by the
nType/nPart combination.
*/
@@ -918,15 +918,15 @@ bool KDE5SalGraphics::hitTestNativeControl( ControlType nType, ControlPart nPart
const tools::Rectangle& rControlRegion, const Point& rPos,
bool& rIsInside )
{
- /*if ( nType == ControlType::Scrollbar )
+ if ( nType == ControlType::Scrollbar )
{
if( nPart != ControlPart::ButtonUp && nPart != ControlPart::ButtonDown
&& nPart != ControlPart::ButtonLeft && nPart != ControlPart::ButtonRight )
{ // we adjust only for buttons (because some scrollbars have 3 buttons,
// and LO core doesn't handle such scrollbars well)
- return FALSE;
+ return false;
}
- rIsInside = FALSE;
+ rIsInside = false;
bool bHorizontal = ( nPart == ControlPart::ButtonLeft || nPart == ControlPart::ButtonRight );
QRect rect = toQRect( rControlRegion );
QPoint pos( rPos.X(), rPos.Y());
@@ -952,8 +952,8 @@ bool KDE5SalGraphics::hitTestNativeControl( ControlType nType, ControlPart nPart
rIsInside = ( control == QStyle::SC_ScrollBarSubLine );
else // DOWN, RIGHT
rIsInside = ( control == QStyle::SC_ScrollBarAddLine );
- return TRUE;
- }*/
+ return true;
+ }
return false;
}
commit 43010156f6a8327286c14556a0b3db5e8e17a43c
Author: Vasily Melenchuk <Vasily.Melenchuk at cib.de>
Date: Fri Apr 6 20:19:10 2018 +0300
tdf#62268: allow row height recalculation on document load
During load of document rows with style:use-optimal-row-height="true"
should recalculate height.
Partial revert of cd2f8a1cabbfb924c62d7af2aac3ac09288c2d4c
Change-Id: Ib38b5b753d9ff8352116d77851d228c5d77bd530
diff --git a/sc/qa/unit/data/ods/tdf62268.ods b/sc/qa/unit/data/ods/tdf62268.ods
new file mode 100644
index 000000000000..da88adfd25cd
Binary files /dev/null and b/sc/qa/unit/data/ods/tdf62268.ods differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index 3ec2982ada04..b3da5defa5e3 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -245,6 +245,7 @@ public:
void testBorderColorsXLSXML();
void testHiddenRowsColumnsXLSXML();
void testColumnWidthRowHeightXLSXML();
+ void testTdf62268();
CPPUNIT_TEST_SUITE(ScFiltersTest);
CPPUNIT_TEST(testBooleanFormatXLSX);
@@ -376,6 +377,7 @@ public:
CPPUNIT_TEST(testHiddenRowsColumnsXLSXML);
CPPUNIT_TEST(testColumnWidthRowHeightXLSXML);
CPPUNIT_TEST(testCondFormatFormulaListenerXLSX);
+ CPPUNIT_TEST(testTdf62268);
CPPUNIT_TEST_SUITE_END();
@@ -2652,8 +2654,8 @@ void ScFiltersTest::testMiscRowHeights()
TestParam::RowData MultiLineOptData[] =
{
- // Row 0 is 12.63 mm and optimal flag is set
- { 0, 0, 0, 1263, CHECK_OPTIMAL, true },
+ // Row 0 is 12.63 mm, but optimal flag is set
+ { 0, 0, 0, 1236, CHECK_OPTIMAL, true },
// Row 1 is 11.99 mm and optimal flag is NOT set
{ 1, 1, 0, 1199, CHECK_OPTIMAL, false },
};
@@ -2685,8 +2687,8 @@ void ScFiltersTest::testOptimalHeightReset()
ScDocument& rDoc = xDocSh->GetDocument();
// open document in read/write mode ( otherwise optimal height stuff won't
// be triggered ) *and* you can't delete cell contents.
- int nHeight = sc::TwipsToHMM ( rDoc.GetRowHeight(nRow, nTab, false) );
- CPPUNIT_ASSERT_EQUAL(1263, nHeight);
+ int nHeight = rDoc.GetRowHeight(nRow, nTab, false);
+ CPPUNIT_ASSERT_EQUAL(701, nHeight);
ScDocFunc &rFunc = xDocSh->GetDocFunc();
@@ -4059,6 +4061,21 @@ void ScFiltersTest::testCondFormatFormulaListenerXLSX()
xDocSh->DoClose();
}
+void ScFiltersTest::testTdf62268()
+{
+ ScDocShellRef xDocSh = loadDoc("tdf62268.", FORMAT_ODS);
+ ScDocument& rDoc = xDocSh->GetDocument();
+ int nHeight;
+
+ SCTAB nTab = 0;
+ nHeight = rDoc.GetRowHeight(0, nTab, false);
+ CPPUNIT_ASSERT_EQUAL(256, nHeight);
+ nHeight = rDoc.GetRowHeight(1, nTab, false);
+ CPPUNIT_ASSERT_EQUAL(1905, nHeight);
+
+ xDocSh->DoClose();
+}
+
ScFiltersTest::ScFiltersTest()
: ScBootstrapFixture( "sc/qa/unit/data" )
{
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
index 4e2c3bb56531..32833b4306aa 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -1861,6 +1861,18 @@ void SAL_CALL ScXMLImport::endDocument()
pDoc->SetStreamValid( nTab, true );
}
}
+
+ if (pDoc->IsAdjustHeightLocked())
+ {
+ pDoc->UnlockAdjustHeight();
+ ScModelObj::getImplementation(GetModel())->UpdateAllRowHeights();
+ pDoc->LockAdjustHeight();
+ }
+ else
+ {
+ ScModelObj::getImplementation(GetModel())->UpdateAllRowHeights();
+ }
+
aTables.FixupOLEs();
}
if (GetModel().is())
More information about the Libreoffice-commits
mailing list