diff options
Diffstat (limited to 'tdeioslave/media/mediamanager/linuxcdpolling.cpp')
-rw-r--r-- | tdeioslave/media/mediamanager/linuxcdpolling.cpp | 68 |
1 files changed, 41 insertions, 27 deletions
diff --git a/tdeioslave/media/mediamanager/linuxcdpolling.cpp b/tdeioslave/media/mediamanager/linuxcdpolling.cpp index 0fcda8d0f..66074f40e 100644 --- a/tdeioslave/media/mediamanager/linuxcdpolling.cpp +++ b/tdeioslave/media/mediamanager/linuxcdpolling.cpp @@ -176,19 +176,19 @@ private: LinuxCDPolling::LinuxCDPolling(MediaList &list) : TQObject(), BackendBase(list) { - connect(&m_mediaList, TQT_SIGNAL(mediumAdded(const TQString &, + connect(&m_mediaList, TQ_SIGNAL(mediumAdded(const TQString &, const TQString &, bool)), - this, TQT_SLOT(slotMediumAdded(const TQString &)) ); + this, TQ_SLOT(slotMediumAdded(const TQString &)) ); - connect(&m_mediaList, TQT_SIGNAL(mediumRemoved(const TQString &, + connect(&m_mediaList, TQ_SIGNAL(mediumRemoved(const TQString &, const TQString &, bool)), - this, TQT_SLOT(slotMediumRemoved(const TQString &)) ); + this, TQ_SLOT(slotMediumRemoved(const TQString &)) ); - connect(&m_mediaList, TQT_SIGNAL(mediumStateChanged(const TQString &, + connect(&m_mediaList, TQ_SIGNAL(mediumStateChanged(const TQString &, const TQString &, bool, bool)), - this, TQT_SLOT(slotMediumStateChanged(const TQString &)) ); + this, TQ_SLOT(slotMediumStateChanged(const TQString &)) ); - connect(&m_timer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotTimeout())); + connect(&m_timer, TQ_SIGNAL(timeout()), this, TQ_SLOT(slotTimeout())); } LinuxCDPolling::~LinuxCDPolling() @@ -216,7 +216,7 @@ void LinuxCDPolling::slotMediumAdded(const TQString &id) TQString mime = medium->mimeType(); kdDebug(1219) << "mime == " << mime << endl; - if (mime.find("dvd")==-1 && mime.find("cd")==-1) return; + if (mime.find("dvd")==-1 && mime.find("cd")==-1 && mime.find("bluray")==-1) return; if (!medium->isMounted()) { @@ -255,7 +255,7 @@ void LinuxCDPolling::slotMediumStateChanged(const TQString &id) TQString mime = medium->mimeType(); kdDebug(1219) << "mime == " << mime << endl; - if (mime.find("dvd")==-1 && mime.find("cd")==-1) return; + if (mime.find("dvd")==-1 && mime.find("cd")==-1 && mime.find("bluray")==-1) return; if (!m_threads.contains(id) && !medium->isMounted()) { @@ -319,7 +319,12 @@ static TQString baseType(const Medium *medium) FstabBackend::guess(devNode, mountPoint, fsType, mounted, mimeType, iconName, label); - if (devNode.find("dvd")!=-1) + if (devNode.find("bluray")!=-1) + { + kdDebug(1219) << "=> bluray" << endl; + return "bluray"; + } + else if (devNode.find("dvd")!=-1) { kdDebug(1219) << "=> dvd" << endl; return "dvd"; @@ -373,25 +378,30 @@ void LinuxCDPolling::applyType(DiscType type, const Medium *medium) m_mediaList.changeMediumState(id, "audiocd:/?device="+dev, notify, "media/audiocd"); break; - case DiscType::VCD: - m_mediaList.changeMediumState(id, false, notify, "media/vcd"); + case DiscType::BLURAY: + m_mediaList.changeMediumState(id, false, notify, "media/blurayvideo"); + break; + case DiscType::DVD: + m_mediaList.changeMediumState(id, false, notify, "media/dvdvideo"); break; case DiscType::SVCD: m_mediaList.changeMediumState(id, false, notify, "media/svcd"); break; - case DiscType::DVD: - m_mediaList.changeMediumState(id, false, notify, "media/dvdvideo"); + case DiscType::VCD: + m_mediaList.changeMediumState(id, false, notify, "media/vcd"); break; case DiscType::Blank: - if (baseType(medium)=="dvd") + if (baseType(medium)=="bluray") { - m_mediaList.changeMediumState(id, false, - notify, "media/blankdvd"); + m_mediaList.changeMediumState(id, false, notify, "media/blankbluray"); + } + else if (baseType(medium)=="dvd") + { + m_mediaList.changeMediumState(id, false, notify, "media/blankdvd"); } else { - m_mediaList.changeMediumState(id, false, - notify, "media/blankcd"); + m_mediaList.changeMediumState(id, false, notify, "media/blankcd"); } break; case DiscType::None: @@ -444,18 +454,22 @@ DiscType LinuxCDPolling::identifyDiscType(const TQCString &devNode, return DiscType::Audio; case CDS_DATA_1: case CDS_DATA_2: - if (hasDirectory(devNode, "video_ts")) + if (hasDirectory(devNode, "BDMV")) { - return DiscType::DVD; + return DiscType::BLURAY; } - else if (hasDirectory(devNode, "vcd")) + else if (hasDirectory(devNode, "video_ts")) { - return DiscType::VCD; + return DiscType::DVD; } else if (hasDirectory(devNode, "svcd")) { return DiscType::SVCD; } + else if (hasDirectory(devNode, "vcd")) + { + return DiscType::VCD; + } else { return DiscType::Data; @@ -500,7 +514,7 @@ bool LinuxCDPolling::hasDirectory(const TQCString &devNode, const TQCString &dir close(fd); return false; } - if (Q_BYTE_ORDER != Q_LITTLE_ENDIAN) + if (TQ_BYTE_ORDER != TQ_LITTLE_ENDIAN) bs = ((bs << 8) & 0xFF00) | ((bs >> 8) & 0xFF); // read in size of path table @@ -510,7 +524,7 @@ bool LinuxCDPolling::hasDirectory(const TQCString &devNode, const TQCString &dir close(fd); return false; } - if (Q_BYTE_ORDER != Q_LITTLE_ENDIAN) + if (TQ_BYTE_ORDER != TQ_LITTLE_ENDIAN) ts = ((ts << 8) & 0xFF00) | ((ts >> 8) & 0xFF); // read in which block path table is in @@ -520,7 +534,7 @@ bool LinuxCDPolling::hasDirectory(const TQCString &devNode, const TQCString &dir close(fd); return false; } - if (Q_BYTE_ORDER != Q_LITTLE_ENDIAN) + if (TQ_BYTE_ORDER != TQ_LITTLE_ENDIAN) tl = ((tl << 24) & 0xFF000000) | ((tl << 8) & 0xFF0000) | ((tl >> 8) & 0xFF00) | ((tl >> 24) & 0xFF); @@ -545,7 +559,7 @@ bool LinuxCDPolling::hasDirectory(const TQCString &devNode, const TQCString &dir ret = false; break; } - if (Q_BYTE_ORDER != Q_LITTLE_ENDIAN) + if (TQ_BYTE_ORDER != TQ_LITTLE_ENDIAN) parent = ((parent << 8) & 0xFF00) | ((parent >> 8) & 0xFF); // read the name |