summaryrefslogtreecommitdiff
path: root/noncore/tools/remote/remotetab.cpp
authorpaule <paule>2007-01-28 09:03:16 (UTC)
committer paule <paule>2007-01-28 09:03:16 (UTC)
commit0db6862d81bd0444362fa6cd1edf0ae579639daa (patch) (unidiff)
tree0085f7c9aea9e9e9a7e041a3af9e7d8ac1799e48 /noncore/tools/remote/remotetab.cpp
parent67b8a6e01fd3e47227f8bafa21077506fa55568c (diff)
downloadopie-0db6862d81bd0444362fa6cd1edf0ae579639daa.zip
opie-0db6862d81bd0444362fa6cd1edf0ae579639daa.tar.gz
opie-0db6862d81bd0444362fa6cd1edf0ae579639daa.tar.bz2
More fixes for remote selection
Diffstat (limited to 'noncore/tools/remote/remotetab.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/tools/remote/remotetab.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/noncore/tools/remote/remotetab.cpp b/noncore/tools/remote/remotetab.cpp
index 45995fd..c89d8c2 100644
--- a/noncore/tools/remote/remotetab.cpp
+++ b/noncore/tools/remote/remotetab.cpp
@@ -6,96 +6,104 @@ This program is free software; you can redistribute it and/or modify it under th
6License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later 6License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later
7version. 7version.
8 8
9This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the 9This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
10implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 10implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11Public License for more details. 11Public License for more details.
12 12
13You should have received a copy of the GNU General Public License along with this program; if not, write to the Free 13You should have received a copy of the GNU General Public License along with this program; if not, write to the Free
14Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 14Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15*/ 15*/
16 16
17#include <qmessagebox.h> 17#include <qmessagebox.h>
18 18
19#include "remotetab.h" 19#include "remotetab.h"
20#include "lirchandler.h" 20#include "lirchandler.h"
21 21
22RemoteTab::RemoteTab(QWidget *parent, const char *name):QWidget(parent,name) 22RemoteTab::RemoteTab(QWidget *parent, const char *name):QWidget(parent,name)
23{ 23{
24 QVBoxLayout *layout = new QVBoxLayout(this); 24 QVBoxLayout *layout = new QVBoxLayout(this);
25 25
26 topGroup = new TopGroup(this); 26 topGroup = new TopGroup(this);
27 //topGroup->setMaximumHeight(22); 27 //topGroup->setMaximumHeight(22);
28 layout->addWidget(topGroup, 0, 0); 28 layout->addWidget(topGroup, 0, 0);
29 printf("%d %d", topGroup->width(), topGroup->height()); 29 printf("%d %d", topGroup->width(), topGroup->height());
30 30
31 layout->addSpacing(1); 31 layout->addSpacing(1);
32 32
33 dvdGroup = new DVDGroup(this); 33 dvdGroup = new DVDGroup(this);
34 //dvdGroup->setMaximumHeight(68); 34 //dvdGroup->setMaximumHeight(68);
35 layout->addWidget(dvdGroup, 0, 0); 35 layout->addWidget(dvdGroup, 0, 0);
36 36
37 layout->addSpacing(1); 37 layout->addSpacing(1);
38 38
39 vcrGroup = new VCRGroup(this); 39 vcrGroup = new VCRGroup(this);
40 layout->addWidget(vcrGroup, 0, 0); 40 layout->addWidget(vcrGroup, 0, 0);
41 //vcrGroup->setMaximumHeight(45); 41 //vcrGroup->setMaximumHeight(45);
42 42
43 layout->addSpacing(1); 43 layout->addSpacing(1);
44 44
45 channelGroup = new ChannelGroup(this); 45 channelGroup = new ChannelGroup(this);
46 //channelGroup->setMaximumHeight(91); 46 //channelGroup->setMaximumHeight(91);
47 layout->addWidget(channelGroup, 0, 0); 47 layout->addWidget(channelGroup, 0, 0);
48 48
49 this->setMaximumWidth(240); 49 this->setMaximumWidth(240);
50} 50}
51 51
52int RemoteTab::sendIR() 52int RemoteTab::sendIR()
53{ 53{
54 QString curr_remote = topGroup->getRemotesText();
55 if(curr_remote != "")
56 cfg->setGroup(curr_remote);
57 else {
58 QMessageBox::warning(this, tr("Error"), tr("Please select or create\na remote layout"), QMessageBox::Ok, QMessageBox::NoButton);
59 return 0;
60 }
61
54 const QObject *button = sender(); 62 const QObject *button = sender();
55 QString string = cfg->readEntry(button->name()); 63 QString string = cfg->readEntry(button->name());
56 if(string != "") { 64 if(string != "") {
57 string+='\n'; 65 string+='\n';
58 LircHandler lh; 66 LircHandler lh;
59 return lh.sendIR(string.latin1()); 67 return lh.sendIR(string.latin1());
60 } 68 }
61 else { 69 else {
62 QMessageBox::warning(this, tr("Error"), tr("This button has not\nbeen configured"), QMessageBox::Ok, QMessageBox::NoButton); 70 QMessageBox::warning(this, tr("Error"), tr("This button has not\nbeen configured"), QMessageBox::Ok, QMessageBox::NoButton);
63 return 0; 71 return 0;
64 } 72 }
65} 73}
66 74
67void RemoteTab::setConfig(Config *newCfg) 75void RemoteTab::setConfig(Config *newCfg)
68{ 76{
69 cfg = newCfg; 77 cfg = newCfg;
70 cfg->setGroup("Remotes"); 78 cfg->setGroup("Remotes");
71 topGroup->updateRemotes(cfg); 79 topGroup->updateRemotes(cfg);
72 80
73 QString curr_remote = topGroup->getRemotesText(); 81 QString curr_remote = topGroup->getRemotesText();
74 if(curr_remote != "") 82 if(curr_remote != "")
75 remoteSelected(curr_remote); 83 remoteSelected(curr_remote);
76} 84}
77 85
78void RemoteTab::remoteSelected(const QString &string) 86void RemoteTab::remoteSelected(const QString &string)
79{ 87{
80 printf("1%s\n", string.latin1() ); 88 printf("1%s\n", string.latin1() );
81 cfg->setGroup(string); 89 cfg->setGroup(string);
82 const QObject *obj; 90 const QObject *obj;
83 91
84 const QObjectList *objList = topGroup->children(); 92 const QObjectList *objList = topGroup->children();
85 for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) 93 for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next())
86 { 94 {
87 if(obj->inherits("QPushButton")) 95 if(obj->inherits("QPushButton"))
88 { 96 {
89 if(cfg->hasKey((QString)obj->name()+"Label")) 97 if(cfg->hasKey((QString)obj->name()+"Label"))
90 { 98 {
91 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); 99 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") );
92 } 100 }
93 else 101 else
94 { 102 {
95 cfg->setGroup("Default"); 103 cfg->setGroup("Default");
96 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); 104 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") );
97 cfg->setGroup(string); 105 cfg->setGroup(string);
98 } 106 }
99 } 107 }
100 } 108 }
101 109
@@ -112,49 +120,53 @@ void RemoteTab::remoteSelected(const QString &string)
112 { 120 {
113 cfg->setGroup("Default"); 121 cfg->setGroup("Default");
114 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); 122 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") );
115 cfg->setGroup(string); 123 cfg->setGroup(string);
116 } 124 }
117 } 125 }
118 } 126 }
119 127
120 objList = vcrGroup->children(); 128 objList = vcrGroup->children();
121 for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) 129 for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next())
122 { 130 {
123 if(obj->inherits("QPushButton")) 131 if(obj->inherits("QPushButton"))
124 { 132 {
125 if(cfg->hasKey((QString)obj->name()+"Label")) 133 if(cfg->hasKey((QString)obj->name()+"Label"))
126 { 134 {
127 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); 135 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") );
128 } 136 }
129 else 137 else
130 { 138 {
131 cfg->setGroup("Default"); 139 cfg->setGroup("Default");
132 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); 140 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") );
133 cfg->setGroup(string); 141 cfg->setGroup(string);
134 } 142 }
135 } 143 }
136 } 144 }
137 145
138 objList = channelGroup->children(); 146 objList = channelGroup->children();
139 for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) 147 for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next())
140 { 148 {
141 if(obj->inherits("QPushButton")) 149 if(obj->inherits("QPushButton"))
142 { 150 {
143 if(cfg->hasKey((QString)obj->name()+"Label")) 151 if(cfg->hasKey((QString)obj->name()+"Label"))
144 { 152 {
145 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); 153 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") );
146 } 154 }
147 else 155 else
148 { 156 {
149 cfg->setGroup("Default"); 157 cfg->setGroup("Default");
150 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); 158 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") );
151 cfg->setGroup(string); 159 cfg->setGroup(string);
152 } 160 }
153 } 161 }
154 } 162 }
155} 163}
156 164
157void RemoteTab::updateRemotesList() 165void RemoteTab::updateRemotesList()
158{ 166{
159 topGroup->updateRemotes(cfg); 167 topGroup->updateRemotes(cfg);
168
169 QString curr_remote = topGroup->getRemotesText();
170 if(curr_remote != "")
171 remoteSelected(curr_remote);
160} 172}