From f8c2616ab0c874ca97decbe502c1b8290d7e82bd Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 7 Feb 2013 15:33:35 +0000 Subject: fixed udisks2 plugin (Closes issue 574) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3202 90c681e8-e032-0410-971d-27865f9a5e38 --- .../udisks2/translations/udisks2_plugin_cs.ts | 4 +- .../udisks2/translations/udisks2_plugin_de.ts | 4 +- .../udisks2/translations/udisks2_plugin_es.ts | 4 +- .../udisks2/translations/udisks2_plugin_fr.ts | 4 +- .../udisks2/translations/udisks2_plugin_he.ts | 4 +- .../udisks2/translations/udisks2_plugin_hu.ts | 4 +- .../udisks2/translations/udisks2_plugin_it.ts | 4 +- .../udisks2/translations/udisks2_plugin_ja.ts | 4 +- .../udisks2/translations/udisks2_plugin_kk.ts | 4 +- .../udisks2/translations/udisks2_plugin_lt.ts | 4 +- .../udisks2/translations/udisks2_plugin_nl.ts | 4 +- .../udisks2/translations/udisks2_plugin_pl_PL.ts | 4 +- .../udisks2/translations/udisks2_plugin_pt_BR.ts | 4 +- .../udisks2/translations/udisks2_plugin_ru.ts | 4 +- .../udisks2/translations/udisks2_plugin_sk.ts | 4 +- .../udisks2/translations/udisks2_plugin_tr.ts | 4 +- .../udisks2/translations/udisks2_plugin_uk_UA.ts | 4 +- .../udisks2/translations/udisks2_plugin_zh_CN.ts | 4 +- .../udisks2/translations/udisks2_plugin_zh_TW.ts | 4 +- src/plugins/General/udisks2/udisks2device.cpp | 7 +-- src/plugins/General/udisks2/udisks2device.h | 2 - src/plugins/General/udisks2/udisks2manager.cpp | 2 - src/plugins/General/udisks2/udisks2plugin.cpp | 61 ++++++++-------------- 23 files changed, 61 insertions(+), 87 deletions(-) (limited to 'src/plugins/General/udisks2') diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_cs.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_cs.ts index 669cf691f..cecc71cd7 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_cs.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_cs.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" Přidat CD „%1“ - + Add Volume "%1" Přidat svazek „%1“ diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_de.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_de.ts index 4c074e7e4..a4a956531 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_de.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_de.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" CD „%1“ hinzufügen - + Add Volume "%1" Gerät „%1“ hinzufügen diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_es.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_es.ts index 84f544d3b..ccc048130 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_es.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_es.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" Añadir CD "%1" - + Add Volume "%1" Añadir volumen "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_fr.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_fr.ts index f1088d85c..2716b1d55 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_fr.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_fr.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" - + Add Volume "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_he.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_he.ts index 17f5b5058..b84a8198a 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_he.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_he.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" הוסף CD ‫"%1" - + Add Volume "%1" הוסף כרך "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_hu.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_hu.ts index 44a03c848..6cb60baca 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_hu.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_hu.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" - + Add Volume "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_it.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_it.ts index 26b4fcc19..772deef5e 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_it.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_it.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" Aggiungi CD "%1" - + Add Volume "%1" Aggiungi libreria "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_ja.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_ja.ts index 33cc827c2..0ccf8c299 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_ja.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_ja.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" CD "%1" を追加 - + Add Volume "%1" 量目 "%1" を追加 diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_kk.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_kk.ts index 6ffc6af9c..9d4c12cae 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_kk.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_kk.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" - + Add Volume "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_lt.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_lt.ts index 5ec0c154f..b851a4276 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_lt.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_lt.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" Pridėti CD "%1" - + Add Volume "%1" Pridėti tomą "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_nl.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_nl.ts index a5d5bc880..1cfc448bf 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_nl.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_nl.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" Voeg CD "%1" toe - + Add Volume "%1" Voeg Station "%1" toe diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_pl_PL.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_pl_PL.ts index 42ae3fd3f..47bf0afd0 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_pl_PL.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_pl_PL.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" Dodaj CD "%1" - + Add Volume "%1" Dodaj urządzenie "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_pt_BR.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_pt_BR.ts index 109bbdd6c..c52e76336 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_pt_BR.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_pt_BR.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" - + Add Volume "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_ru.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_ru.ts index 141e0f214..50e44c804 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_ru.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_ru.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" Добавить CD "%1" - + Add Volume "%1" Добавить том "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_sk.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_sk.ts index b399fd529..c80cd1d5b 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_sk.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_sk.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" - + Add Volume "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_tr.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_tr.ts index fa7ae73b2..f74dad230 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_tr.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_tr.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" CD "%1" Ekle - + Add Volume "%1" "%1" Aygıtını Ekle diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_uk_UA.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_uk_UA.ts index de6b8b2d2..ef6432635 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_uk_UA.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_uk_UA.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" Додати CD "%1" - + Add Volume "%1" Додати том "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_zh_CN.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_zh_CN.ts index a841ecf4a..e431bafcb 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_zh_CN.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_zh_CN.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" 添加 CD "%1" - + Add Volume "%1" 添加卷 "%1" diff --git a/src/plugins/General/udisks2/translations/udisks2_plugin_zh_TW.ts b/src/plugins/General/udisks2/translations/udisks2_plugin_zh_TW.ts index 5a26cfc09..3288b4a3a 100644 --- a/src/plugins/General/udisks2/translations/udisks2_plugin_zh_TW.ts +++ b/src/plugins/General/udisks2/translations/udisks2_plugin_zh_TW.ts @@ -70,12 +70,12 @@ UDisks2Plugin - + Add CD "%1" 添加 CD "%1" - + Add Volume "%1" 添加卷 "%1" diff --git a/src/plugins/General/udisks2/udisks2device.cpp b/src/plugins/General/udisks2/udisks2device.cpp index 0733c9931..3d0e84e07 100644 --- a/src/plugins/General/udisks2/udisks2device.cpp +++ b/src/plugins/General/udisks2/udisks2device.cpp @@ -24,15 +24,12 @@ #include #include "udisks2device.h" -UDisks2Device::UDisks2Device(QDBusObjectPath o, QObject *parent) - : QObject(parent) +UDisks2Device::UDisks2Device(QDBusObjectPath o, QObject *parent) : QObject(parent) { m_block_interface = new QDBusInterface("org.freedesktop.UDisks2", o.path(), "org.freedesktop.UDisks2.Block", QDBusConnection::systemBus(), this); - m_fs_interface = new QDBusInterface("org.freedesktop.UDisks2", o.path(), - "org.freedesktop.UDisks2.Filesystem", QDBusConnection::systemBus(), - this); + QDBusObjectPath drive_object = property("Drive").value(); QDBusConnection::systemBus().connect("org.freedesktop.UDisks2", o.path(), diff --git a/src/plugins/General/udisks2/udisks2device.h b/src/plugins/General/udisks2/udisks2device.h index 8d1473fb0..63d292b51 100644 --- a/src/plugins/General/udisks2/udisks2device.h +++ b/src/plugins/General/udisks2/udisks2device.h @@ -82,11 +82,9 @@ public: signals: void changed(); - private: QDBusInterface *m_block_interface; QDBusInterface *m_drive_interface; - QDBusInterface *m_fs_interface; QDBusObjectPath m_path; }; diff --git a/src/plugins/General/udisks2/udisks2manager.cpp b/src/plugins/General/udisks2/udisks2manager.cpp index 48858404e..279aa78d9 100644 --- a/src/plugins/General/udisks2/udisks2manager.cpp +++ b/src/plugins/General/udisks2/udisks2manager.cpp @@ -80,7 +80,6 @@ void UDisks2Manager::onInterfacesAdded(const QDBusObjectPath &object_path, const { if(object_path.path().startsWith("/org/freedesktop/UDisks2/jobs")) return; - qDebug("UDisks2Manager: interfaces added: %s", qPrintable(object_path.path())); emit deviceAdded(object_path); } @@ -88,6 +87,5 @@ void UDisks2Manager::onInterfacesRemoved(const QDBusObjectPath &object_path, con { if(object_path.path().startsWith("/org/freedesktop/UDisks2/jobs")) return; - qDebug("UDisks2Manager: interfaces removed: %s", qPrintable(object_path.path())); emit deviceRemoved(object_path); } diff --git a/src/plugins/General/udisks2/udisks2plugin.cpp b/src/plugins/General/udisks2/udisks2plugin.cpp index 3ee249c79..39c8c6af7 100644 --- a/src/plugins/General/udisks2/udisks2plugin.cpp +++ b/src/plugins/General/udisks2/udisks2plugin.cpp @@ -72,7 +72,7 @@ void UDisks2Plugin::removeDevice(QDBusObjectPath o) { m_devices.removeAll(device); delete device; - qDebug("UDisks2Plugin: device \"%s\" removed", qPrintable(o.path())); + qDebug("UDisks2Plugin: removed device: \"%s\"", qPrintable(o.path())); updateActions(); break; } @@ -88,45 +88,15 @@ void UDisks2Plugin::addDevice(QDBusObjectPath o) } UDisks2Device *device = new UDisks2Device(o, this); - //audio cd - if (device->isAudio()) + if(device->isRemovable()) //detect removable devices only { - if (m_detectCDA) - { - qDebug("UDisks2Plugin: device \"%s\" added (cd audio)", qPrintable(o.path())); - m_devices << device; - connect(device, SIGNAL(changed()), SLOT(updateActions())); - updateActions(); - } - else - delete device; - return; + qDebug("UDisks2Plugin: added device: \"%s\"", qPrintable(o.path())); + m_devices << device; + updateActions(); + connect(device, SIGNAL(changed()), SLOT(updateActions())); } - - if(!device->isRemovable()) - { + else delete device; - return; - } - - if (device->property("Size").toLongLong() < 17000000000LL && - (device->property("IdType").toString() == "vfat" || - device->property("IdType").toString() == "iso9660" || - device->property("IdType").toString() == "udf" || - device->property("IdType").toString() == "ext2")) - { - if (m_detectRemovable) - { - qDebug("UDisks2Plugin: device \"%s\" added (removable)", qPrintable(o.path())); - m_devices << device; - updateActions(); - connect(device, SIGNAL(changed()), SLOT(updateActions())); - } - else - delete device; - return; - } - delete device; } void UDisks2Plugin::updateActions() @@ -135,13 +105,19 @@ void UDisks2Plugin::updateActions() foreach(UDisks2Device *device, m_devices) { QString dev_path; - if (device->isAudio()) //cd audio + if (m_detectCDA && device->isAudio()) //cd audio { dev_path = "cdda://" + device->deviceFile(); - qDebug("dev path = %s", qPrintable(dev_path)); } - else if (device->isMounted()) //mounted volume + else if (m_detectRemovable && device->isMounted() && + device->property("Size").toLongLong() < 17000000000LL && + (device->property("IdType").toString() == "vfat" || + device->property("IdType").toString() == "iso9660" || + device->property("IdType").toString() == "udf" || + device->property("IdType").toString() == "ext2")) //mounted volume + { dev_path = device->mountPoints().first(); + } else continue; @@ -150,7 +126,9 @@ void UDisks2Plugin::updateActions() QAction *action = new QAction(this); QString actionText; if (device->isAudio()) + { actionText = QString(tr("Add CD \"%1\"")).arg(device->deviceFile()); + } else { QString name = device->property("IdLabel").toString(); @@ -170,6 +148,8 @@ void UDisks2Plugin::updateActions() else action->setIcon(qApp->style()->standardIcon(QStyle::SP_DriveHDIcon)); + qDebug("UDisks2Plugin: added menu item: \"%s\"", qPrintable(dev_path)); + action->setText(actionText); action->setData(dev_path); m_actions->addAction(action); @@ -182,6 +162,7 @@ void UDisks2Plugin::updateActions() { if (!findDevice(action)) { + qDebug("UDisks2Plugin: removed menu item: \"%s\"", qPrintable(action->data().toString())); m_actions->removeAction(action); UiHelper::instance()->removeAction(action); removePath(action->data().toString()); -- cgit v1.2.3-13-gbd6f