src/hbservers/hbsplashgenerator/hbsplashgenerator_p.h
changeset 3 11d3954df52a
parent 2 06ff229162e9
child 5 627c4a0fd0e7
equal deleted inserted replaced
2:06ff229162e9 3:11d3954df52a
    31 #include <QQueue>
    31 #include <QQueue>
    32 #include <QImage>
    32 #include <QImage>
    33 #include <QTime>
    33 #include <QTime>
    34 #include <QColor>
    34 #include <QColor>
    35 #include <QHash>
    35 #include <QHash>
    36 #include <QSettings>
       
    37 #include <QDebug>
    36 #include <QDebug>
    38 #include <QXmlStreamReader>
    37 #include <QXmlStreamReader>
    39 #include <QFileSystemWatcher>
    38 #include <QFileSystemWatcher>
    40 #include "hbframedrawer.h"
    39 #include "hbframedrawer.h"
    41 
    40 
    42 QT_BEGIN_NAMESPACE
    41 QT_BEGIN_NAMESPACE
    43 class QTranslator;
    42 class QTranslator;
       
    43 class QSettings;
    44 QT_END_NAMESPACE
    44 QT_END_NAMESPACE
    45 
    45 
    46 class HbMainWindow;
    46 class HbMainWindow;
    47 class HbDocumentLoader;
    47 class HbDocumentLoader;
    48 
    48 
    55     ~HbSplashGenerator();
    55     ~HbSplashGenerator();
    56 
    56 
    57     void start(bool forceRegen);
    57     void start(bool forceRegen);
    58 
    58 
    59 signals:
    59 signals:
       
    60     void regenerateStarted();
    60     void outputDirContentsUpdated(const QString &dir, const QStringList &entries);
    61     void outputDirContentsUpdated(const QString &dir, const QStringList &entries);
    61     void finished();
    62     void finished();
    62 
    63 
    63 public slots:
    64 public slots:
    64     void regenerate();
    65     void regenerate();
    65     void uncachedRegenerate();
    66     void uncachedRegenerate();
    66     void regenerateOne(const QString &splashmlFileName);
    67     void regenerateOne(const QString &splashmlFileName, const QString &customTrDir = QString());
    67 
    68 
    68 private slots:
    69 private slots:
    69     void doStart();
    70     void doStart();
    70     void processQueue();
    71     void processQueue();
    71     void processWindow();
    72     void processWindow();
    98             QString mFrameGraphicsName;
    99             QString mFrameGraphicsName;
    99             qreal mZValue;
   100             qreal mZValue;
   100             QString mOrientation;
   101             QString mOrientation;
   101         };
   102         };
   102         QList<ItemBgGraphicsRequest> mItemBgGraphics;
   103         QList<ItemBgGraphicsRequest> mItemBgGraphics;
   103         QString mWorkDirForSingleFileRegen;
   104         QStringList mCustomTrDirs;
       
   105         quint32 mFlagsToStore;
   104     };
   106     };
   105 
   107 
   106 private:
   108 private:
       
   109     void ensureMainWindow();
   107     void takeScreenshot();
   110     void takeScreenshot();
   108     void cleanup();
   111     void cleanup();
   109     QImage renderView();
   112     QImage renderView();
   110     QString splashFileName();
   113     QString splashFileName();
   111     bool saveSpl(const QString &nameWithoutExt, const QImage &image);
   114     bool saveSpl(const QString &nameWithoutExt, const QImage &image, quint32 extra);
   112     void addSplashmlItemToQueue(const QueueItem &item);
   115     void addSplashmlItemToQueue(const QueueItem &item);
   113     void queueAppSpecificItems(const QString &themeName, Qt::Orientation orientation);
   116     void queueAppSpecificItems(const QString &themeName, Qt::Orientation orientation);
   114     bool parseSplashml(const QString &fullFileName, QueueItem &item);
   117     bool parseSplashml(const QString &fullFileName, QueueItem &item);
   115     void parseSplashmlElements(QXmlStreamReader &xml, QueueItem &item, const QString &fullFileName);
   118     void parseSplashmlElements(QXmlStreamReader &xml, QueueItem &item, const QString &fullFileName);
   116     void setupAppSpecificWindow();
   119     void setupAppSpecificWindow();
   117     void setupNameBasedWidgetProps(HbDocumentLoader &loader);
   120     void setupNameBasedWidgetProps(HbDocumentLoader &loader);
   118     void finishWindow();
   121     void finishWindow();
       
   122     void setStatusBarElementsVisible(bool visible);
   119     void addTranslator(const QString &name);
   123     void addTranslator(const QString &name);
   120     void clearTranslators();
   124     void clearTranslators();
   121     int updateOutputDirContents(const QString &outDir);
   125     int updateOutputDirContents(const QString &outDir);
   122 
   126 
   123     bool mBusy;
   127     bool mBusy;
   127     QueueItem mItem;
   131     QueueItem mItem;
   128     QList<QTranslator *> mTranslators;
   132     QList<QTranslator *> mTranslators;
   129     QTime mItemTime;
   133     QTime mItemTime;
   130     bool mFirstRegenerate;
   134     bool mFirstRegenerate;
   131     QHash<QString, QueueItem> mParsedSplashmls;
   135     QHash<QString, QueueItem> mParsedSplashmls;
   132     QSettings mSettings;
   136     QSettings *mSettings;
   133     QFileSystemWatcher mFsWatcher;
   137     QFileSystemWatcher mFsWatcher;
   134 };
   138 };
   135 
   139 
   136 QDebug operator<<(QDebug dbg, const HbSplashGenerator::QueueItem& item);
   140 QDebug operator<<(QDebug dbg, const HbSplashGenerator::QueueItem& item);
   137 
   141