configsoundselelectdlg.cpp 3.97 KB
#include <QDebug>
#include "configsoundselelectdlg.h"
#include "ui_configsoundselelectdlg.h"


ConfigSoundSelelectDlg::ConfigSoundSelelectDlg(QWidget *parent, ConfigType cfgtype) :
    QDialog(parent),
    ui(new Ui::ConfigSoundSelelectDlg)
{
    QString strTemp;
    Config* cfg = Config::getInstance();
    config_item item;
    ui->setupUi(this);
    setWindowFlags(Qt::Widget | Qt::FramelessWindowHint);
    setAttribute(Qt::WA_NoSystemBackground);
    setAttribute(Qt::WA_TranslucentBackground);
    setAttribute(Qt::WA_PaintOnScreen);

    this->setAttribute( Qt::WA_DeleteOnClose);


    m_nCfgType = cfgtype;

    ui->pushButton_1->setText(tr("Media 01"));
    ui->pushButton_2->setText(tr("Media 02"));
    ui->pushButton_3->setText(tr("Media 03"));
    ui->pushButton_4->setText(tr("Media 04"));
    ui->pushButton_5->setText(tr("Media 05"));
    ui->pushButton_6->setText(tr("Media 06"));
    ui->pushButton_7->setText(tr("Media 07"));
    ui->pushButton_8->setText(tr("Media 08"));
    ui->pushButton_9->setText(tr("Media 09"));
    ui->pushButton_10->setText(tr("Media 10"));

    strTemp = cfg->getTitleString(cfgtype);

    ui->ctrLbTitle->setText(strTemp);


    item = cfg->getConfigValue(cfgtype);

   m_nCurSel = item.d32;
   qDebug() << "m_nCurSel is " << m_nCurSel;

    reloadUi();

    m_pSignalMapper = new QSignalMapper(this);
    m_pSignalMapper->setMapping(ui->pushButton_1,0);
    m_pSignalMapper->setMapping(ui->pushButton_2,1);
    m_pSignalMapper->setMapping(ui->pushButton_3,2);
    m_pSignalMapper->setMapping(ui->pushButton_4,3);
    m_pSignalMapper->setMapping(ui->pushButton_5,4);
    m_pSignalMapper->setMapping(ui->pushButton_6,5);
    m_pSignalMapper->setMapping(ui->pushButton_7,6);
    m_pSignalMapper->setMapping(ui->pushButton_8,7);
    m_pSignalMapper->setMapping(ui->pushButton_9,8);
    m_pSignalMapper->setMapping(ui->pushButton_10,9);


    connect(ui->pushButton_1,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
    connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
    connect(ui->pushButton_3,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
    connect(ui->pushButton_4,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
    connect(ui->pushButton_5,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
    connect(ui->pushButton_6,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
    connect(ui->pushButton_7,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
    connect(ui->pushButton_8,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
    connect(ui->pushButton_9,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
    connect(ui->pushButton_10,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));

    connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int)));
}

ConfigSoundSelelectDlg::~ConfigSoundSelelectDlg()
{
    delete ui;
}

void ConfigSoundSelelectDlg::on_ctrBtnOk_clicked()
{
    Config* cfg = Config::getInstance();
    config_item item;
    item.d32 = m_nCurSel;
    qDebug() << item.d32 << "cur sel  " << m_nCurSel;
    cfg->setConfigValue(m_nCfgType,item);
    accept();
}

void ConfigSoundSelelectDlg::on_ctrBtnCancel_clicked()
{
    reject();
}

void ConfigSoundSelelectDlg::reloadUi(){
    switch(m_nCurSel){
    case 1:
        ui->pushButton_2->setChecked(true);
        break;
    case 2:
        ui->pushButton_3->setChecked(true);
        break;
    case 3:
        ui->pushButton_4->setChecked(true);
        break;
    case 4:
        ui->pushButton_5->setChecked(true);
        break;
    case 5:
        ui->pushButton_6->setChecked(true);
        break;
    case 6:
        ui->pushButton_7->setChecked(true);
        break;
    case 7:
        ui->pushButton_8->setChecked(true);
        break;
    case 8:
        ui->pushButton_9->setChecked(true);
        break;
    case 9:
        ui->pushButton_10->setChecked(true);
        break;
    case 0:
    default:
        ui->pushButton_1->setChecked(true);
        break;
    }
}

void ConfigSoundSelelectDlg::onConfigBtnClicked(const int sel){
    m_nCurSel = sel;
}