138 lines
4.2 KiB
C++
138 lines
4.2 KiB
C++
#include "rm_eq_widget.h"
|
|
#include <QStyleOption>
|
|
#include <QPainter>
|
|
#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)
|