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
@@ -92,41 +92,57 @@ void ConfigTab::setConfig(Config *newCfg)
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();
@@ -201,18 +217,22 @@ void ConfigTab::remoteSelected(const QString &string)
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}