summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/tools/remote/configtab.cpp34
1 files changed, 27 insertions, 7 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
@@ -97,6 +97,10 @@ void ConfigTab::setConfig(Config *newCfg)
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()
@@ -113,15 +117,27 @@ void ConfigTab::savePressed()
113void ConfigTab::newPressed() 117void ConfigTab::newPressed()
114{ 118{
115 QStringList list; 119 QStringList list;
120 QString newname = topGroupConf->getRemotesText();
121 if(newname=="Remotes")
122 QMessageBox::warning(this, tr("Error"), tr("The name 'Remotes' is not allowed"), QMessageBox::Ok, QMessageBox::NoButton);
123 else {
116 cfg->setGroup("Remotes"); 124 cfg->setGroup("Remotes");
117 list=cfg->readListEntry("remoteList", ','); 125 list=cfg->readListEntry("remoteList", ',');
118 list+=topGroupConf->getRemotesText(); 126 if(list.findIndex(newname) == -1) {
127 list+=newname;
119 cfg->writeEntry("remoteList", list, ','); 128 cfg->writeEntry("remoteList", list, ',');
120 cfg->setGroup(topGroupConf->getRemotesText()); 129 cfg->setGroup(newname);
121 topGroupConf->updateRemotes(QStringList(topGroupConf->getRemotesText()) ); 130 topGroupConf->updateRemotes(QStringList(newname) );
122 cfg->write(); 131 cfg->write();
123 emit remotesChanged(); 132 emit remotesChanged();
124 remoteSelected(topGroupConf->getRemotesText()); 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)
@@ -207,12 +223,16 @@ void ConfigTab::buttonPressed()
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());
215 }
216 cfg->write(); 233 cfg->write();
217 ((QPushButton *)button)->setText(bd->getLabel()); 234 ((QPushButton *)button)->setText(bd->getLabel());
218} 235}
236
237 delete bd;
238}