#include "rm_eq_widget.h" #include #include #include "rm_button.h" #include "../rm_include.h" #include "rm_slider.h" #include "../core/rm_player.h" #include "../core/rm_language.h" #if (MODEL_BBVIEWER) RMEQWidget::RMEQWidget(QWidget *parent) : QWidget(parent) { #if (MODEL_WATEX) setFixedSize(202,167); setObjectName("eq_widget"); #else setFixedWidth(104); #endif layout = new QVBoxLayout(this); layout->setMargin(0); layout->setSpacing(0); layout->setAlignment(Qt::AlignCenter); // LINE // 再生速度 RMButton* speedButton = NULL; _addLine(MKU8("\xe5\x86\x8d\xe7\x94\x9f\xe9\x80\x9f\xe5\xba\xa6"),":/image/icon_pbspeed.png",&speedButton,0); RMLanguage::instance()->appendENGToolTip(speedButton,"Playback speed"); connect(speedButton,SIGNAL(clicked()),SLOT(onDefaultSpeed())); layout->addSpacerItem(new QSpacerItem(0,5)); RMButton* brightnessButton = NULL; _addLine(MKU8("\xe6\x98\x8e\xe3\x82\x8b\xe3\x81\x95"),":/image/icon_brightness.png",&brightnessButton,1); RMLanguage::instance()->appendENGToolTip(brightnessButton,"Brightness"); connect(brightnessButton,SIGNAL(clicked()),SLOT(onDefaultBrightness())); layout->addSpacerItem(new QSpacerItem(0,5)); RMButton* contrastButton = NULL; _addLine(MKU8("\xe3\x82\xb3\xe3\x83\xb3\xe3\x83\x88\xe3\x83\xa9\xe3\x82\xb9\xe3\x83\x88"),":/image/icon_contrast.png",&contrastButton,2); RMLanguage::instance()->appendENGToolTip(contrastButton,"Contrast"); connect(contrastButton,SIGNAL(clicked()),SLOT(onDefaultContrast())); RMPlayer* player = RMPlayer::instance(); player->setEQFrame(this); connect(brightnessSlider, SIGNAL(sliderPressed()),player, SLOT(onSetBrightness())); connect(brightnessSlider, SIGNAL(valueChanged(int)),player, SLOT(onSetBrightness())); connect(contrastSlider, SIGNAL(sliderPressed()),player, SLOT(onSetContrast())); connect(contrastSlider, SIGNAL(valueChanged(int)),player, SLOT(onSetContrast())); } void RMEQWidget::_addLine(QString toolTip,QString icon,RMButton** btn, int type) { #if (MODEL_WATEX) QSize buttonSize = QSize(32,32); int spacing = 10; int margin = 8; #else QSize buttonSize = QSize(25,25); int spacing = 0; int margin = 0; #endif QWidget* lineWidget = new QWidget(this); layout->addWidget(lineWidget); QHBoxLayout* lineLayout = new QHBoxLayout(lineWidget); lineLayout->setMargin(margin); lineLayout->setSpacing(spacing); RMButton* bn = RMButton::create(lineWidget,lineLayout,"",toolTip,buttonSize); bn->setIcon(QPixmap(icon)); bn->setIconSize(buttonSize); if(type == 0) { speedSlider = new RMReleasedSlider(lineWidget); speedSlider->setObjectName("normal"); speedSlider->setTickInterval(1); speedSlider->setValue(2); // 1.0 = 2 speedSlider->setRange(0,4); lineLayout->addWidget(speedSlider); //speedSlider->setTickPosition(QSlider::TicksBothSides); } else if (type == 1) { brightnessSlider = new RMSlider(lineWidget); brightnessSlider->setObjectName("normal"); brightnessSlider->setRange(0,100); brightnessSlider->setValue(50); lineLayout->addWidget(brightnessSlider); } else if (type == 2) { contrastSlider = new RMSlider(lineWidget); contrastSlider->setObjectName("normal"); contrastSlider->setRange(0,100); contrastSlider->setValue(50); lineLayout->addWidget(contrastSlider); } lineLayout->addSpacerItem(new QSpacerItem(10,0)); *btn = bn; } void RMEQWidget::paintEvent(QPaintEvent *pe) { Q_UNUSED(pe); QStyleOption o; o.initFrom(this); QPainter painter(this); style()->drawPrimitive(QStyle::PE_Widget, &o, &painter, this); } void RMEQWidget::onDefaultSpeed() { speedSlider->setValue(2); RMPlayer::instance()->updateSpeedForce(1.0); // emit speedSlider->sliderMoved(2); // emit speedSlider->sliderReleased(); //RMPlayer::instance()->updateSpeed(1.0); } void RMEQWidget::onDefaultBrightness() { brightnessSlider->setValue(50); } void RMEQWidget::onDefaultContrast() { contrastSlider->setValue(50); } #endif // #if (MODEL_BBVIEWER)