Kaydet (Commit) ad9bfe8f authored tarafından Rachit Gupta's avatar Rachit Gupta Kaydeden (comit) Jan Holesovsky

Added check for no results.

The XML root node contains total_results attribute. If there are no
results matching the search term, then the user is notified of it.

Change-Id: I4b2ae5efe4af700dbc7a554a22a558f94c56e3bc
üst 2304f034
......@@ -223,6 +223,8 @@ void SelectPersonaDialog::ClearSearchResults()
{
m_vPersonaSettings.clear();
m_aSelectedPersona = "";
for( sal_Int32 nIndex = 0; nIndex < 9; nIndex++ )
m_vResultList[nIndex]->Hide();
}
SvxPersonalizationTabPage::SvxPersonalizationTabPage( Window *pParent, const SfxItemSet &rSet )
......@@ -435,6 +437,13 @@ void SearchAndParseThread::execute()
aParserInput.aInputStream = xStream;
xParser->parseStream( aParserInput );
if( !pHandler->hasResults() )
{
sProgress = "No results found.";
m_pPersonaDialog->SetProgress( sProgress );
return;
}
std::vector<OUString> vLearnmoreURLs = pHandler->getLearnmoreURLs();
std::vector<OUString>::iterator it;
std::vector<Image> vResultList;
......@@ -537,7 +546,7 @@ void SearchAndParseThread::getPreviewFile( const OUString& rURL, OUString *pHead
}
catch (...)
{
sProgress = "Something went wrong. Please try again.";
OUString sProgress = "Something went wrong. Please try again.";
m_pPersonaDialog->SetProgress( sProgress );
return;
}
......
......@@ -29,7 +29,7 @@ void SAL_CALL
PersonasDocHandler::characters( const OUString & aChars)
throw ( xml::sax::SAXException, RuntimeException, std::exception )
{
if( m_bLearnmoreTag )
if( m_isLearnmoreTag )
m_vLearnmoreURLs.push_back( aChars );
}
......@@ -55,14 +55,21 @@ PersonasDocHandler::setDocumentLocator(
void SAL_CALL
PersonasDocHandler::startElement( const OUString& aName,
const Reference< xml::sax::XAttributeList > & )
const Reference< xml::sax::XAttributeList > &xAttribs )
throw ( xml::sax::SAXException,
RuntimeException, std::exception )
{
if( aName == "searchresults" )
{
OUString aTotalResults = xAttribs->getValueByName( "total_results" );
if( !aTotalResults.equals( "0" ) )
m_hasResults = true;
}
if ( aName == "learnmore" )
m_bLearnmoreTag = true;
m_isLearnmoreTag = true;
else
m_bLearnmoreTag = false;
m_isLearnmoreTag = false;
}
void SAL_CALL PersonasDocHandler::endElement( const OUString & )
......
......@@ -19,10 +19,12 @@ class PersonasDocHandler : public ::cppu::WeakImplHelper1< css::xml::sax::XDocum
{
private:
std::vector<OUString> m_vLearnmoreURLs;
bool m_bLearnmoreTag;
bool m_isLearnmoreTag, m_hasResults;
public:
PersonasDocHandler(){ m_bLearnmoreTag = false; }
PersonasDocHandler(){ m_isLearnmoreTag = false; m_hasResults = false; }
std::vector<OUString> getLearnmoreURLs() { return m_vLearnmoreURLs; }
bool hasResults() { return m_hasResults; }
// XDocumentHandler
virtual void SAL_CALL startDocument()
throw ( css::xml::sax::SAXException, css::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment