libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 6 ++++-- sc/source/core/data/global.cxx | 6 +++--- sc/source/ui/view/tabview.cxx | 7 +++++-- 3 files changed, 12 insertions(+), 7 deletions(-)
New commits: commit 708d1c5ab242b545ced598879233fc662d7e6cc0 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Nov 2 10:56:43 2015 +0100 sc lok: emit RowColumnHeader info in twips As that's the unit we use everywhere else in the LOK API. Also, make the ScGlobal::nScreenPPTX/Y calculation more precise, otherwise rounding errors occur during the pixel -> twip conversion. Example with the old precision: col height is 103 px, nScreenPPTY is 0.067, twips is 1537.3134328358208, convering it back is 102.487562189 px. Example with the new precision: col height is 103 px, nScreenPPTY is 0.0667, twips is 1544.2278860569716, convering it back is 102.948525737 px. Change-Id: I19f5285508ef0c751614d07969b3a7a037e7d1ec diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index 23233ac..db7beb4 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -250,7 +250,8 @@ gboolean TiledRowColumnBar::docConfigureEvent(GtkWidget* pDocView, GdkEventConfi rWindow.m_pRowBar->m_aHeaders.clear(); for (boost::property_tree::ptree::value_type& rValue : aTree.get_child("rows")) { - Header aHeader(std::atoi(rValue.second.get<std::string>("size").c_str()), rValue.second.get<std::string>("text")); + int nSize = std::round(lok_doc_view_twip_to_pixel(LOK_DOC_VIEW(pDocView), std::atof(rValue.second.get<std::string>("size").c_str()))); + Header aHeader(nSize, rValue.second.get<std::string>("text")); rWindow.m_pRowBar->m_aHeaders.push_back(aHeader); } gtk_widget_show(rWindow.m_pRowBar->m_pDrawingArea); @@ -259,7 +260,8 @@ gboolean TiledRowColumnBar::docConfigureEvent(GtkWidget* pDocView, GdkEventConfi rWindow.m_pColumnBar->m_aHeaders.clear(); for (boost::property_tree::ptree::value_type& rValue : aTree.get_child("columns")) { - Header aHeader(std::atoi(rValue.second.get<std::string>("size").c_str()), rValue.second.get<std::string>("text")); + int nSize = std::round(lok_doc_view_twip_to_pixel(LOK_DOC_VIEW(pDocView), std::atof(rValue.second.get<std::string>("size").c_str()))); + Header aHeader(nSize, rValue.second.get<std::string>("text")); rWindow.m_pColumnBar->m_aHeaders.push_back(aHeader); } gtk_widget_show(rWindow.m_pColumnBar->m_pDrawingArea); diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx index 90d31e9..c97c026 100644 --- a/sc/source/core/data/global.cxx +++ b/sc/source/core/data/global.cxx @@ -545,9 +545,9 @@ void ScGlobal::UpdatePPT( OutputDevice* pDev ) if ( !pDev ) pDev = Application::GetDefaultDevice(); - Point aPix1000 = pDev->LogicToPixel( Point(1000,1000), MAP_TWIP ); - nScreenPPTX = aPix1000.X() / 1000.0; - nScreenPPTY = aPix1000.Y() / 1000.0; + Point aPix1000 = pDev->LogicToPixel( Point(10000,10000), MAP_TWIP ); + nScreenPPTX = aPix1000.X() / 10000.0; + nScreenPPTY = aPix1000.Y() / 10000.0; nPPTZoom = nCurrentZoom; } } diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx index 7254ff9..744ccb0 100644 --- a/sc/source/ui/view/tabview.cxx +++ b/sc/source/ui/view/tabview.cxx @@ -2289,12 +2289,15 @@ OUString ScTabView::getRowColumnHeaders() SCROW nEndRow = 0; pDoc->GetTiledRenderingArea(aViewData.GetTabNo(), nEndCol, nEndRow); + double nPPTX = aViewData.GetPPTX(); + double nPPTY = aViewData.GetPPTY(); + boost::property_tree::ptree aRows; for (SCROW nRow = 0; nRow <= nEndRow; ++nRow) { boost::property_tree::ptree aRow; sal_uInt16 nSize = pRowBar[SC_SPLIT_BOTTOM]->GetEntrySize(nRow); - aRow.put("size", OString::number(nSize).getStr()); + aRow.put("size", OString::number(nSize / nPPTY).getStr()); OUString aText = pRowBar[SC_SPLIT_BOTTOM]->GetEntryText(nRow); aRow.put("text", aText.toUtf8().getStr()); aRows.push_back(std::make_pair("", aRow)); @@ -2305,7 +2308,7 @@ OUString ScTabView::getRowColumnHeaders() { boost::property_tree::ptree aCol; sal_uInt16 nSize = pColBar[SC_SPLIT_LEFT]->GetEntrySize(nCol); - aCol.put("size", OString::number(nSize).getStr()); + aCol.put("size", OString::number(nSize / nPPTX).getStr()); OUString aText = pColBar[SC_SPLIT_LEFT]->GetEntryText(nCol); aCol.put("text", aText.toUtf8().getStr()); aCols.push_back(std::make_pair("", aCol)); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits