summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2017-12-31 09:54:35 (GMT)
committer Slávek Banko <slavek.banko@axis.cz>2017-12-31 09:54:35 (GMT)
commit63f0675169c7e773c18fcf800b7ebd1e2c1be873 (patch)
tree797b9b2f662eb1b628f884ec4d2ae92134671d90
parent81449b86f66be2100cb1fc5eada56df61abdc5b3 (diff)
downloadtdemultimedia-63f06751.zip
tdemultimedia-63f06751.tar.gz
kscd: Fix device detection from Media Manager
Commit d36f6096 in tdebase has changed the order of items in the device properties returned by Media Manager. The indexes of items used in kscd must be consistent with tdebase. This resolves Bug 2834 Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--kscd/configWidget.cpp23
-rw-r--r--kscd/kcompactdisc.cpp11
2 files changed, 19 insertions, 15 deletions
diff --git a/kscd/configWidget.cpp b/kscd/configWidget.cpp
index 3a1ceff..3cde999 100644
--- a/kscd/configWidget.cpp
+++ b/kscd/configWidget.cpp
@@ -119,16 +119,21 @@ void configWidget::getMediaDevices()
TQStringList::const_iterator it = list.begin();
TQStringList::const_iterator itEnd = list.end();
// it would be much better if libmediacommon was in tdelibs
+ // see tdebase/tdeioslave/media/libmediacommon/medium.h
while (it != itEnd) {
- it++;
- if (it == itEnd) break;
- TQString url="media:/"+(*it); // is it always right? ervin?
- kdDebug() << "checking " << url << endl;
- for (int i=0;i<9;i++) ++it; // go to mimetype (MIME_TYPE-NAME from medium.h)
- kdDebug() << "Mime: " << *it << endl;
- if (it!=itEnd && (*it)=="media/audiocd") {
- kcfg_cdDevice->comboBox()->insertItem(url);
- }
+ TQString url;
+ for ( int i = 0; i<12 && it != itEnd; i++, ++it ) {
+ if (i == 2) { // NAME
+ url = "media:/"+(*it);
+ kdDebug() << "checking " << url << endl;
+ }
+ if (i == 11) { // MIME_TYPE
+ kdDebug() << "Mime: " << *it << endl;
+ if ((*it)=="media/audiocd") {
+ kcfg_cdDevice->comboBox()->insertItem(url);
+ }
+ }
+ }
while (it !=itEnd && (*it)!="---") ++it; // go to end of current device's properties
++it;
}
diff --git a/kscd/kcompactdisc.cpp b/kscd/kcompactdisc.cpp
index debfc6e..839a657 100644
--- a/kscd/kcompactdisc.cpp
+++ b/kscd/kcompactdisc.cpp
@@ -241,15 +241,14 @@ TQString TDECompactDisc::urlToDevice(const TQString& device)
DCOPRef mediamanager("kded", "mediamanager");
DCOPReply reply = mediamanager.call("properties(TQString)", deviceUrl.fileName());
TQStringList properties = reply;
- if (!reply.isValid() || properties.count() < 6)
- {
+ if (!reply.isValid() || properties.count() < 7 ) {
kdError() << "Invalid reply from mediamanager" << endl;
return defaultDevice;
}
- else
- {
- kdDebug() << "Reply from mediamanager " << properties[5] << endl;
- return properties[5];
+ else {
+ /* see DEVICE_NODE in tdebase/tdeioslave/media/libmediacommon/medium.h */
+ kdDebug() << "Reply from mediamanager " << properties[6] << endl;
+ return properties[6];
}
}