X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fmainwidget.cpp;h=565a961f07496be83357c04b2633900ad0cac6f9;hb=HEAD;hp=3b99154f6dbb9eb91045fa0886142e5d04343b49;hpb=7ad02fb6205c22ecf30432c719063658342cec63;p=irwi diff --git a/src/mainwidget.cpp b/src/mainwidget.cpp index 3b99154..565a961 100644 --- a/src/mainwidget.cpp +++ b/src/mainwidget.cpp @@ -1,18 +1,118 @@ #include "mainwidget.h" +#include "settingsdlg.h" +#include "advsettingsdlg.h" +#include +#include #include -#include +#include +#include MainWidget::MainWidget (QWidget *parent) : QWidget(parent) { + // reset settings to defaults + AdvSettingsDlg asd(this); + layout = new QGridLayout(this); - for (int i = 0; i < BUTTON_COUNT; ++i) - { - buttons[i] = new QPushButton(this); - layout->addWidget(buttons[i], i/3, i%3); + settings = new QSettings(this); + + char iconNames[][128] = { + "/usr/share/icons/hicolor/48x48/hildon/statusarea_volumelevel4.png", + "/usr/share/icons/hicolor/48x48/hildon/statusarea_volumelevel1.png", + "/usr/share/icons/hicolor/48x48/hildon/rss_reader_move_up.png", + "/usr/share/icons/hicolor/48x48/hildon/rss_reader_move_down.png", + "/usr/share/icons/hicolor/48x48/hildon/location_applet_on.png", + "/usr/share/icons/hicolor/48x48/hildon/statusarea_volume_mute.png" + }; + + for (int i = 0; i < BUTTON_COUNT; ++i) { + QToolButton *button = new QToolButton(this); + button->setIcon(QIcon(QString( + settings->value(QString("buttonIcon") + QString::number(i), + iconNames[i]).toString()))); + buttons[i] = button; + button->setSizePolicy(QSizePolicy::MinimumExpanding, + QSizePolicy::MinimumExpanding); + layout->addWidget(button, i%2, i/2); } - this->setLayout(layout); + + connect(buttons[0], SIGNAL(clicked()), this, SLOT(sendCmdVolUp())); + connect(buttons[1], SIGNAL(clicked()), this, SLOT(sendCmdVolDown())); + connect(buttons[2], SIGNAL(clicked()), this, SLOT(sendCmdChUp())); + connect(buttons[3], SIGNAL(clicked()), this, SLOT(sendCmdChDown())); + connect(buttons[4], SIGNAL(clicked()), this, SLOT(sendCmdPower())); + connect(buttons[5], SIGNAL(clicked()), this, SLOT(sendCmdMute())); + + setContentsMargins(0, 0, 0, 0); + layout->setContentsMargins(0, 0, 0, 0); + setLayout(layout); + setAttribute(Qt::WA_TranslucentBackground); + setAttribute(Qt::WA_OpaquePaintEvent); + resize(); +} + +MainWidget::~MainWidget() +{ + delete settings; +} + +void MainWidget::sendCmdVolUp() +{ + irCtrl.sendCmd(settings->value("cmd0", "VOLUP").toString()); +} + +void MainWidget::sendCmdVolDown() +{ + irCtrl.sendCmd(settings->value("cmd1", "VOLDOWN").toString()); } +void MainWidget::sendCmdChUp() +{ + irCtrl.sendCmd(settings->value("cmd2", "CHUP").toString()); +} + +void MainWidget::sendCmdChDown() +{ + irCtrl.sendCmd(settings->value("cmd3", "CHDOWN").toString()); +} + +void MainWidget::sendCmdPower() +{ + irCtrl.sendCmd(settings->value("cmd4", "POWER").toString()); +} + +void MainWidget::sendCmdMute() +{ + irCtrl.sendCmd(settings->value("cmd5", "MUTE").toString()); +} + +void MainWidget::paintEvent(QPaintEvent *) +{ + int bgAlpha = settings->value("bgAlpha", "192").toInt(); + QPainter p(this); + p.fillRect(rect(), QColor(0, 0, 0, bgAlpha)); + p.end(); +} + +void MainWidget::showSettingsDialog() +{ + SettingsDlg dlg; + dlg.exec(); + update(); // Repaint required if bgAlpha value was changed + resize(); +} + +void MainWidget::resize() +{ + int w = settings->value("width", "250").toInt(); + int h = settings->value("height", "148").toInt(); + if (w < 1) + w = 250; + if (h < 1) + h = 148; + QWidget::resize(w, h); +} + +