-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 | |||
@@ -76,73 +76,89 @@ void ConfigTab::setConfig(Config *newCfg) | |||
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 | } |
@@ -185,34 +201,38 @@ void ConfigTab::remoteSelected(const QString &string) | |||
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 | } |