Display region and it's name in widget
[yandex-traffic] / mainwidget.hpp
1 #ifndef __MAINWIDGET_H__
2 #define __MAINWIDGET_H__
3
4 #include <QtGui>
5
6 #include <settings.hpp>
7 #include <regions.hpp>
8
9
10 class MainWidget : public QLabel
11 {
12     Q_OBJECT
13 private:
14     RegionsTable _regions;
15     Settings _settings;
16
17 public:
18     MainWidget ()
19         : QLabel ()
20     {
21         const RegionInfo *ri;
22
23         setAlignment(Qt::AlignCenter);
24         setAttribute(Qt::WA_TranslucentBackground);
25
26         ri = _regions.lookup (_settings.regions ()[0]);
27
28         setText (_settings.regions ().join (", ") + ", " + QString (ri ? ri->name () : ""));
29     }
30
31     QSize sizeHint() const
32     {
33         return 2 * QLabel::sizeHint();
34     }
35
36 protected:
37     void paintEvent(QPaintEvent *event)
38     {
39         QPainter p(this);
40         p.setBrush(QColor(0, 0, 0, 128));
41         p.setPen(Qt::NoPen);
42         p.drawRoundedRect(rect(), 25, 25);
43         p.end();
44
45         QLabel::paintEvent(event);
46     }
47 };
48
49 #endif /* __MAINWIDGET_H__ */