annotate widgets/ItemAudioFilterList.cpp @ 183:2e81141893db

resolve problem with hide and show action of the PropertyBox
author lbajardsilogic
date Fri, 23 Nov 2007 11:18:39 +0000
parents 7386cd014f52
children 74d1b3bda5a3
rev   line source
benoitrigolleau@73 1
benoitrigolleau@73 2 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
benoitrigolleau@73 3
benoitrigolleau@73 4 /*
benoitrigolleau@73 5 Sound Access
benoitrigolleau@73 6 EASAIER client application.
benoitrigolleau@73 7 Silogic 2007. Benoit Rigolleau.
benoitrigolleau@73 8
benoitrigolleau@73 9 This program is free software; you can redistribute it and/or
benoitrigolleau@73 10 modify it under the terms of the GNU General Public License as
benoitrigolleau@73 11 published by the Free Software Foundation; either version 2 of the
benoitrigolleau@73 12 License, or (at your option) any later version. See the file
benoitrigolleau@73 13 COPYING included with this distribution for more information.
benoitrigolleau@73 14 */
benoitrigolleau@73 15
benoitrigolleau@73 16 #include "ItemAudioFilterList.h"
benoitrigolleau@73 17
benoitrigolleau@73 18 #include "data/model/LayerItemModel.h"
benoitrigolleau@73 19
benoitrigolleau@73 20 #include <QWidget>
benoitrigolleau@73 21
benoitrigolleau@73 22 #include <QApplication>
benoitrigolleau@73 23 #include <QLabel>
benoitrigolleau@73 24
benoitrigolleau@73 25
lbajardsilogic@79 26 ItemAudioFilterList::ItemAudioFilterList(QWidget *parent) : GenericItemList(parent),
lbajardsilogic@79 27 m_propertyBox(0),
lbajardsilogic@79 28 m_container(0)
lbajardsilogic@79 29 {
benoitrigolleau@73 30 setAcceptDrops(true);
benoitrigolleau@73 31
benoitrigolleau@73 32 /* Init all variables*/
benoitrigolleau@73 33 m_labelIcon = new QLabel;
benoitrigolleau@73 34 m_labelName = new QLabel;
benoitrigolleau@73 35 m_checkBoxPlay = new QCheckBox;
benoitrigolleau@73 36 m_layoutMain = new QHBoxLayout;
benoitrigolleau@73 37
benoitrigolleau@73 38 /* set the correct widget parameters*/
benoitrigolleau@73 39 m_labelIcon->setMaximumSize(25,25);
benoitrigolleau@73 40 //labelIcon->setPixmap(QIcon(":icons/layerViewer_btn_config.png").pixmap(20));
benoitrigolleau@73 41
benoitrigolleau@73 42 m_labelName->setMaximumHeight(25);
benoitrigolleau@73 43 //labelName->setText("ljdh lksdf hl");
benoitrigolleau@73 44
benoitrigolleau@88 45 m_checkBoxPlay->setLayoutDirection(Qt::RightToLeft);
benoitrigolleau@73 46 m_checkBoxPlay->setMaximumSize(30,30);
benoitrigolleau@73 47
benoitrigolleau@73 48 m_layoutMain->setSpacing(5);
benoitrigolleau@73 49 m_layoutMain->setMargin(0);
benoitrigolleau@73 50
benoitrigolleau@73 51 this->setMaximumHeight(30);
benoitrigolleau@73 52 this->setMinimumHeight(30);
benoitrigolleau@73 53 this->setFrameStyle(QFrame::Panel | QFrame::Raised);
benoitrigolleau@73 54 this->setLineWidth(1);
benoitrigolleau@73 55
benoitrigolleau@73 56 /* build the interface*/
benoitrigolleau@73 57 m_layoutMain->addWidget(m_checkBoxPlay);
benoitrigolleau@73 58 m_layoutMain->addWidget(m_labelIcon);
benoitrigolleau@73 59 m_layoutMain->addWidget(m_labelName);
benoitrigolleau@73 60
benoitrigolleau@73 61 /*add the main layout in this widget*/
benoitrigolleau@73 62 this->setLayout(m_layoutMain);
benoitrigolleau@73 63
benoitrigolleau@73 64 connect(this, SIGNAL(doubleClicked()), this, SLOT(openPropertyBox()));
benoitrigolleau@73 65 }
benoitrigolleau@73 66
benoitrigolleau@133 67 ItemAudioFilterList::~ItemAudioFilterList(){
benoitrigolleau@133 68 if(m_propertyBox){
benoitrigolleau@133 69 m_propertyBox->close();
benoitrigolleau@133 70 delete m_propertyBox;
benoitrigolleau@133 71 }
benoitrigolleau@133 72
benoitrigolleau@133 73 }
benoitrigolleau@133 74
benoitrigolleau@73 75 void ItemAudioFilterList::setIcon(QString &icon){
benoitrigolleau@73 76 m_labelIcon->setPixmap(QIcon(icon).pixmap(25));
benoitrigolleau@73 77 }
benoitrigolleau@73 78
benoitrigolleau@73 79 void ItemAudioFilterList::setName(QString &name){
benoitrigolleau@73 80 m_labelName->setText(name);
benoitrigolleau@73 81 }
benoitrigolleau@73 82
benoitrigolleau@73 83
benoitrigolleau@73 84 void ItemAudioFilterList::changeCheckBoxPlayState(bool state){
benoitrigolleau@73 85 m_checkBoxPlay->setChecked(state);
benoitrigolleau@73 86 }
benoitrigolleau@73 87
benoitrigolleau@73 88 void ItemAudioFilterList::setPropertyBox(PropertyBox *box){
benoitrigolleau@73 89 m_propertyBox = box;
benoitrigolleau@73 90 if(m_propertyBox!=0){
benoitrigolleau@88 91 m_container = (Filter *) m_propertyBox->container();
benoitrigolleau@88 92 updateCheckboxs();
benoitrigolleau@88 93 connect(m_propertyBox, SIGNAL(showLayer(bool)), this, SLOT(showLayer(bool)));
benoitrigolleau@73 94
benoitrigolleau@73 95 }
benoitrigolleau@73 96 }
benoitrigolleau@73 97
benoitrigolleau@73 98 void ItemAudioFilterList::configAction(){
benoitrigolleau@73 99 if(m_propertyBox!=0){
lbajardsilogic@183 100 m_propertyBox->showNormal();
benoitrigolleau@73 101 }
benoitrigolleau@73 102 }
benoitrigolleau@73 103
benoitrigolleau@73 104
benoitrigolleau@73 105 /*********SLOTS ************/
benoitrigolleau@73 106 void ItemAudioFilterList::openPropertyBox(){
benoitrigolleau@73 107 ItemAudioFilterList::configAction();
benoitrigolleau@73 108 }
benoitrigolleau@73 109
benoitrigolleau@88 110 void ItemAudioFilterList::updateCheckboxs(){
benoitrigolleau@88 111
benoitrigolleau@73 112 m_checkBoxPlay->setEnabled(true);
benoitrigolleau@88 113 m_checkBoxPlay->setChecked(m_container->isFilterEnabled());
benoitrigolleau@88 114
benoitrigolleau@88 115 connect(m_container, SIGNAL(filterEnableChanged(bool)),m_checkBoxPlay, SLOT(setState(bool)));
benoitrigolleau@88 116 connect(m_checkBoxPlay, SIGNAL(stateChanged(int)),m_container, SLOT(setFilterEnabled(int)));
benoitrigolleau@73 117 }
benoitrigolleau@73 118
benoitrigolleau@73 119
benoitrigolleau@73 120
benoitrigolleau@73 121
benoitrigolleau@73 122
benoitrigolleau@73 123
benoitrigolleau@73 124