summaryrefslogtreecommitdiff
authorpaule <paule>2007-01-28 09:03:16 (UTC)
committer paule <paule>2007-01-28 09:03:16 (UTC)
commit0db6862d81bd0444362fa6cd1edf0ae579639daa (patch) (unidiff)
tree0085f7c9aea9e9e9a7e041a3af9e7d8ac1799e48
parent67b8a6e01fd3e47227f8bafa21077506fa55568c (diff)
downloadopie-0db6862d81bd0444362fa6cd1edf0ae579639daa.zip
opie-0db6862d81bd0444362fa6cd1edf0ae579639daa.tar.gz
opie-0db6862d81bd0444362fa6cd1edf0ae579639daa.tar.bz2
More fixes for remote selection
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
@@ -42,24 +42,32 @@ RemoteTab::RemoteTab(QWidget *parent, const char *name):QWidget(parent,name)
42 42
43 layout->addSpacing(1); 43 layout->addSpacing(1);
44 44
45 channelGroup = new ChannelGroup(this); 45 channelGroup = new ChannelGroup(this);
46 //channelGroup->setMaximumHeight(91); 46 //channelGroup->setMaximumHeight(91);
47 layout->addWidget(channelGroup, 0, 0); 47 layout->addWidget(channelGroup, 0, 0);
48 48
49 this->setMaximumWidth(240); 49 this->setMaximumWidth(240);
50} 50}
51 51
52int RemoteTab::sendIR() 52int RemoteTab::sendIR()
53{ 53{
54 QString curr_remote = topGroup->getRemotesText();
55 if(curr_remote != "")
56 cfg->setGroup(curr_remote);
57 else {
58 QMessageBox::warning(this, tr("Error"), tr("Please select or create\na remote layout"), QMessageBox::Ok, QMessageBox::NoButton);
59 return 0;
60 }
61
54 const QObject *button = sender(); 62 const QObject *button = sender();
55 QString string = cfg->readEntry(button->name()); 63 QString string = cfg->readEntry(button->name());
56 if(string != "") { 64 if(string != "") {
57 string+='\n'; 65 string+='\n';
58 LircHandler lh; 66 LircHandler lh;
59 return lh.sendIR(string.latin1()); 67 return lh.sendIR(string.latin1());
60 } 68 }
61 else { 69 else {
62 QMessageBox::warning(this, tr("Error"), tr("This button has not\nbeen configured"), QMessageBox::Ok, QMessageBox::NoButton); 70 QMessageBox::warning(this, tr("Error"), tr("This button has not\nbeen configured"), QMessageBox::Ok, QMessageBox::NoButton);
63 return 0; 71 return 0;
64 } 72 }
65} 73}
@@ -148,13 +156,17 @@ void RemoteTab::remoteSelected(const QString &string)
148 { 156 {
149 cfg->setGroup("Default"); 157 cfg->setGroup("Default");
150 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") ); 158 ((QPushButton *)obj)->setText(cfg->readEntry((QString)obj->name()+"Label") );
151 cfg->setGroup(string); 159 cfg->setGroup(string);
152 } 160 }
153 } 161 }
154 } 162 }
155} 163}
156 164
157void RemoteTab::updateRemotesList() 165void RemoteTab::updateRemotesList()
158{ 166{
159 topGroup->updateRemotes(cfg); 167 topGroup->updateRemotes(cfg);
168
169 QString curr_remote = topGroup->getRemotesText();
170 if(curr_remote != "")
171 remoteSelected(curr_remote);
160} 172}
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
@@ -38,21 +38,34 @@ TopGroup::TopGroup(QWidget *parent, const char *name):QWidget(parent,name)
38 //remotes->setGeometry(135,5,95,20); 38 //remotes->setGeometry(135,5,95,20);
39 39
40 QLabel *remoteLabel = new QLabel(remotes, "Remote: ",this,"remoteLabel"); 40 QLabel *remoteLabel = new QLabel(remotes, "Remote: ",this,"remoteLabel");
41 //remoteLabel->setGeometry(90,5,40,20); 41 //remoteLabel->setGeometry(90,5,40,20);
42 remoteLabel->setAlignment(AlignRight | AlignVCenter); 42 remoteLabel->setAlignment(AlignRight | AlignVCenter);
43 43
44 layout->addWidget(remoteLabel); 44 layout->addWidget(remoteLabel);
45 layout->addWidget(remotes); 45 layout->addWidget(remotes);
46} 46}
47 47
48void TopGroup::updateRemotes(Config *cfg) 48void TopGroup::updateRemotes(Config *cfg)
49{ 49{
50 // Save currently selected item if any
51 QString curr_remote = remotes->currentText();
52
50 remotes->clear(); 53 remotes->clear();
51 cfg->setGroup("Remotes"); 54 cfg->setGroup("Remotes");
52 remotes->insertStringList(cfg->readListEntry("remoteList", ',') ); 55 remotes->insertStringList(cfg->readListEntry("remoteList", ',') );
56
57 // Select previously selected item
58 if(curr_remote != "") {
59 for(int i=0;i<remotes->count();i++) {
60 if(remotes->text(i) == curr_remote) {
61 remotes->setCurrentItem(i);
62 break;
63 }
64 }
65 }
53} 66}
54 67
55QString TopGroup::getRemotesText() 68QString TopGroup::getRemotesText()
56{ 69{
57 return remotes->currentText(); 70 return remotes->currentText();
58} 71}