get rid of supportsSearching() by using a proper feature

svn path=/trunk/playground/graphics/okular/; revision=624587
remotes/origin/KDE/4.0
Pino Toscano 19 years ago
parent 468a0da775
commit 135a18b407
  1. 4
      core/document.cpp
  2. 5
      core/generator.cpp
  3. 6
      core/generator.h
  4. 10
      core/textdocumentgenerator.cpp
  5. 2
      core/textdocumentgenerator.h
  6. 10
      generators/chm/generator_chm.cpp
  7. 2
      generators/chm/generator_chm.h
  8. 11
      generators/dvi/generator_dvi.cpp
  9. 3
      generators/dvi/generator_dvi.h
  10. 11
      generators/poppler/generator_pdf.cpp
  11. 2
      generators/poppler/generator_pdf.h

@ -1079,7 +1079,7 @@ bool Document::isAllowed( Permissions flags ) const
bool Document::supportsSearching() const
{
return d->m_generator ? d->m_generator->supportsSearching() : false;
return d->m_generator ? d->m_generator->hasFeature( Generator::TextExtraction ) : false;
}
bool Document::supportsPageSizes() const
@ -1468,7 +1468,7 @@ bool Document::searchText( int searchID, const QString & text, bool fromStart, Q
SearchType type, bool moveViewport, const QColor & color, bool noDialogs )
{
// safety checks: don't perform searches on empty or unsearchable docs
if ( !d->m_generator || !d->m_generator->supportsSearching() || d->m_pagesVector.isEmpty() )
if ( !d->m_generator || !d->m_generator->hasFeature( Generator::TextExtraction ) || d->m_pagesVector.isEmpty() )
return false;
// if searchID search not recorded, create new descriptor and init params

@ -75,11 +75,6 @@ bool Generator::isAllowed( Permissions ) const
return true;
}
bool Generator::supportsSearching() const
{
return false;
}
void Generator::rotationChanged( Rotation, Rotation )
{
}

@ -140,6 +140,7 @@ class OKULAR_EXPORT Generator : public QObject
public:
enum GeneratorFeature
{
TextExtraction, ///< Whether the Generator can extract text from the document in the form of TextPage's
ReadRawData ///< Whether the Generator can read a document directly from its raw data.
};
@ -248,11 +249,6 @@ class OKULAR_EXPORT Generator : public QObject
*/
virtual bool isAllowed( Permissions action ) const;
/**
* This method returns whether the generator supports searching. Default is false.
*/
virtual bool supportsSearching() const;
/**
* This method is called when the orientation has been changed by the user.
*/

@ -308,9 +308,15 @@ void TextDocumentGenerator::generateSyncTextPage( Okular::Page * page )
page->setTextPage( d->createTextPage( page->number() ) );
}
bool TextDocumentGenerator::supportsSearching() const
bool TextDocumentGenerator::hasFeature( GeneratorFeature feature ) const
{
return true;
switch ( feature )
{
case TextExtraction:
return true;
default: ;
}
return false;
}
bool TextDocumentGenerator::print( KPrinter& printer )

@ -98,7 +98,7 @@ class OKULAR_EXPORT TextDocumentGenerator : public Generator
void generatePixmap( Okular::PixmapRequest * request );
void generateSyncTextPage( Okular::Page * page );
bool supportsSearching() const;
bool hasFeature( GeneratorFeature feature ) const;
// [INHERITED] print document using already configured kprinter
bool print( KPrinter& printer );

@ -364,9 +364,15 @@ void CHMGenerator::generateSyncTextPage( Okular::Page * page )
syncLock.unlock();
}
bool CHMGenerator::supportsSearching() const
bool CHMGenerator::hasFeature( GeneratorFeature feature ) const
{
return true;
switch ( feature )
{
case TextExtraction:
return true;
default: ;
}
return false;
}
QVariant CHMGenerator::metaData( const QString &key, const QVariant &option ) const

@ -43,7 +43,7 @@ class CHMGenerator : public Okular::Generator
void generateSyncTextPage( Okular::Page * page );
bool supportsSearching() const;
bool hasFeature( GeneratorFeature feature ) const;
QVariant metaData( const QString & key, const QVariant & option ) const;

@ -369,6 +369,17 @@ const Okular::DocumentSynopsis *DviGenerator::generateDocumentSynopsis()
return m_docSynopsis;
}
bool DviGenerator::hasFeature( GeneratorFeature feature ) const
{
switch ( feature )
{
case TextExtraction:
return true;
default: ;
}
return false;
}
void DviGenerator::loadPages( QVector< Okular::Page * > &pagesVector, int orientation )
{
QSize pageRequiredSize;

@ -40,8 +40,7 @@ class DviGenerator : public Okular::Generator
// table of contents
const Okular::DocumentSynopsis *generateDocumentSynopsis();
// searching
bool supportsSearching() const { return true; };
bool hasFeature( GeneratorFeature feature ) const;
private:
double m_resolution;

@ -769,11 +769,16 @@ bool PDFGenerator::print( KPrinter& printer )
bool PDFGenerator::hasFeature( GeneratorFeature feature ) const
{
switch ( feature )
{
case TextExtraction:
#ifdef HAVE_POPPLER_HEAD
return feature == Okular::Generator::ReadRawData;
#else
return false;
case ReadRawData:
#endif
return true;
default: ;
}
return false;
}
QVariant PDFGenerator::metaData( const QString & key, const QVariant & option ) const

@ -75,8 +75,6 @@ class PDFGenerator : public Okular::Generator, public Okular::ConfigInterface
void generatePixmap( Okular::PixmapRequest * request );
void generateSyncTextPage( Okular::Page * page );
bool supportsSearching() const { return true; };
// [INHERITED] print page using an already configured kprinter
bool print( KPrinter& printer );

Loading…
Cancel
Save