diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-05-28 17:21:50 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-05-29 09:50:24 +0200 |
commit | 3c0149457d19b5641e65e19620dd7771643adb8b (patch) | |
tree | db11de4c7bfe9d1c06553a7c10f4d5c4e2da0a14 | |
parent | 6bccdf23fdf755494e840a3a21380a754969df73 (diff) |
gtktiledviewer: use SearchItem.SearchStartPoint*
Change-Id: If0219eda3a2ca3b97c37bea70e35d47e49d38e02
(cherry picked from commit 3c9fb5898159fbda9d5b23f3f518044a5df03f72)
-rw-r--r-- | include/LibreOfficeKit/LibreOfficeKitGtk.h | 3 | ||||
-rw-r--r-- | libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 10 | ||||
-rw-r--r-- | libreofficekit/source/gtk/lokdocview.cxx | 8 |
3 files changed, 20 insertions, 1 deletions
diff --git a/include/LibreOfficeKit/LibreOfficeKitGtk.h b/include/LibreOfficeKit/LibreOfficeKitGtk.h index 320121e0b819..b3e50d31b01d 100644 --- a/include/LibreOfficeKit/LibreOfficeKitGtk.h +++ b/include/LibreOfficeKit/LibreOfficeKitGtk.h @@ -74,6 +74,9 @@ void lok_docview_post_command (LOKDocView* pDocView, const char* p /// Posts a keyboard event to LibreOfficeKit. void lok_docview_post_key (GtkWidget* pWidget, GdkEventKey* pEvent, gpointer pData); + +/// Get the visible area of the document (in twips). +void lok_docview_get_visarea(LOKDocView* pThis, GdkRectangle* pArea); #ifdef __cplusplus } #endif diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index ed2471f6c401..83ec9d23c113 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -158,10 +158,18 @@ static void doSearch(bool bBackwards) aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchString/value", '/'), pText); aTree.put(boost::property_tree::ptree::path_type("SearchItem.Backward/type", '/'), "boolean"); aTree.put(boost::property_tree::ptree::path_type("SearchItem.Backward/value", '/'), bBackwards); + + LOKDocView* pLOKDocView = LOK_DOCVIEW(pDocView); + GdkRectangle aArea; + lok_docview_get_visarea(pLOKDocView, &aArea); + aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchStartPointX/type", '/'), "long"); + aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchStartPointX/value", '/'), aArea.x); + aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchStartPointY/type", '/'), "long"); + aTree.put(boost::property_tree::ptree::path_type("SearchItem.SearchStartPointY/value", '/'), aArea.y); + std::stringstream aStream; boost::property_tree::write_json(aStream, aTree); - LOKDocView* pLOKDocView = LOK_DOCVIEW(pDocView); lok_docview_post_command(pLOKDocView, ".uno:ExecuteSearch", aStream.str().c_str()); } diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx index d01c74308460..7ab7f099c8bf 100644 --- a/libreofficekit/source/gtk/lokdocview.cxx +++ b/libreofficekit/source/gtk/lokdocview.cxx @@ -1316,4 +1316,12 @@ SAL_DLLPUBLIC_EXPORT void lok_docview_post_key(GtkWidget* /*pWidget*/, GdkEventK pDocView->m_pImpl->signalKey(pEvent); } +SAL_DLLPUBLIC_EXPORT void lok_docview_get_visarea(LOKDocView* pThis, GdkRectangle* pArea) +{ + GtkAdjustment* pHAdjustment = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(pThis)); + pArea->x = pThis->m_pImpl->pixelToTwip(gtk_adjustment_get_value(pHAdjustment)); + GtkAdjustment* pVAdjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(pThis)); + pArea->y = pThis->m_pImpl->pixelToTwip(gtk_adjustment_get_value(pVAdjustment)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |