1 #ifndef CHECKSUMSCANNERLOG_H 2 #define CHECKSUMSCANNERLOG_H 3 4 #include <QStringList> 5 #include <QString> 6 #include <QMutex> 7 8 #include "ui_checksumscannerlog.h" 9 10 class CheckSumScannerLog : public QDialog, public Ui::CheckSumScannerLog 11 { 12 Q_OBJECT 13 14 public: 15 CheckSumScannerLog(QString settingsKey, QWidget *parent = 0); 16 setLogSyncMutex(QMutex * mtx)17 void setLogSyncMutex(QMutex *mtx) { m_logSyncMutex = mtx; } progress()18 qreal progress() { return m_progress; } queuedMessages()19 int queuedMessages() { return m_messageQueue.count(); } 20 21 public slots: 22 void on_spinBoxMaxLogSize_valueChanged(int); 23 void log(const QString &); 24 void flushMessageQueue(); clear()25 void clear() { plainTextEditLog->clear(); } 26 void scrollToEnd(); 27 void progressTextChanged(const QString &); 28 void progressRangeChanged(int, int); 29 void progressChanged(int); 30 31 signals: 32 void windowOpened(); 33 void windowClosed(); 34 35 protected: 36 void showEvent(QShowEvent *); 37 void hideEvent(QHideEvent *); 38 void closeEvent(QCloseEvent *); 39 void keyPressEvent(QKeyEvent *); 40 41 private: 42 qreal m_progress; 43 QString m_settingsKey; 44 QStringList m_messageQueue; 45 QMutex *m_logSyncMutex; 46 }; 47 48 #endif 49