LOK: CALLBACK_SEARCH_RESULT_COUNT is redundant
1) The size of the searchResultSelection array in LOK_CALLBACK_SEARCH_RESULT_SELECTION provides the same information. 2) None of the clients except lokdocview used it. 3) Only sw provided this callback, not sc/sd. Change-Id: I9da639b6693f24634f298f9bc4773f705e944359
This commit is contained in:
@@ -157,12 +157,6 @@ typedef enum
|
|||||||
*/
|
*/
|
||||||
LOK_CALLBACK_SET_PART,
|
LOK_CALLBACK_SET_PART,
|
||||||
|
|
||||||
/**
|
|
||||||
* Number of search results followed by the original searched phrase.
|
|
||||||
* count;phrase
|
|
||||||
*/
|
|
||||||
LOK_CALLBACK_SEARCH_RESULT_COUNT,
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Selection rectangles of the search result when find all is performed.
|
* Selection rectangles of the search result when find all is performed.
|
||||||
*
|
*
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <boost/property_tree/json_parser.hpp>
|
||||||
|
|
||||||
#include <com/sun/star/awt/Key.hpp>
|
#include <com/sun/star/awt/Key.hpp>
|
||||||
#define LOK_USE_UNSTABLE_API
|
#define LOK_USE_UNSTABLE_API
|
||||||
@@ -227,8 +228,6 @@ callbackTypeToString (int nType)
|
|||||||
return "LOK_CALLBACK_STATUS_INDICATOR_FINISH";
|
return "LOK_CALLBACK_STATUS_INDICATOR_FINISH";
|
||||||
case LOK_CALLBACK_SEARCH_NOT_FOUND:
|
case LOK_CALLBACK_SEARCH_NOT_FOUND:
|
||||||
return "LOK_CALLBACK_SEARCH_NOT_FOUND";
|
return "LOK_CALLBACK_SEARCH_NOT_FOUND";
|
||||||
case LOK_CALLBACK_SEARCH_RESULT_COUNT:
|
|
||||||
return "LOK_CALLBACK_SEARCH_RESULT_COUNT";
|
|
||||||
case LOK_CALLBACK_DOCUMENT_SIZE_CHANGED:
|
case LOK_CALLBACK_DOCUMENT_SIZE_CHANGED:
|
||||||
return "LOK_CALLBACK_DOCUMENT_SIZE_CHANGED";
|
return "LOK_CALLBACK_DOCUMENT_SIZE_CHANGED";
|
||||||
case LOK_CALLBACK_SET_PART:
|
case LOK_CALLBACK_SET_PART:
|
||||||
@@ -661,12 +660,6 @@ callback (gpointer pData)
|
|||||||
searchNotFound(pDocView, pCallback->m_aPayload);
|
searchNotFound(pDocView, pCallback->m_aPayload);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LOK_CALLBACK_SEARCH_RESULT_COUNT:
|
|
||||||
{
|
|
||||||
size_t nPos = pCallback->m_aPayload.find_first_of(";");
|
|
||||||
searchResultCount(pDocView, pCallback->m_aPayload.substr(0, nPos));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case LOK_CALLBACK_DOCUMENT_SIZE_CHANGED:
|
case LOK_CALLBACK_DOCUMENT_SIZE_CHANGED:
|
||||||
{
|
{
|
||||||
payloadToSize(pCallback->m_aPayload.c_str(), priv->m_nDocumentWidthTwips, priv->m_nDocumentHeightTwips);
|
payloadToSize(pCallback->m_aPayload.c_str(), priv->m_nDocumentWidthTwips, priv->m_nDocumentHeightTwips);
|
||||||
@@ -684,6 +677,11 @@ callback (gpointer pData)
|
|||||||
break;
|
break;
|
||||||
case LOK_CALLBACK_SEARCH_RESULT_SELECTION:
|
case LOK_CALLBACK_SEARCH_RESULT_SELECTION:
|
||||||
{
|
{
|
||||||
|
boost::property_tree::ptree aTree;
|
||||||
|
std::stringstream aStream(pCallback->m_aPayload);
|
||||||
|
boost::property_tree::read_json(aStream, aTree);
|
||||||
|
int nCount = aTree.get_child("searchResultSelection").size();
|
||||||
|
searchResultCount(pDocView, std::to_string(nCount));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@@ -72,13 +72,11 @@ private:
|
|||||||
Size m_aDocumentSize;
|
Size m_aDocumentSize;
|
||||||
OString m_aTextSelection;
|
OString m_aTextSelection;
|
||||||
bool m_bFound;
|
bool m_bFound;
|
||||||
sal_Int32 m_nSearchResultCount;
|
|
||||||
std::vector<OString> m_aSearchResultSelection;
|
std::vector<OString> m_aSearchResultSelection;
|
||||||
};
|
};
|
||||||
|
|
||||||
SwTiledRenderingTest::SwTiledRenderingTest()
|
SwTiledRenderingTest::SwTiledRenderingTest()
|
||||||
: m_bFound(true),
|
: m_bFound(true)
|
||||||
m_nSearchResultCount(0)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,12 +132,6 @@ void SwTiledRenderingTest::callbackImpl(int nType, const char* pPayload)
|
|||||||
m_bFound = false;
|
m_bFound = false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LOK_CALLBACK_SEARCH_RESULT_COUNT:
|
|
||||||
{
|
|
||||||
std::string aStrPayload(pPayload);
|
|
||||||
m_nSearchResultCount = std::stoi(aStrPayload.substr(0, aStrPayload.find_first_of(";")));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case LOK_CALLBACK_SEARCH_RESULT_SELECTION:
|
case LOK_CALLBACK_SEARCH_RESULT_SELECTION:
|
||||||
{
|
{
|
||||||
m_aSearchResultSelection.clear();
|
m_aSearchResultSelection.clear();
|
||||||
@@ -485,8 +477,6 @@ void SwTiledRenderingTest::testSearchAll()
|
|||||||
}));
|
}));
|
||||||
comphelper::dispatchCommand(".uno:ExecuteSearch", aPropertyValues);
|
comphelper::dispatchCommand(".uno:ExecuteSearch", aPropertyValues);
|
||||||
// This was 0; should be 2 results in the body text.
|
// This was 0; should be 2 results in the body text.
|
||||||
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), m_nSearchResultCount);
|
|
||||||
// Make sure that we get exactly as many rectangle lists as matches.
|
|
||||||
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), m_aSearchResultSelection.size());
|
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), m_aSearchResultSelection.size());
|
||||||
|
|
||||||
comphelper::LibreOfficeKit::setActive(false);
|
comphelper::LibreOfficeKit::setActive(false);
|
||||||
|
@@ -104,11 +104,8 @@ static void lcl_addContainerToJson(boost::property_tree::ptree& rTree, const OSt
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Emits LOK callbacks (count, selection) for search results.
|
/// Emits LOK callbacks (count, selection) for search results.
|
||||||
static void lcl_emitSearchResultCallbacks(sal_uInt16 nFound, SvxSearchItem* pSearchItem, SwWrtShell* pWrtShell)
|
static void lcl_emitSearchResultCallbacks(SvxSearchItem* pSearchItem, SwWrtShell* pWrtShell)
|
||||||
{
|
{
|
||||||
OString aPayload = OString::number(nFound) + ";" + pSearchItem->GetSearchString().toUtf8();
|
|
||||||
pWrtShell->libreOfficeKitCallback(LOK_CALLBACK_SEARCH_RESULT_COUNT, aPayload.getStr());
|
|
||||||
|
|
||||||
// Emit a callback also about the selection rectangles, grouped by matches.
|
// Emit a callback also about the selection rectangles, grouped by matches.
|
||||||
if (SwPaM* pPaM = pWrtShell->GetCrsr())
|
if (SwPaM* pPaM = pWrtShell->GetCrsr())
|
||||||
{
|
{
|
||||||
@@ -137,7 +134,7 @@ static void lcl_emitSearchResultCallbacks(sal_uInt16 nFound, SvxSearchItem* pSea
|
|||||||
|
|
||||||
std::stringstream aStream;
|
std::stringstream aStream;
|
||||||
boost::property_tree::write_json(aStream, aTree);
|
boost::property_tree::write_json(aStream, aTree);
|
||||||
aPayload = aStream.str().c_str();
|
OString aPayload = aStream.str().c_str();
|
||||||
|
|
||||||
pWrtShell->libreOfficeKitCallback(LOK_CALLBACK_SEARCH_RESULT_SELECTION, aPayload.getStr());
|
pWrtShell->libreOfficeKitCallback(LOK_CALLBACK_SEARCH_RESULT_SELECTION, aPayload.getStr());
|
||||||
}
|
}
|
||||||
@@ -252,7 +249,7 @@ void SwView::ExecSearch(SfxRequest& rReq, bool bNoMessage)
|
|||||||
{
|
{
|
||||||
Scroll(m_pWrtShell->GetCharRect().SVRect());
|
Scroll(m_pWrtShell->GetCharRect().SVRect());
|
||||||
if (comphelper::LibreOfficeKit::isActive())
|
if (comphelper::LibreOfficeKit::isActive())
|
||||||
lcl_emitSearchResultCallbacks(1, m_pSrchItem, m_pWrtShell);
|
lcl_emitSearchResultCallbacks(m_pSrchItem, m_pWrtShell);
|
||||||
}
|
}
|
||||||
rReq.SetReturnValue(SfxBoolItem(nSlot, bRet));
|
rReq.SetReturnValue(SfxBoolItem(nSlot, bRet));
|
||||||
#if HAVE_FEATURE_DESKTOP
|
#if HAVE_FEATURE_DESKTOP
|
||||||
@@ -271,8 +268,7 @@ void SwView::ExecSearch(SfxRequest& rReq, bool bNoMessage)
|
|||||||
break;
|
break;
|
||||||
case SvxSearchCmd::FIND_ALL:
|
case SvxSearchCmd::FIND_ALL:
|
||||||
{
|
{
|
||||||
sal_uInt16 nFound = 0;
|
bool bRet = SearchAll();
|
||||||
bool bRet = SearchAll(&nFound);
|
|
||||||
if( !bRet )
|
if( !bRet )
|
||||||
{
|
{
|
||||||
#if HAVE_FEATURE_DESKTOP
|
#if HAVE_FEATURE_DESKTOP
|
||||||
@@ -286,7 +282,7 @@ void SwView::ExecSearch(SfxRequest& rReq, bool bNoMessage)
|
|||||||
m_bFound = false;
|
m_bFound = false;
|
||||||
}
|
}
|
||||||
else if (comphelper::LibreOfficeKit::isActive())
|
else if (comphelper::LibreOfficeKit::isActive())
|
||||||
lcl_emitSearchResultCallbacks(nFound, m_pSrchItem, m_pWrtShell);
|
lcl_emitSearchResultCallbacks(m_pSrchItem, m_pWrtShell);
|
||||||
rReq.SetReturnValue(SfxBoolItem(nSlot, bRet));
|
rReq.SetReturnValue(SfxBoolItem(nSlot, bRet));
|
||||||
#if HAVE_FEATURE_DESKTOP
|
#if HAVE_FEATURE_DESKTOP
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user