annotate widgets/ItemAudioFilterList.cpp @ 73:a5d941805d45

widgets for the audio filter list
author benoitrigolleau
date Wed, 13 Jun 2007 14:07:29 +0000
parents
children afcf540ae3a2
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 #include "layer/Layer.h"
benoitrigolleau@73 20 #include "base/PlayParameters.h"
benoitrigolleau@73 21
benoitrigolleau@73 22 #include <QWidget>
benoitrigolleau@73 23
benoitrigolleau@73 24 #include <QApplication>
benoitrigolleau@73 25 #include <QLabel>
benoitrigolleau@73 26
benoitrigolleau@73 27
benoitrigolleau@73 28 ItemAudioFilterList::ItemAudioFilterList(QWidget *parent) : GenericItemList(parent){
benoitrigolleau@73 29 setAcceptDrops(true);
benoitrigolleau@73 30
benoitrigolleau@73 31 /* Init all variables*/
benoitrigolleau@73 32 m_labelIcon = new QLabel;
benoitrigolleau@73 33 m_labelName = new QLabel;
benoitrigolleau@73 34 m_checkBoxPlay = new QCheckBox;
benoitrigolleau@73 35 m_layoutMain = new QHBoxLayout;
benoitrigolleau@73 36
benoitrigolleau@73 37 /* set the correct widget parameters*/
benoitrigolleau@73 38 m_labelIcon->setMaximumSize(25,25);
benoitrigolleau@73 39 //labelIcon->setPixmap(QIcon(":icons/layerViewer_btn_config.png").pixmap(20));
benoitrigolleau@73 40
benoitrigolleau@73 41 m_labelName->setMaximumHeight(25);
benoitrigolleau@73 42 //labelName->setText("ljdh lksdf hl");
benoitrigolleau@73 43
benoitrigolleau@73 44 m_checkBoxPlay->setMaximumSize(30,30);
benoitrigolleau@73 45
benoitrigolleau@73 46 m_layoutMain->setSpacing(5);
benoitrigolleau@73 47 m_layoutMain->setMargin(0);
benoitrigolleau@73 48
benoitrigolleau@73 49 this->setMaximumHeight(30);
benoitrigolleau@73 50 this->setMinimumHeight(30);
benoitrigolleau@73 51 this->setFrameStyle(QFrame::Panel | QFrame::Raised);
benoitrigolleau@73 52 this->setLineWidth(1);
benoitrigolleau@73 53
benoitrigolleau@73 54 /* build the interface*/
benoitrigolleau@73 55 m_layoutMain->addWidget(m_checkBoxPlay);
benoitrigolleau@73 56 m_layoutMain->addWidget(m_labelIcon);
benoitrigolleau@73 57 m_layoutMain->addWidget(m_labelName);
benoitrigolleau@73 58
benoitrigolleau@73 59 /*add the main layout in this widget*/
benoitrigolleau@73 60 this->setLayout(m_layoutMain);
benoitrigolleau@73 61
benoitrigolleau@73 62 connect(this, SIGNAL(doubleClicked()), this, SLOT(openPropertyBox()));
benoitrigolleau@73 63 }
benoitrigolleau@73 64
benoitrigolleau@73 65 void ItemAudioFilterList::setIcon(QString &icon){
benoitrigolleau@73 66 m_labelIcon->setPixmap(QIcon(icon).pixmap(25));
benoitrigolleau@73 67 }
benoitrigolleau@73 68
benoitrigolleau@73 69 void ItemAudioFilterList::setName(QString &name){
benoitrigolleau@73 70 m_labelName->setText(name);
benoitrigolleau@73 71 }
benoitrigolleau@73 72
benoitrigolleau@73 73
benoitrigolleau@73 74 void ItemAudioFilterList::changeCheckBoxPlayState(bool state){
benoitrigolleau@73 75 m_checkBoxPlay->setChecked(state);
benoitrigolleau@73 76 }
benoitrigolleau@73 77
benoitrigolleau@73 78 void ItemAudioFilterList::setPropertyBox(PropertyBox *box){
benoitrigolleau@73 79 m_propertyBox = box;
benoitrigolleau@73 80 if(m_propertyBox!=0){
benoitrigolleau@73 81
benoitrigolleau@73 82 m_container = m_propertyBox->container();
benoitrigolleau@73 83
benoitrigolleau@73 84
benoitrigolleau@73 85 updateCheckboxs();
benoitrigolleau@73 86 connect(m_propertyBox, SIGNAL(showLayer(bool)), this, SLOT(showLayer(bool)));
benoitrigolleau@73 87 }
benoitrigolleau@73 88
benoitrigolleau@73 89 //connect();
benoitrigolleau@73 90 }
benoitrigolleau@73 91
benoitrigolleau@73 92 void ItemAudioFilterList::configAction(){
benoitrigolleau@73 93 if(m_propertyBox!=0){
benoitrigolleau@73 94 m_propertyBox->close();
benoitrigolleau@73 95 m_propertyBox->show();
benoitrigolleau@73 96 }
benoitrigolleau@73 97 }
benoitrigolleau@73 98
benoitrigolleau@73 99
benoitrigolleau@73 100 /*********SLOTS ************/
benoitrigolleau@73 101 void ItemAudioFilterList::openPropertyBox(){
benoitrigolleau@73 102 ItemAudioFilterList::configAction();
benoitrigolleau@73 103 }
benoitrigolleau@73 104
benoitrigolleau@73 105 void ItemAudioFilterList::updateCheckboxs(){
benoitrigolleau@73 106
benoitrigolleau@73 107 PlayParameters *params = m_container->getPlayParameters();
benoitrigolleau@73 108
benoitrigolleau@73 109 if(params){
benoitrigolleau@73 110 m_checkBoxPlay->setEnabled(true);
benoitrigolleau@73 111 m_checkBoxPlay->setChecked(!params->isPlayMuted());
benoitrigolleau@73 112
benoitrigolleau@73 113 connect(params, SIGNAL(playAudibleChanged(bool)),m_checkBoxPlay, SLOT(setState(bool)));
benoitrigolleau@73 114 connect(m_checkBoxPlay, SIGNAL(stateChanged(int)),params, SLOT(setPlayAudible(int)));
benoitrigolleau@73 115 }else{
benoitrigolleau@73 116 m_checkBoxPlay->setEnabled(false);
benoitrigolleau@73 117 }
benoitrigolleau@73 118 }
benoitrigolleau@73 119
benoitrigolleau@73 120
benoitrigolleau@73 121
benoitrigolleau@73 122
benoitrigolleau@73 123
benoitrigolleau@73 124
benoitrigolleau@73 125