#include <QPushButton>
#include <QCheckBox>
#include <QScrollArea>
+#include <QScrollBar>
+#include <QProgressBar>
// For QDomNode debugging (output into files); leaving here as sample code.
//#define DEBUG_ESE
setFrameStyle(QFrame::NoFrame);
setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::MinimumExpanding));
- setStyleSheet(CollapsibleEffect::getStyleSheet(palette()));
+ setStyleSheet(CollapsibleEffect::getStyleSheet());
setWidget(m_baseWidget);
/*m_vbox = new QVBoxLayout(m_baseWidget);
m_vbox->setContentsMargins(0, 0, 0, 0);
void EffectStackEdit::updateParameter(const QString &name, const QString &value)
{
- m_params.setAttribute(name, value);
+ m_paramWidget->updateParameter(name, value);
if (name == "disable") {
// if effect is disabled, disable parameters widget
}
}
+bool EffectStackEdit::eventFilter( QObject * o, QEvent * e )
+{
+ if (e->type() == QEvent::Wheel) {
+ QWheelEvent *we = static_cast<QWheelEvent *>(e);
+ bool filterWheel = verticalScrollBar() && verticalScrollBar()->isVisible();
+ if (!filterWheel || we->modifiers() != Qt::NoModifier) {
+ e->accept();
+ return false;
+ }
+ if (qobject_cast<QAbstractSpinBox*>(o)) {
+ if(qobject_cast<QAbstractSpinBox*>(o)->focusPolicy() == Qt::WheelFocus)
+ {
+ e->accept();
+ return false;
+ }
+ else
+ {
+ e->ignore();
+ return true;
+ }
+ }
+ if (qobject_cast<KComboBox*>(o)) {
+ if(qobject_cast<KComboBox*>(o)->focusPolicy() == Qt::WheelFocus)
+ {
+ e->accept();
+ return false;
+ }
+ else
+ {
+ e->ignore();
+ return true;
+ }
+ }
+ if (qobject_cast<QProgressBar*>(o)) {
+ if(qobject_cast<QProgressBar*>(o)->focusPolicy() == Qt::WheelFocus)
+ {
+ e->accept();
+ return false;
+ }
+ else
+ {
+ e->ignore();
+ return true;
+ }
+ }
+ }
+ return QWidget::eventFilter(o, e);
+}
+
void EffectStackEdit::transferParamDesc(const QDomElement &d, ItemInfo info, bool /*isEffect*/)
{
if (m_paramWidget) delete m_paramWidget;
- m_paramWidget = new ParameterContainer(d, info, &m_metaInfo, 0, m_baseWidget);
+ m_paramWidget = new ParameterContainer(d, info, &m_metaInfo, m_baseWidget);
connect (m_paramWidget, SIGNAL(parameterChanged(const QDomElement, const QDomElement, int)), this, SIGNAL(parameterChanged(const QDomElement, const QDomElement, int)));
connect(m_paramWidget, SIGNAL(startFilterJob(QString,QString,QString,QString,QString,QString)), this, SIGNAL(startFilterJob(QString,QString,QString,QString,QString,QString)));
connect (this, SIGNAL(syncEffectsPos(int)), m_paramWidget, SIGNAL(syncEffectsPos(int)));
connect (m_paramWidget, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int)));
connect (m_paramWidget, SIGNAL(seekTimeline(int)), this, SIGNAL(seekTimeline(int)));
+
+
+ Q_FOREACH( QSpinBox * sp, m_baseWidget->findChildren<QSpinBox*>() ) {
+ sp->installEventFilter( this );
+ sp->setFocusPolicy( Qt::StrongFocus );
+ }
+ Q_FOREACH( KComboBox * cb, m_baseWidget->findChildren<KComboBox*>() ) {
+ cb->installEventFilter( this );
+ cb->setFocusPolicy( Qt::StrongFocus );
+ }
+ Q_FOREACH( QProgressBar * cb, m_baseWidget->findChildren<QProgressBar*>() ) {
+ cb->installEventFilter( this );
+ cb->setFocusPolicy( Qt::StrongFocus );
+ }
+
return;
/*
//clearAllItems();
emit syncEffectsPos(pos);
}
-void EffectStackEdit::slotStartFilterJobAction()
-{
- QDomNodeList namenode = m_params.elementsByTagName("parameter");
- for (int i = 0; i < namenode.count() ; i++) {
- QDomElement pa = namenode.item(i).toElement();
- QString type = pa.attribute("type");
- if (type == "filterjob") {
- emit startFilterJob(pa.attribute("filtertag"), pa.attribute("filterparams"), pa.attribute("finalfilter"), pa.attribute("consumer"), pa.attribute("consumerparams"), pa.attribute("wantedproperties"));
- kDebug()<<" - - -PROPS:\n"<<pa.attribute("filtertag")<<"-"<< pa.attribute("filterparams")<<"-"<< pa.attribute("consumer")<<"-"<< pa.attribute("consumerparams")<<"-"<< pa.attribute("wantedproperties");
- break;
- }
- }
-}