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