aboutsummaryrefslogtreecommitdiff
path: root/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'main.h')
-rw-r--r--main.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/main.h b/main.h
new file mode 100644
index 00000000..f4c7a3f8
--- /dev/null
+++ b/main.h
@@ -0,0 +1,53 @@
+#ifndef MAIN_H
+#define MAIN_H
+
+#include <QObject>
+#include <QTimer>
+#include <QList>
+#include <QStandardItem>
+#include <QDebug>
+
+#include "CategorizedView.h"
+
+class Progresser : public QObject
+{
+ Q_OBJECT
+public:
+ explicit Progresser(QObject *parent = 0) : QObject(parent)
+ {
+ QTimer *timer = new QTimer(this);
+ connect(timer, SIGNAL(timeout()), this, SLOT(timeout()));
+ timer->start(50);
+ }
+
+ QStandardItem *addTrackedIndex(QStandardItem *item)
+ {
+ item->setData(1000, CategorizedViewRoles::ProgressMaximumRole);
+ m_items.append(item);
+ return item;
+ }
+
+public slots:
+ void timeout()
+ {
+ foreach (QStandardItem *item, m_items)
+ {
+ int value = item->data(CategorizedViewRoles::ProgressValueRole).toInt();
+ value += qrand() % 3;
+ if (value >= item->data(CategorizedViewRoles::ProgressMaximumRole).toInt())
+ {
+ item->setData(item->data(CategorizedViewRoles::ProgressMaximumRole).toInt(),
+ CategorizedViewRoles::ProgressValueRole);
+ }
+ else
+ {
+ item->setData(value, CategorizedViewRoles::ProgressValueRole);
+ }
+ }
+ }
+
+private:
+ QList<QStandardItem *> m_items;
+};
+
+#endif // MAIN_H