author | paule <paule> | 2007-01-28 06:46:41 (UTC) |
---|---|---|
committer | paule <paule> | 2007-01-28 06:46:41 (UTC) |
commit | 832877eac027c4593c7bd6079edb38ccd76fac95 (patch) (unidiff) | |
tree | 5c7536836b82981d6f4431d2199abbf762dd41e8 | |
parent | a70f2692462053c1b76f990919f698a2eaa56fb5 (diff) | |
download | opie-832877eac027c4593c7bd6079edb38ccd76fac95.zip opie-832877eac027c4593c7bd6079edb38ccd76fac95.tar.gz opie-832877eac027c4593c7bd6079edb38ccd76fac95.tar.bz2 |
Correctly select first remote upon loading configuration; pass current button action to button dialog; show error if user clicks on New without first typing a new name; show error if user clicks New with Remotes as a name
-rw-r--r-- | noncore/tools/remote/configtab.cpp | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/noncore/tools/remote/configtab.cpp b/noncore/tools/remote/configtab.cpp index 17cdc6a..ebfba2e 100644 --- a/noncore/tools/remote/configtab.cpp +++ b/noncore/tools/remote/configtab.cpp | |||
@@ -52,167 +52,187 @@ void ConfigTab::setConfig(Config *newCfg) | |||
52 | { | 52 | { |
53 | if(obj->inherits("QPushButton")) | 53 | if(obj->inherits("QPushButton")) |
54 | { | 54 | { |
55 | if(!cfg->hasKey((QString)obj->name()+"Label")) | 55 | if(!cfg->hasKey((QString)obj->name()+"Label")) |
56 | { | 56 | { |
57 | cfg->writeEntry((QString)obj->name()+"Label", ((QPushButton *)obj)->text()); | 57 | cfg->writeEntry((QString)obj->name()+"Label", ((QPushButton *)obj)->text()); |
58 | } | 58 | } |
59 | } | 59 | } |
60 | } | 60 | } |
61 | 61 | ||
62 | objList = dvdGroupConf->children(); | 62 | objList = dvdGroupConf->children(); |
63 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) | 63 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) |
64 | { | 64 | { |
65 | if(obj->inherits("QPushButton")) | 65 | if(obj->inherits("QPushButton")) |
66 | { | 66 | { |
67 | if(!cfg->hasKey((QString)obj->name()+"Label")) | 67 | if(!cfg->hasKey((QString)obj->name()+"Label")) |
68 | { | 68 | { |
69 | cfg->writeEntry((QString)obj->name()+"Label", ((QPushButton *)obj)->text()); | 69 | cfg->writeEntry((QString)obj->name()+"Label", ((QPushButton *)obj)->text()); |
70 | } | 70 | } |
71 | } | 71 | } |
72 | } | 72 | } |
73 | 73 | ||
74 | objList = vcrGroupConf->children(); | 74 | objList = vcrGroupConf->children(); |
75 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) | 75 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) |
76 | { | 76 | { |
77 | if(obj->inherits("QPushButton")) | 77 | if(obj->inherits("QPushButton")) |
78 | { | 78 | { |
79 | if(!cfg->hasKey((QString)obj->name()+"Label")) | 79 | if(!cfg->hasKey((QString)obj->name()+"Label")) |
80 | { | 80 | { |
81 | cfg->writeEntry((QString)obj->name()+"Label", ((QPushButton *)obj)->text()); | 81 | cfg->writeEntry((QString)obj->name()+"Label", ((QPushButton *)obj)->text()); |
82 | } | 82 | } |
83 | } | 83 | } |
84 | } | 84 | } |
85 | 85 | ||
86 | objList = channelGroupConf->children(); | 86 | objList = channelGroupConf->children(); |
87 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) | 87 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) |
88 | { | 88 | { |
89 | if(obj->inherits("QPushButton")) | 89 | if(obj->inherits("QPushButton")) |
90 | { | 90 | { |
91 | if(!cfg->hasKey((QString)obj->name()+"Label")) | 91 | if(!cfg->hasKey((QString)obj->name()+"Label")) |
92 | { | 92 | { |
93 | cfg->writeEntry((QString)obj->name()+"Label", ((QPushButton *)obj)->text()); | 93 | cfg->writeEntry((QString)obj->name()+"Label", ((QPushButton *)obj)->text()); |
94 | } | 94 | } |
95 | } | 95 | } |
96 | } | 96 | } |
97 | cfg->write(); | 97 | cfg->write(); |
98 | 98 | ||
99 | cfg->setGroup("Remotes"); | 99 | cfg->setGroup("Remotes"); |
100 | |||
101 | QString curr_remote = topGroupConf->getRemotesText(); | ||
102 | if(curr_remote != "") | ||
103 | remoteSelected(curr_remote); | ||
100 | } | 104 | } |
101 | /* | 105 | /* |
102 | void ConfigTab::savePressed() | 106 | void ConfigTab::savePressed() |
103 | { | 107 | { |
104 | cfg->setGroup(remotes->currentText()); | 108 | cfg->setGroup(remotes->currentText()); |
105 | ButtonDialog *bd = new ButtonDialog(this, "BD", true, 0); | 109 | ButtonDialog *bd = new ButtonDialog(this, "BD", true, 0); |
106 | if( bd->exec() == 1) | 110 | if( bd->exec() == 1) |
107 | { | 111 | { |
108 | printf("%s\n", bd->getList().join(" ").latin1()); | 112 | printf("%s\n", bd->getList().join(" ").latin1()); |
109 | } | 113 | } |
110 | } | 114 | } |
111 | */ | 115 | */ |
112 | 116 | ||
113 | void ConfigTab::newPressed() | 117 | void ConfigTab::newPressed() |
114 | { | 118 | { |
115 | QStringList list; | 119 | QStringList list; |
116 | cfg->setGroup("Remotes"); | 120 | QString newname = topGroupConf->getRemotesText(); |
117 | list=cfg->readListEntry("remoteList", ','); | 121 | if(newname=="Remotes") |
118 | list+=topGroupConf->getRemotesText(); | 122 | QMessageBox::warning(this, tr("Error"), tr("The name 'Remotes' is not allowed"), QMessageBox::Ok, QMessageBox::NoButton); |
119 | cfg->writeEntry("remoteList", list, ','); | 123 | else { |
120 | cfg->setGroup(topGroupConf->getRemotesText()); | 124 | cfg->setGroup("Remotes"); |
121 | topGroupConf->updateRemotes(QStringList(topGroupConf->getRemotesText()) ); | 125 | list=cfg->readListEntry("remoteList", ','); |
122 | cfg->write(); | 126 | if(list.findIndex(newname) == -1) { |
123 | emit remotesChanged(); | 127 | list+=newname; |
124 | remoteSelected(topGroupConf->getRemotesText()); | 128 | cfg->writeEntry("remoteList", list, ','); |
129 | cfg->setGroup(newname); | ||
130 | topGroupConf->updateRemotes(QStringList(newname) ); | ||
131 | cfg->write(); | ||
132 | emit remotesChanged(); | ||
133 | remoteSelected(newname); | ||
134 | } | ||
135 | else { | ||
136 | QMessageBox::warning(this, tr("Already exists"), tr("A layout named %1\nalready exists").arg(newname), QMessageBox::Ok, QMessageBox::NoButton); | ||
137 | // Re-select existing layout | ||
138 | remoteSelected(newname); | ||
139 | } | ||
140 | } | ||
125 | } | 141 | } |
126 | 142 | ||
127 | void ConfigTab::remoteSelected(const QString &string) | 143 | void ConfigTab::remoteSelected(const QString &string) |
128 | { | 144 | { |
129 | cfg->setGroup(string); | 145 | cfg->setGroup(string); |
130 | const QObject *obj; | 146 | const QObject *obj; |
131 | 147 | ||
132 | const QObjectList *objList = topGroupConf->children(); | 148 | const QObjectList *objList = topGroupConf->children(); |
133 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) | 149 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) |
134 | { | 150 | { |
135 | if(obj->inherits("QPushButton")) | 151 | if(obj->inherits("QPushButton")) |
136 | { | 152 | { |
137 | if(cfg->hasKey((QString)obj->name()+"Label")) | 153 | if(cfg->hasKey((QString)obj->name()+"Label")) |
138 | { | 154 | { |
139 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); | 155 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); |
140 | } | 156 | } |
141 | else | 157 | else |
142 | { | 158 | { |
143 | cfg->setGroup("Default"); | 159 | cfg->setGroup("Default"); |
144 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); | 160 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); |
145 | cfg->setGroup(string); | 161 | cfg->setGroup(string); |
146 | } | 162 | } |
147 | } | 163 | } |
148 | } | 164 | } |
149 | 165 | ||
150 | objList = dvdGroupConf->children(); | 166 | objList = dvdGroupConf->children(); |
151 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) | 167 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) |
152 | { | 168 | { |
153 | if(obj->inherits("QPushButton")) | 169 | if(obj->inherits("QPushButton")) |
154 | { | 170 | { |
155 | if(cfg->hasKey((QString)obj->name()+"Label")) | 171 | if(cfg->hasKey((QString)obj->name()+"Label")) |
156 | { | 172 | { |
157 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); | 173 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); |
158 | } | 174 | } |
159 | else | 175 | else |
160 | { | 176 | { |
161 | cfg->setGroup("Default"); | 177 | cfg->setGroup("Default"); |
162 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); | 178 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); |
163 | cfg->setGroup(string); | 179 | cfg->setGroup(string); |
164 | } | 180 | } |
165 | } | 181 | } |
166 | } | 182 | } |
167 | 183 | ||
168 | objList = vcrGroupConf->children(); | 184 | objList = vcrGroupConf->children(); |
169 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) | 185 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) |
170 | { | 186 | { |
171 | if(obj->inherits("QPushButton")) | 187 | if(obj->inherits("QPushButton")) |
172 | { | 188 | { |
173 | if(cfg->hasKey((QString)obj->name()+"Label")) | 189 | if(cfg->hasKey((QString)obj->name()+"Label")) |
174 | { | 190 | { |
175 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); | 191 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); |
176 | } | 192 | } |
177 | else | 193 | else |
178 | { | 194 | { |
179 | cfg->setGroup("Default"); | 195 | cfg->setGroup("Default"); |
180 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); | 196 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); |
181 | cfg->setGroup(string); | 197 | cfg->setGroup(string); |
182 | } | 198 | } |
183 | } | 199 | } |
184 | } | 200 | } |
185 | 201 | ||
186 | objList = channelGroupConf->children(); | 202 | objList = channelGroupConf->children(); |
187 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) | 203 | for(obj = ((QObjectList *)objList)->first(); obj != 0; obj=((QObjectList *)objList)->next()) |
188 | { | 204 | { |
189 | if(obj->inherits("QPushButton")) | 205 | if(obj->inherits("QPushButton")) |
190 | { | 206 | { |
191 | if(cfg->hasKey((QString)obj->name()+"Label")) | 207 | if(cfg->hasKey((QString)obj->name()+"Label")) |
192 | { | 208 | { |
193 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); | 209 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); |
194 | } | 210 | } |
195 | else | 211 | else |
196 | { | 212 | { |
197 | cfg->setGroup("Default"); | 213 | cfg->setGroup("Default"); |
198 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); | 214 | ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); |
199 | cfg->setGroup(string); | 215 | cfg->setGroup(string); |
200 | } | 216 | } |
201 | } | 217 | } |
202 | } | 218 | } |
203 | } | 219 | } |
204 | 220 | ||
205 | void ConfigTab::buttonPressed() | 221 | void ConfigTab::buttonPressed() |
206 | { | 222 | { |
207 | const QObject *button = sender(); | 223 | const QObject *button = sender(); |
208 | QString string = button->name(); | 224 | QString string = button->name(); |
209 | 225 | ||
210 | ButtonDialog *bd = new ButtonDialog(((QPushButton *)button)->text(), this, "BD", true, 0); | 226 | QString action = cfg->readEntry(string); |
227 | |||
228 | ButtonDialog *bd = new ButtonDialog(((QPushButton *)button)->text(), action, this, "BD", true, 0); | ||
211 | if( bd->exec() == 1) | 229 | if( bd->exec() == 1) |
212 | { | 230 | { |
213 | cfg->writeEntry(string, bd->getList().join(" ").latin1()); | 231 | cfg->writeEntry(string, bd->getAction().latin1()); |
214 | cfg->writeEntry(string+"Label", bd->getLabel().latin1()); | 232 | cfg->writeEntry(string+"Label", bd->getLabel().latin1()); |
233 | cfg->write(); | ||
234 | ((QPushButton *)button)->setText(bd->getLabel()); | ||
215 | } | 235 | } |
216 | cfg->write(); | 236 | |
217 | ((QPushButton *)button)->setText(bd->getLabel()); | 237 | delete bd; |
218 | } | 238 | } |