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