Dialog for changing setting values.
[irwi] / src / mainwidget.cpp
1 #include "mainwidget.h"
2
3 #include <QInputDialog>
4 #include <QPainter>
5 #include <QGridLayout>
6 #include <QToolButton>
7 #include <QSettings>
8
9 #include "settingsdlg.h"
10
11 MainWidget::MainWidget (QWidget *parent)
12     : QWidget(parent)
13 {
14     layout = new QGridLayout(this);
15
16     QSettings settings(this);
17
18     char iconNames[][128] = {
19         "/usr/share/icons/hicolor/48x48/hildon/statusarea_volumelevel4.png",
20         "/usr/share/icons/hicolor/48x48/hildon/statusarea_volumelevel1.png",
21         "/usr/share/icons/hicolor/48x48/hildon/rss_reader_move_up.png",
22         "/usr/share/icons/hicolor/48x48/hildon/rss_reader_move_down.png",
23         "/usr/share/icons/hicolor/48x48/hildon/location_applet_on.png",
24         "/usr/share/icons/hicolor/48x48/hildon/statusarea_volume_mute.png"
25     };
26
27     int bgAlpha = settings.value("bgAlpha", "192").toInt();
28
29     for (int i = 0; i < BUTTON_COUNT; ++i)
30     {
31         QToolButton *button = new QToolButton(this);
32         button->setIcon(QIcon(QString(
33             settings.value(QString("buttonIcon") + QString::number(i),
34                 iconNames[i]).toString()))); 
35         buttons[i] = button;
36         button->setPalette(QPalette(QColor(0, 0, 0, bgAlpha)));
37         layout->addWidget(button, i%2, i/2);
38     }
39
40     connect(buttons[0], SIGNAL(clicked()), &irCtrl, SLOT(sendCmd0()));
41     connect(buttons[1], SIGNAL(clicked()), &irCtrl, SLOT(sendCmd1()));
42     connect(buttons[2], SIGNAL(clicked()), &irCtrl, SLOT(sendCmd2()));
43     connect(buttons[3], SIGNAL(clicked()), &irCtrl, SLOT(sendCmd3()));
44     connect(buttons[4], SIGNAL(clicked()), &irCtrl, SLOT(sendCmd4()));
45     connect(buttons[5], SIGNAL(clicked()), &irCtrl, SLOT(sendCmd5()));
46
47     this->setContentsMargins(0, 0, 0, 0);
48     layout->setContentsMargins(0, 0, 0, 0);
49     this->setLayout(layout);
50     this->setAttribute(Qt::WA_TranslucentBackground);
51 }
52
53  void MainWidget::paintEvent(QPaintEvent*)
54  {
55      QPainter p(this);
56      p.setBrush(QColor(0, 0, 0, 128));
57      p.setPen(Qt::NoPen);
58      p.drawRect(rect());
59      p.end();
60  }
61  
62 void MainWidget::showSettingsDialog()
63 {
64     SettingsDlg dlg(this);
65     dlg.exec();
66 }
67
68