symbianstatusupdater.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef SYMBIANSTATUSUPDATER_H
  2. #define SYMBIANSTATUSUPDATER_H
  3. #include "istatusupdater.h"
  4. #include "symbian/symbianqtprojectgenerator.h"
  5. #define LASTLOG_ITEMS 10
  6. class SymbianStatusUpdater : public IStatusUpdater
  7. {
  8. Q_OBJECT
  9. private:
  10. //
  11. // private members
  12. //
  13. SymbianQtProjectGenerator &m_generator;
  14. // Progress variables
  15. int m_currentValue;
  16. int m_maximumValue;
  17. int m_phasesInAction;
  18. int m_logSize;
  19. bool m_indefinite;
  20. // Generation status
  21. QString m_statusText;
  22. GeneratorPhase m_phase;
  23. GeneratorPhase m_lastPhase;
  24. // Lastlog for checking log
  25. QString m_lastLog[LASTLOG_ITEMS];
  26. int m_lastLogCounter;
  27. public:
  28. //
  29. // lifetime management
  30. SymbianStatusUpdater(SymbianQtProjectGenerator & generator,
  31. QObject * parent = 0);
  32. virtual ~SymbianStatusUpdater();
  33. //
  34. // public operators
  35. //
  36. virtual void updateGeneratorStatus(bool manualTrigger = true);
  37. virtual void setIndefiniteProgress(bool indefinite);
  38. virtual void setPhases(int phases);
  39. virtual void reset();
  40. virtual int maximumProgress();
  41. virtual int currentProgress();
  42. virtual QString statusText();
  43. virtual int logSize();
  44. virtual QFileInfo pkgFileInfo();
  45. private slots:
  46. void increase(QString message);
  47. void start(GeneratorTarget target);
  48. void stop();
  49. private:
  50. int phaseLength(GeneratorPhase phase);
  51. };
  52. #endif // SYMBIANSTATUSUPDATER_H