MythTV  master
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
ThumbGenerator Class Reference

#include <thumbgenerator.h>

Inheritance diagram for ThumbGenerator:
Inheritance graph
[legend]
Collaboration diagram for ThumbGenerator:
Collaboration graph
[legend]

Public Member Functions

 ThumbGenerator (QObject *parent, int w, int h)
 
 ~ThumbGenerator ()
 
void setSize (int w, int h)
 
void setDirectory (const QString &directory, bool isGallery=false)
 
void addFile (const QString &filePath)
 
void cancel ()
 
- Public Member Functions inherited from MThread
 MThread (const QString &objectName)
 Standard constructor. More...
 
 MThread (const QString &objectName, QRunnable *runnable)
 Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More...
 
virtual ~MThread ()
 
void RunProlog (void)
 Sets up a thread, call this if you reimplement run(). More...
 
void RunEpilog (void)
 Cleans up a thread's resources, call this if you reimplement run(). More...
 
QThread * qthread (void)
 Returns the thread, this will always return the same pointer no matter how often you restart the thread. More...
 
void setObjectName (const QString &name)
 
QString objectName (void) const
 
void setPriority (QThread::Priority priority)
 
QThread::Priority priority (void) const
 
bool isFinished (void) const
 
bool isRunning (void) const
 
void setStackSize (uint stackSize)
 
uint stackSize (void) const
 
void exit (int retcode=0)
 Use this to exit from the thread if you are using a Qt event loop. More...
 
void start (QThread::Priority=QThread::InheritPriority)
 Tell MThread to start running the thread in the near future. More...
 
void terminate (void)
 Kill a thread unsafely. More...
 
void quit (void)
 calls exit(0) More...
 
bool wait (unsigned long time=ULONG_MAX)
 Wait for the MThread to exit, with a maximum timeout. More...
 

Static Public Member Functions

static QString getThumbcacheDir (const QString &inDir)
 
- Static Public Member Functions inherited from MThread
static void ThreadSetup (const QString &)
 This is to be called on startup in those few threads that haven't been ported to MThread. More...
 
static void ThreadCleanup (void)
 This is to be called on exit in those few threads that haven't been ported to MThread. More...
 
static void Cleanup (void)
 This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More...
 
static void GetAllThreadNames (QStringList &list)
 
static void GetAllRunningThreadNames (QStringList &list)
 

Protected Member Functions

void run () override
 Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More...
 
- Protected Member Functions inherited from MThread
int exec (void)
 Enters the qt event loop. call exit or quit to exit thread. More...
 

Private Member Functions

bool moreWork ()
 
bool checkGalleryDir (const QFileInfo &fi)
 
bool checkGalleryFile (const QFileInfo &fi)
 
void loadDir (QImage &image, const QFileInfo &fi)
 
void loadFile (QImage &image, const QFileInfo &fi)
 

Private Attributes

QObject * m_parent {nullptr}
 
QString m_directory
 
bool m_isGallery {false}
 
QStringList m_fileList
 
QMutex m_mutex
 
int m_width
 
int m_height
 
bool m_cancel {false}
 

Additional Inherited Members

- Static Public Attributes inherited from MThread
static const int kDefaultStartTimeout
 
- Static Protected Member Functions inherited from MThread
static void setTerminationEnabled (bool enabled=true)
 
static void sleep (unsigned long time)
 
static void msleep (unsigned long time)
 
static void usleep (unsigned long time)
 
- Protected Attributes inherited from MThread
MThreadInternalm_thread {nullptr}
 
QRunnable * m_runnable {nullptr}
 
bool m_prolog_executed {true}
 
bool m_epilog_executed {true}
 

Detailed Description

Definition at line 50 of file thumbgenerator.h.

Constructor & Destructor Documentation

◆ ThumbGenerator()

ThumbGenerator::ThumbGenerator ( QObject *  parent,
int  w,
int  h 
)
inline

Definition at line 54 of file thumbgenerator.h.

◆ ~ThumbGenerator()

ThumbGenerator::~ThumbGenerator ( )

Definition at line 59 of file thumbgenerator.cpp.

Member Function Documentation

◆ setSize()

void ThumbGenerator::setSize ( int  w,
int  h 
)

Definition at line 65 of file thumbgenerator.cpp.

Referenced by IconView::Create().

◆ setDirectory()

void ThumbGenerator::setDirectory ( const QString &  directory,
bool  isGallery = false 
)

Definition at line 71 of file thumbgenerator.cpp.

Referenced by GalleryUtil::LoadDirectory().

◆ addFile()

void ThumbGenerator::addFile ( const QString &  filePath)

Definition at line 79 of file thumbgenerator.cpp.

Referenced by GalleryUtil::LoadDirectory().

◆ cancel()

void ThumbGenerator::cancel ( )

◆ getThumbcacheDir()

QString ThumbGenerator::getThumbcacheDir ( const QString &  inDir)
static

◆ run()

void ThumbGenerator::run ( void  )
overrideprotectedvirtual

Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.

Note
If you override this method you must call RunProlog before you do any work and RunEpilog before you exit the run method.

Reimplemented from MThread.

Definition at line 96 of file thumbgenerator.cpp.

◆ moreWork()

bool ThumbGenerator::moreWork ( )
private

Definition at line 182 of file thumbgenerator.cpp.

Referenced by run().

◆ checkGalleryDir()

bool ThumbGenerator::checkGalleryDir ( const QFileInfo &  fi)
private

Definition at line 191 of file thumbgenerator.cpp.

Referenced by run().

◆ checkGalleryFile()

bool ThumbGenerator::checkGalleryFile ( const QFileInfo &  fi)
private

Definition at line 208 of file thumbgenerator.cpp.

Referenced by run().

◆ loadDir()

void ThumbGenerator::loadDir ( QImage &  image,
const QFileInfo &  fi 
)
private

Definition at line 228 of file thumbgenerator.cpp.

Referenced by run().

◆ loadFile()

void ThumbGenerator::loadFile ( QImage &  image,
const QFileInfo &  fi 
)
private

Definition at line 267 of file thumbgenerator.cpp.

Referenced by loadDir(), and run().

Member Data Documentation

◆ m_parent

QObject* ThumbGenerator::m_parent {nullptr}
private

Definition at line 78 of file thumbgenerator.h.

Referenced by run().

◆ m_directory

QString ThumbGenerator::m_directory
private

Definition at line 79 of file thumbgenerator.h.

Referenced by run(), and setDirectory().

◆ m_isGallery

bool ThumbGenerator::m_isGallery {false}
private

Definition at line 80 of file thumbgenerator.h.

Referenced by run(), and setDirectory().

◆ m_fileList

QStringList ThumbGenerator::m_fileList
private

Definition at line 81 of file thumbgenerator.h.

Referenced by addFile(), cancel(), moreWork(), and run().

◆ m_mutex

QMutex ThumbGenerator::m_mutex
private

Definition at line 82 of file thumbgenerator.h.

Referenced by addFile(), cancel(), moreWork(), run(), and setDirectory().

◆ m_width

int ThumbGenerator::m_width
private

Definition at line 83 of file thumbgenerator.h.

Referenced by loadFile(), run(), and setSize().

◆ m_height

int ThumbGenerator::m_height
private

Definition at line 84 of file thumbgenerator.h.

Referenced by loadFile(), run(), and setSize().

◆ m_cancel

bool ThumbGenerator::m_cancel {false}
private

Definition at line 85 of file thumbgenerator.h.

Referenced by cancel(), loadDir(), and run().


The documentation for this class was generated from the following files: