summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/remote/configtab.cpp48
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/*
102void ConfigTab::savePressed() 106void 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
113void ConfigTab::newPressed() 117void 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
127void ConfigTab::remoteSelected(const QString &string) 143void 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
205void ConfigTab::buttonPressed() 221void 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}