author | paule <paule> | 2007-01-28 09:03:16 (UTC) |
---|---|---|
committer | paule <paule> | 2007-01-28 09:03:16 (UTC) |
commit | 0db6862d81bd0444362fa6cd1edf0ae579639daa (patch) (side-by-side diff) | |
tree | 0085f7c9aea9e9e9a7e041a3af9e7d8ac1799e48 /noncore | |
parent | 67b8a6e01fd3e47227f8bafa21077506fa55568c (diff) | |
download | opie-0db6862d81bd0444362fa6cd1edf0ae579639daa.zip opie-0db6862d81bd0444362fa6cd1edf0ae579639daa.tar.gz opie-0db6862d81bd0444362fa6cd1edf0ae579639daa.tar.bz2 |
More fixes for remote selection
-rw-r--r-- | noncore/tools/remote/remotetab.cpp | 12 | ||||
-rw-r--r-- | noncore/tools/remote/topgroup.cpp | 13 |
2 files changed, 25 insertions, 0 deletions
diff --git a/noncore/tools/remote/remotetab.cpp b/noncore/tools/remote/remotetab.cpp index 45995fd..c89d8c2 100644 --- a/noncore/tools/remote/remotetab.cpp +++ b/noncore/tools/remote/remotetab.cpp @@ -48,12 +48,20 @@ RemoteTab::RemoteTab(QWidget *parent, const char *name):QWidget(parent,name) this->setMaximumWidth(240); } int RemoteTab::sendIR() { + QString curr_remote = topGroup->getRemotesText(); + if(curr_remote != "") + cfg->setGroup(curr_remote); + else { + QMessageBox::warning(this, tr("Error"), tr("Please select or create\na remote layout"), QMessageBox::Ok, QMessageBox::NoButton); + return 0; + } + const QObject *button = sender(); QString string = cfg->readEntry(button->name()); if(string != "") { string+='\n'; LircHandler lh; return lh.sendIR(string.latin1()); @@ -154,7 +162,11 @@ void RemoteTab::remoteSelected(const QString &string) } } void RemoteTab::updateRemotesList() { topGroup->updateRemotes(cfg); + + QString curr_remote = topGroup->getRemotesText(); + if(curr_remote != "") + remoteSelected(curr_remote); } diff --git a/noncore/tools/remote/topgroup.cpp b/noncore/tools/remote/topgroup.cpp index 7f2366b..d4eb6e2 100644 --- a/noncore/tools/remote/topgroup.cpp +++ b/noncore/tools/remote/topgroup.cpp @@ -44,15 +44,28 @@ TopGroup::TopGroup(QWidget *parent, const char *name):QWidget(parent,name) layout->addWidget(remoteLabel); layout->addWidget(remotes); } void TopGroup::updateRemotes(Config *cfg) { + // Save currently selected item if any + QString curr_remote = remotes->currentText(); + remotes->clear(); cfg->setGroup("Remotes"); remotes->insertStringList(cfg->readListEntry("remoteList", ',') ); + + // Select previously selected item + if(curr_remote != "") { + for(int i=0;i<remotes->count();i++) { + if(remotes->text(i) == curr_remote) { + remotes->setCurrentItem(i); + break; + } + } + } } QString TopGroup::getRemotesText() { return remotes->currentText(); } |