author | paule <paule> | 2007-01-28 09:03:16 (UTC) |
---|---|---|
committer | paule <paule> | 2007-01-28 09:03:16 (UTC) |
commit | 0db6862d81bd0444362fa6cd1edf0ae579639daa (patch) (unidiff) | |
tree | 0085f7c9aea9e9e9a7e041a3af9e7d8ac1799e48 | |
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 | |||
@@ -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 | ||
52 | int RemoteTab::sendIR() | 52 | int 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 | ||
157 | void RemoteTab::updateRemotesList() | 165 | void 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 | ||
48 | void TopGroup::updateRemotes(Config *cfg) | 48 | void 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 | ||
55 | QString TopGroup::getRemotesText() | 68 | QString TopGroup::getRemotesText() |
56 | { | 69 | { |
57 | return remotes->currentText(); | 70 | return remotes->currentText(); |
58 | } | 71 | } |