summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/remote/remotetab.cpp12
-rw-r--r--noncore/tools/remote/topgroup.cpp13
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
@@ -52,4 +52,12 @@ RemoteTab::RemoteTab(QWidget *parent, const char *name):QWidget(parent,name)
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());
@@ -158,3 +166,7 @@ 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
@@ -48,7 +48,20 @@ TopGroup::TopGroup(QWidget *parent, const char *name):QWidget(parent,name)
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;
+ }
+ }
+ }
}