Ticket #6329: randomimage.diff

File randomimage.diff, 1.4 KB (added by robert.mcnamara@…, 12 years ago)

Random Image patch

  • libs/libmythui/mythuiimage.cpp

     
    33#include <QFile>
    44#include <QDir>
    55#include <QDomDocument>
     6#include <QImageReader>
    67
    78#include "mythverbose.h"
    89
     
    564565bool MythUIImage::ParseElement(QDomElement &element)
    565566{
    566567    if (element.tagName() == "filename")
     568    {
    567569        m_OrigFilename = m_Filename = getFirstText(element);
     570        if (m_Filename.endsWith("/"))
     571        {
     572            QDir imageDir(m_Filename);
     573            QStringList imageTypes;
     574
     575            QList< QByteArray > exts = QImageReader::supportedImageFormats();
     576            QList< QByteArray >::Iterator it = exts.begin();
     577            for (;it != exts.end();++it)
     578            {
     579                imageTypes.append( QString("*.").append(*it) );
     580            }
     581
     582            imageDir.setNameFilters(imageTypes);
     583
     584            QStringList imageList = imageDir.entryList();
     585            srand(time(NULL));
     586            QString randFile = QString("%1%2").arg(m_Filename)
     587                           .arg(imageList.takeAt(rand() % imageList.size()));
     588            m_OrigFilename = m_Filename = randFile;
     589        }     
     590    }
    568591    else if (element.tagName() == "filepattern")
    569592    {
    570593        m_OrigFilename = m_Filename = getFirstText(element);