benoitrigolleau@73: benoitrigolleau@73: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ benoitrigolleau@73: benoitrigolleau@73: /* benoitrigolleau@73: Sound Access benoitrigolleau@73: EASAIER client application. benoitrigolleau@73: Silogic 2007. Benoit Rigolleau. benoitrigolleau@73: benoitrigolleau@73: This program is free software; you can redistribute it and/or benoitrigolleau@73: modify it under the terms of the GNU General Public License as benoitrigolleau@73: published by the Free Software Foundation; either version 2 of the benoitrigolleau@73: License, or (at your option) any later version. See the file benoitrigolleau@73: COPYING included with this distribution for more information. benoitrigolleau@73: */ benoitrigolleau@73: benoitrigolleau@73: #include "ItemAudioFilterList.h" benoitrigolleau@73: benoitrigolleau@73: #include "data/model/LayerItemModel.h" benoitrigolleau@73: benoitrigolleau@73: #include benoitrigolleau@73: benoitrigolleau@73: #include benoitrigolleau@73: #include benoitrigolleau@73: benoitrigolleau@73: lbajardsilogic@79: ItemAudioFilterList::ItemAudioFilterList(QWidget *parent) : GenericItemList(parent), lbajardsilogic@79: m_propertyBox(0), lbajardsilogic@79: m_container(0) lbajardsilogic@79: { benoitrigolleau@73: setAcceptDrops(true); benoitrigolleau@73: benoitrigolleau@73: /* Init all variables*/ benoitrigolleau@73: m_labelIcon = new QLabel; benoitrigolleau@73: m_labelName = new QLabel; benoitrigolleau@73: m_checkBoxPlay = new QCheckBox; benoitrigolleau@73: m_layoutMain = new QHBoxLayout; benoitrigolleau@73: benoitrigolleau@73: /* set the correct widget parameters*/ benoitrigolleau@73: m_labelIcon->setMaximumSize(25,25); benoitrigolleau@73: //labelIcon->setPixmap(QIcon(":icons/layerViewer_btn_config.png").pixmap(20)); benoitrigolleau@73: benoitrigolleau@73: m_labelName->setMaximumHeight(25); benoitrigolleau@73: //labelName->setText("ljdh lksdf hl"); benoitrigolleau@73: benoitrigolleau@88: m_checkBoxPlay->setLayoutDirection(Qt::RightToLeft); benoitrigolleau@73: m_checkBoxPlay->setMaximumSize(30,30); benoitrigolleau@73: benoitrigolleau@73: m_layoutMain->setSpacing(5); benoitrigolleau@73: m_layoutMain->setMargin(0); benoitrigolleau@73: benoitrigolleau@73: this->setMaximumHeight(30); benoitrigolleau@73: this->setMinimumHeight(30); benoitrigolleau@73: this->setFrameStyle(QFrame::Panel | QFrame::Raised); benoitrigolleau@73: this->setLineWidth(1); benoitrigolleau@73: benoitrigolleau@73: /* build the interface*/ benoitrigolleau@73: m_layoutMain->addWidget(m_checkBoxPlay); benoitrigolleau@73: m_layoutMain->addWidget(m_labelIcon); benoitrigolleau@73: m_layoutMain->addWidget(m_labelName); benoitrigolleau@73: benoitrigolleau@73: /*add the main layout in this widget*/ benoitrigolleau@73: this->setLayout(m_layoutMain); benoitrigolleau@73: benoitrigolleau@73: connect(this, SIGNAL(doubleClicked()), this, SLOT(openPropertyBox())); lbajardsilogic@203: benoitrigolleau@73: } benoitrigolleau@73: benoitrigolleau@133: ItemAudioFilterList::~ItemAudioFilterList(){ benoitrigolleau@133: if(m_propertyBox){ benoitrigolleau@133: m_propertyBox->close(); benoitrigolleau@133: delete m_propertyBox; benoitrigolleau@133: } benoitrigolleau@133: benoitrigolleau@133: } benoitrigolleau@133: benoitrigolleau@73: void ItemAudioFilterList::setIcon(QString &icon){ benoitrigolleau@73: m_labelIcon->setPixmap(QIcon(icon).pixmap(25)); benoitrigolleau@73: } benoitrigolleau@73: benoitrigolleau@73: void ItemAudioFilterList::setName(QString &name){ benoitrigolleau@73: m_labelName->setText(name); benoitrigolleau@73: } benoitrigolleau@73: benoitrigolleau@73: benoitrigolleau@73: void ItemAudioFilterList::changeCheckBoxPlayState(bool state){ benoitrigolleau@73: m_checkBoxPlay->setChecked(state); benoitrigolleau@73: } benoitrigolleau@73: benoitrigolleau@73: void ItemAudioFilterList::setPropertyBox(PropertyBox *box){ benoitrigolleau@73: m_propertyBox = box; benoitrigolleau@73: if(m_propertyBox!=0){ lbajardsilogic@223: m_container = m_propertyBox->container(); lbajardsilogic@225: updateCheckboxs("Enable"); benoitrigolleau@88: connect(m_propertyBox, SIGNAL(showLayer(bool)), this, SLOT(showLayer(bool))); lbajardsilogic@203: connect(m_checkBoxPlay, SIGNAL(stateChanged(int)),m_container, SLOT(setFilterEnabled(int))); lbajardsilogic@225: connect(m_container, SIGNAL(propertyChanged(PropertyContainer::PropertyName)),this, SLOT(updateCheckboxs(PropertyContainer::PropertyName))); benoitrigolleau@73: } benoitrigolleau@73: } benoitrigolleau@73: benoitrigolleau@73: void ItemAudioFilterList::configAction(){ benoitrigolleau@73: if(m_propertyBox!=0){ lbajardsilogic@183: m_propertyBox->showNormal(); benoitrigolleau@73: } benoitrigolleau@73: } benoitrigolleau@73: benoitrigolleau@73: benoitrigolleau@73: /*********SLOTS ************/ benoitrigolleau@73: void ItemAudioFilterList::openPropertyBox(){ benoitrigolleau@73: ItemAudioFilterList::configAction(); benoitrigolleau@73: } benoitrigolleau@73: lbajardsilogic@225: void ItemAudioFilterList::updateCheckboxs(PropertyContainer::PropertyName name){ benoitrigolleau@88: lbajardsilogic@225: if (name == "Enable") lbajardsilogic@225: { lbajardsilogic@225: int enable = m_container->getPropertyRangeAndValue(name,0,0,0); lbajardsilogic@225: m_checkBoxPlay->setChecked(enable); lbajardsilogic@225: } benoitrigolleau@73: } benoitrigolleau@73: benoitrigolleau@73: benoitrigolleau@73: benoitrigolleau@73: benoitrigolleau@73: benoitrigolleau@73: benoitrigolleau@73: