#include "configfileprocessdlg.h" #include "ui_configfileprocessdlg.h" #include "config.h" #include "fileprocessdlg.h" #include "soundplayer.h" ConfigFileProcessDlg::ConfigFileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : QDialog(parent), ui(new Ui::ConfigFileProcessDlg) { Config* cfg = Config::getInstance(); ui->setupUi(this); setWindowFlags(Qt::FramelessWindowHint); setAttribute(Qt::WA_NoSystemBackground); setAttribute(Qt::WA_TranslucentBackground); setAttribute(Qt::WA_DeleteOnClose); qApp->setActiveWindow(this); this->setFocus(); foreach (QPushButton *button, findChildren()) connect(button, &QPushButton::pressed, SoundPlayer::playClick); m_bIsDown = isDown; if(type < config_invalid) { m_nCfgtype = type; ui->ctrLbTitle->setText(cfg->getTitleString(m_nCfgtype)); if(!isDown){ ui->ctrBtnOk->setStyleSheet(" QPushButton{ \ border-image : url(:/images/config/111_icon_upload.png);\ }\ QPushButton::pressed, QPushButton::focus{\ border-image : url(:/images/config/111_icon_upload.png);\ });"); } } } ConfigFileProcessDlg::~ConfigFileProcessDlg() { delete ui; } void ConfigFileProcessDlg::on_ctrBtnOk_clicked() { QDialog *dg; dg = new FileProcessDlg(parentWidget(),m_nCfgtype, m_bIsDown); dg->exec(); deleteLater(); } void ConfigFileProcessDlg::on_ctrBtnCancel_clicked() { deleteLater(); } void ConfigFileProcessDlg::keyPressEvent(QKeyEvent *event){ switch (event->key()) { case 0x01000030: // Turn left if(focusWidget() == ui->ctrBtnOk) ui->ctrBtnCancel->setFocus(); else ui->ctrBtnOk->setFocus(); break; case 0x01000031: // Push break; case 0x01000032: // Turn right if(focusWidget() == ui->ctrBtnOk) ui->ctrBtnCancel->setFocus(); else ui->ctrBtnOk->setFocus(); break; } } void ConfigFileProcessDlg::keyReleaseEvent(QKeyEvent *event){ switch (event->key()) { case 0x01000030: // Turn left if(focusWidget() == ui->ctrBtnOk) ui->ctrBtnCancel->setFocus(); else ui->ctrBtnOk->setFocus(); break; case 0x01000031: // Push { QPushButton *btn = qobject_cast(focusWidget()); if(btn != NULL){ btn->click(); } break; } case 0x01000032: // Turn right if(focusWidget() == ui->ctrBtnOk) ui->ctrBtnCancel->setFocus(); else ui->ctrBtnOk->setFocus(); break; } }