We have no plans to implement alerts so far
[yandex-traffic] / mainwidget.hpp
index eac62a9..ce894c6 100644 (file)
@@ -3,47 +3,40 @@
 
 #include <QtGui>
 
-#include <settings.hpp>
-#include <regions.hpp>
+#include "traffic.hpp"
+#include "settings.hpp"
+#include "regions.hpp"
+#include "light.hpp"
 
 
-class MainWidget : public QLabel
+class MainWidget : public QWidget
 {
     Q_OBJECT
 private:
-    RegionsTable _regions;
-    Settings _settings;
+    Traffic* _traffic;
+    RegionsTable* _regions;
+    Settings* _settings;
 
-public:
-    MainWidget ()
-        : QLabel ()
-    {
-        const RegionInfo *ri;
+    // Widgets
+    TrafficLight* _light;
+    QLabel* _label;
 
-        setAlignment(Qt::AlignCenter);
-        setAttribute(Qt::WA_TranslucentBackground);
+public:
+    MainWidget ();
+    virtual ~MainWidget ();
 
-        ri = _regions.lookup (_settings.regions ()[0]);
+public slots:
+    void settingsDialog ();
 
-        setText (_settings.regions ().join (", ") + ", " + QString (ri ? ri->name () : ""));
-    }
+protected:
+    void paintEvent (QPaintEvent *event);
+    void timerEvent (QTimerEvent *event);
 
-    QSize sizeHint() const
-    {
-        return 2 * QLabel::sizeHint();
-    }
+    void updateData ();
+    void updateSize ();
 
-protected:
-    void paintEvent(QPaintEvent *event)
-    {
-        QPainter p(this);
-        p.setBrush(QColor(0, 0, 0, 128));
-        p.setPen(Qt::NoPen);
-        p.drawRoundedRect(rect(), 25, 25);
-        p.end();
-
-        QLabel::paintEvent(event);
-    }
+protected slots:
+    void trafficUpdated ();
 };
 
 #endif /* __MAINWIDGET_H__ */