diff --git a/data/data.qrc b/data/data.qrc index cfc4c149e..a113e7884 100644 --- a/data/data.qrc +++ b/data/data.qrc @@ -252,5 +252,8 @@ hypnotoad.gif blank.ttf schema-16.sql + icons/22x22/media-eject.png + icons/32x32/media-eject.png + icons/48x48/media-eject.png diff --git a/data/icons/22x22/media-eject.png b/data/icons/22x22/media-eject.png new file mode 100644 index 000000000..06c4c5372 Binary files /dev/null and b/data/icons/22x22/media-eject.png differ diff --git a/data/icons/32x32/media-eject.png b/data/icons/32x32/media-eject.png new file mode 100644 index 000000000..96f7ea9bb Binary files /dev/null and b/data/icons/32x32/media-eject.png differ diff --git a/data/icons/48x48/media-eject.png b/data/icons/48x48/media-eject.png new file mode 100644 index 000000000..dcab20269 Binary files /dev/null and b/data/icons/48x48/media-eject.png differ diff --git a/src/devices/devicekitlister.cpp b/src/devices/devicekitlister.cpp index ecf77b010..354341046 100644 --- a/src/devices/devicekitlister.cpp +++ b/src/devices/devicekitlister.cpp @@ -239,3 +239,33 @@ QUrl DeviceKitLister::MakeDeviceUrl(const QString& id) { return MakeUrlFromLocalPath(mount_point); } + +void DeviceKitLister::UnmountDevice(const QString& id) { + QString path = LockAndGetDeviceInfo(id, &DeviceData::dbus_path); + + OrgFreedesktopUDisksDeviceInterface device( + OrgFreedesktopUDisksInterface::staticInterfaceName(), + path, QDBusConnection::systemBus()); + if (!device.isValid()) { + qWarning() << "Error connecting to the device interface on" << path; + return; + } + + // Get the device's parent drive + QString drive_path = device.partitionSlave().path(); + OrgFreedesktopUDisksDeviceInterface drive( + OrgFreedesktopUDisksInterface::staticInterfaceName(), + drive_path, QDBusConnection::systemBus()); + if (!drive.isValid()) { + qWarning() << "Error connecting to the drive interface on" << drive_path; + return; + } + + // Unmount the filesystem + QDBusPendingReply<> reply = device.FilesystemUnmount(QStringList()); + reply.waitForFinished(); + + // Eject the drive + drive.DriveEject(QStringList()); + // Don't bother waiting for the eject to finish +} diff --git a/src/devices/devicekitlister.h b/src/devices/devicekitlister.h index b6ffcd378..2a4225248 100644 --- a/src/devices/devicekitlister.h +++ b/src/devices/devicekitlister.h @@ -44,9 +44,10 @@ public: QVariantMap DeviceHardwareInfo(const QString& id); QString MakeFriendlyName(const QString &id); - QUrl MakeDeviceUrl(const QString &id); + void UnmountDevice(const QString &id); + protected: void Init(); diff --git a/src/devices/devicelister.h b/src/devices/devicelister.h index 8b45814d7..0fe23ef60 100644 --- a/src/devices/devicelister.h +++ b/src/devices/devicelister.h @@ -50,9 +50,11 @@ public: virtual QVariantMap DeviceHardwareInfo(const QString& id) = 0; virtual QString MakeFriendlyName(const QString& id) = 0; - virtual QUrl MakeDeviceUrl(const QString& id) = 0; + // Do whatever needs to be done to safely remove the device. + virtual void UnmountDevice(const QString& id) = 0; + signals: void DeviceAdded(const QString& id); void DeviceRemoved(const QString& id); diff --git a/src/devices/devicemanager.cpp b/src/devices/devicemanager.cpp index 4f97b96e0..a9c5aedfb 100644 --- a/src/devices/devicemanager.cpp +++ b/src/devices/devicemanager.cpp @@ -563,3 +563,15 @@ void DeviceManager::TasksChanged() { emit dataChanged(index, index); } } + +void DeviceManager::Unmount(int row) { + DeviceInfo& info = devices_[row]; + if (info.database_id_ == -1) + return; + + if (info.device_) + Disconnect(row); + + if (info.BestBackend()->lister_) + info.BestBackend()->lister_->UnmountDevice(info.BestBackend()->unique_id_); +} diff --git a/src/devices/devicemanager.h b/src/devices/devicemanager.h index 360b759a5..4280ceb36 100644 --- a/src/devices/devicemanager.h +++ b/src/devices/devicemanager.h @@ -79,6 +79,7 @@ public: boost::shared_ptr Connect(int row); void Disconnect(int row); void Forget(int row); + void Unmount(int row); void SetDeviceIdentity(int row, const QString& friendly_name, const QString& icon_name); diff --git a/src/devices/deviceview.cpp b/src/devices/deviceview.cpp index 3b6c214de..6d5479b72 100644 --- a/src/devices/deviceview.cpp +++ b/src/devices/deviceview.cpp @@ -121,10 +121,8 @@ DeviceView::DeviceView(QWidget* parent) library_menu_(new QMenu(this)) { // Device menu items - connect_action_ = device_menu_->addAction( - IconLoader::Load("list-add"), tr("Connect device"), this, SLOT(Connect())); - disconnect_action_ = device_menu_->addAction( - IconLoader::Load("list-remove"), tr("Disconnect device"), this, SLOT(Disconnect())); + eject_action_ = device_menu_->addAction( + IconLoader::Load("media-eject"), tr("Safely remove device"), this, SLOT(Unmount())); forget_action_ = device_menu_->addAction( IconLoader::Load("list-remove"), tr("Forget device"), this, SLOT(Forget())); device_menu_->addSeparator(); @@ -187,16 +185,11 @@ void DeviceView::contextMenuEvent(QContextMenuEvent* e) { const QModelIndex library_index = MapToLibrary(menu_index_); if (device_index.isValid()) { - const bool is_connected = manager_->GetConnectedDevice(device_index.row()); const bool is_plugged_in = manager_->GetLister(device_index.row()); const bool is_remembered = manager_->GetDatabaseId(device_index.row()) != -1; - connect_action_->setEnabled(is_plugged_in); - disconnect_action_->setEnabled(is_plugged_in); forget_action_->setEnabled(is_remembered); - - connect_action_->setVisible(!is_connected); - disconnect_action_->setVisible(is_connected); + eject_action_->setEnabled(is_plugged_in); device_menu_->popup(e->globalPos()); } else if (library_index.isValid()) { @@ -254,11 +247,6 @@ void DeviceView::Connect() { expand(menu_index_); } -void DeviceView::Disconnect() { - QModelIndex device_idx = MapToDevice(menu_index_); - manager_->Disconnect(device_idx.row()); -} - void DeviceView::DeviceDisconnected(int row) { merged_model_->RemoveSubModel(sort_model_->mapFromSource(manager_->index(row))); } @@ -343,3 +331,8 @@ void DeviceView::Organise() { organise_dialog_->SetFilenames(filenames); organise_dialog_->show(); } + +void DeviceView::Unmount() { + QModelIndex device_idx = MapToDevice(menu_index_); + manager_->Unmount(device_idx.row()); +} diff --git a/src/devices/deviceview.h b/src/devices/deviceview.h index 9a4a2b3b1..67060e62b 100644 --- a/src/devices/deviceview.h +++ b/src/devices/deviceview.h @@ -62,7 +62,7 @@ protected: private slots: // Device menu actions void Connect(); - void Disconnect(); + void Unmount(); void Forget(); void Properties(); @@ -89,8 +89,7 @@ private: boost::scoped_ptr organise_dialog_; QMenu* device_menu_; - QAction* connect_action_; - QAction* disconnect_action_; + QAction* eject_action_; QAction* forget_action_; QAction* properties_action_; diff --git a/src/devices/giolister.cpp b/src/devices/giolister.cpp index 3ba694981..c7e7d8a4b 100644 --- a/src/devices/giolister.cpp +++ b/src/devices/giolister.cpp @@ -21,6 +21,8 @@ #include #include +#include + QString GioLister::MountInfo::unique_id() const { return QString("Gio/%1/%2/%3").arg(uuid, filesystem_type).arg(filesystem_size); } @@ -139,7 +141,14 @@ void GioLister::MountChanged(GMount *mount) { if (id.isNull()) return; - mounts_[id] = ReadMountInfo(mount); + MountInfo new_info = ReadMountInfo(mount); + + // Ignore the change if the new info is useless + if ((mounts_[id].filesystem_size != 0 && new_info.filesystem_size == 0) || + (!mounts_[id].filesystem_type.isEmpty() && new_info.filesystem_type.isEmpty())) { + return; + } + mounts_[id] = new_info; } emit DeviceChanged(id); @@ -242,3 +251,56 @@ QString GioLister::FindUniqueIdByMount(GMount *mount) const { } return QString(); } + +template +void OperationFinished(F f, GObject *object, GAsyncResult *result) { + T* obj = reinterpret_cast(object); + GError* error = NULL; + + f(obj, result, &error); + + if (error) { + qDebug() << "Unmount error:" << error->message; + g_error_free(error); + } +} + +void GioLister::VolumeEjectFinished(GObject *object, GAsyncResult *result, gpointer) { + OperationFinished(boost::bind( + g_volume_eject_with_operation_finish, _1, _2, _3), object, result); +} + +void GioLister::MountEjectFinished(GObject *object, GAsyncResult *result, gpointer) { + OperationFinished(boost::bind( + g_mount_eject_with_operation_finish, _1, _2, _3), object, result); +} + +void GioLister::MountUnmountFinished(GObject *object, GAsyncResult *result, gpointer) { + OperationFinished(boost::bind( + g_mount_unmount_with_operation_finish, _1, _2, _3), object, result); +} + +void GioLister::UnmountDevice(const QString &id) { + GMount* mount = LockAndGetMountInfo(id, &MountInfo::mount); + if (!mount) + return; + + GVolume* volume = g_mount_get_volume(mount); + if (volume) { + if (g_volume_can_eject(volume)) { + g_volume_eject(volume, G_MOUNT_UNMOUNT_NONE, NULL, + (GAsyncReadyCallback) VolumeEjectFinished, NULL); + g_object_unref(volume); + return; + } + g_object_unref(volume); + } + + if (g_mount_can_eject(mount)) { + g_mount_eject(mount, G_MOUNT_UNMOUNT_NONE, NULL, + (GAsyncReadyCallback) MountEjectFinished, NULL); + } else if (g_mount_can_unmount(mount)) { + g_mount_unmount(mount, G_MOUNT_UNMOUNT_NONE, NULL, + (GAsyncReadyCallback) MountUnmountFinished, NULL); + } +} diff --git a/src/devices/giolister.h b/src/devices/giolister.h index 15c013e6a..86018c1f3 100644 --- a/src/devices/giolister.h +++ b/src/devices/giolister.h @@ -42,9 +42,10 @@ public: QVariantMap DeviceHardwareInfo(const QString& id); QString MakeFriendlyName(const QString &id); - QUrl MakeDeviceUrl(const QString &id); + void UnmountDevice(const QString &id); + protected: void Init(); @@ -74,6 +75,10 @@ private: static void MountChangedCallback(GVolumeMonitor*, GMount*, gpointer); static void MountRemovedCallback(GVolumeMonitor*, GMount*, gpointer); + static void VolumeEjectFinished(GObject *object, GAsyncResult *result, gpointer); + static void MountEjectFinished(GObject *object, GAsyncResult *result, gpointer); + static void MountUnmountFinished(GObject *object, GAsyncResult *result, gpointer); + static QString ConvertAndFree(char* str); static MountInfo ReadMountInfo(GMount* mount); diff --git a/src/devices/macdevicelister.h b/src/devices/macdevicelister.h index f9f614b9e..26120cf2b 100644 --- a/src/devices/macdevicelister.h +++ b/src/devices/macdevicelister.h @@ -25,6 +25,8 @@ class MacDeviceLister : public DeviceLister { virtual QString MakeFriendlyName(const QString& id); virtual QUrl MakeDeviceUrl(const QString& id); + virtual void UnmountDevice(const QString &id); + private: virtual void Init(); diff --git a/src/devices/macdevicelister.mm b/src/devices/macdevicelister.mm index 24cd4adca..b96b9f590 100644 --- a/src/devices/macdevicelister.mm +++ b/src/devices/macdevicelister.mm @@ -327,3 +327,7 @@ quint64 MacDeviceLister::DeviceFreeSpace(const QString& serial){ } QVariantMap MacDeviceLister::DeviceHardwareInfo(const QString& id){return QVariantMap();} + +void MacDeviceLister::UnmountDevice(const QString &id) { + qFatal("Fixme"); +} diff --git a/src/translations/ar.po b/src/translations/ar.po index 7a87dc19f..b21ead180 100644 --- a/src/translations/ar.po +++ b/src/translations/ar.po @@ -521,9 +521,6 @@ msgstr "" msgid "Disc" msgstr "قرص مدمج" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1299,6 +1296,9 @@ msgstr "" msgid "Rock" msgstr "" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "" diff --git a/src/translations/bg.po b/src/translations/bg.po index 10a9ae714..a14e627c9 100644 --- a/src/translations/bg.po +++ b/src/translations/bg.po @@ -521,9 +521,6 @@ msgstr "" msgid "Disc" msgstr "" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1299,6 +1296,9 @@ msgstr "" msgid "Rock" msgstr "" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "" diff --git a/src/translations/cs.po b/src/translations/cs.po index e147eda74..e8d9587c5 100644 --- a/src/translations/cs.po +++ b/src/translations/cs.po @@ -522,9 +522,6 @@ msgstr "Zakázáno" msgid "Disc" msgstr "Disk" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "Volby zobrazení" @@ -1303,6 +1300,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Vzorkovací frekvence" diff --git a/src/translations/da.po b/src/translations/da.po index e8f2fe43d..19a0e71e2 100644 --- a/src/translations/da.po +++ b/src/translations/da.po @@ -522,9 +522,6 @@ msgstr "Deaktiveret" msgid "Disc" msgstr "Disk" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1304,6 +1301,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Samplingsrate" diff --git a/src/translations/de.po b/src/translations/de.po index 0cb466405..b51bd87b4 100644 --- a/src/translations/de.po +++ b/src/translations/de.po @@ -530,9 +530,6 @@ msgstr "Deaktiviert" msgid "Disc" msgstr "CD/DVD" -msgid "Disconnect device" -msgstr "Gerät trennen" - msgid "Display options" msgstr "Anzeigeoptionen" @@ -1318,6 +1315,9 @@ msgstr "Nur ASCII-Zeichen benutzen" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Abtastrate" @@ -1774,6 +1774,9 @@ msgstr "Anhalten" msgid "track %1" msgstr "Stück %1" +#~ msgid "Disconnect device" +#~ msgstr "Gerät trennen" + #~ msgid "Connected" #~ msgstr "Verbunden" diff --git a/src/translations/el.po b/src/translations/el.po index f0bbe1edc..3a3a10598 100644 --- a/src/translations/el.po +++ b/src/translations/el.po @@ -533,9 +533,6 @@ msgstr "Απενεργοποιημένο" msgid "Disc" msgstr "Δίσκος" -msgid "Disconnect device" -msgstr "Αποσύνδεση συσκευής" - msgid "Display options" msgstr "Επιλογές απεικόνισης" @@ -1320,6 +1317,9 @@ msgstr "Περιορισμός σε χαρακτήρες ASCII" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Ρυθμός δειγματοληψίας" @@ -1779,6 +1779,9 @@ msgstr "διακοπή" msgid "track %1" msgstr "κομμάτι %1" +#~ msgid "Disconnect device" +#~ msgstr "Αποσύνδεση συσκευής" + #~ msgid "Connected" #~ msgstr "Συνδέθηκε" diff --git a/src/translations/en_CA.po b/src/translations/en_CA.po index 78c96656d..f7fee69c7 100644 --- a/src/translations/en_CA.po +++ b/src/translations/en_CA.po @@ -523,9 +523,6 @@ msgstr "Disabled" msgid "Disc" msgstr "Disc" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "Display options" @@ -1304,6 +1301,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Sample rate" diff --git a/src/translations/en_GB.po b/src/translations/en_GB.po index 49f907517..06182bd0e 100644 --- a/src/translations/en_GB.po +++ b/src/translations/en_GB.po @@ -521,9 +521,6 @@ msgstr "Disabled" msgid "Disc" msgstr "Disc" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1301,6 +1298,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Sample rate" diff --git a/src/translations/es.po b/src/translations/es.po index ea8623448..3dec7b282 100644 --- a/src/translations/es.po +++ b/src/translations/es.po @@ -533,9 +533,6 @@ msgstr "Desactivado" msgid "Disc" msgstr "Disco" -msgid "Disconnect device" -msgstr "Desconectar el dispositivo" - msgid "Display options" msgstr "Opciones de visualización" @@ -1324,6 +1321,9 @@ msgstr "Restringir a caracteres ASCII" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Tasa de muestreo" @@ -1780,6 +1780,9 @@ msgstr "detener" msgid "track %1" msgstr "Pista %1" +#~ msgid "Disconnect device" +#~ msgstr "Desconectar el dispositivo" + #~ msgid "Connected" #~ msgstr "Conectado" diff --git a/src/translations/fi.po b/src/translations/fi.po index d96d439e5..eb0b13c68 100644 --- a/src/translations/fi.po +++ b/src/translations/fi.po @@ -521,9 +521,6 @@ msgstr "" msgid "Disc" msgstr "Levy" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1301,6 +1298,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "" diff --git a/src/translations/fr.po b/src/translations/fr.po index 43efb8f2c..ff71cd115 100644 --- a/src/translations/fr.po +++ b/src/translations/fr.po @@ -526,9 +526,6 @@ msgstr "Désactivées" msgid "Disc" msgstr "CD" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1311,6 +1308,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Échantillonnage" diff --git a/src/translations/gl.po b/src/translations/gl.po index 24659927c..64b02c9fd 100644 --- a/src/translations/gl.po +++ b/src/translations/gl.po @@ -521,9 +521,6 @@ msgstr "" msgid "Disc" msgstr "Disco" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1301,6 +1298,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Taxa de mostra" diff --git a/src/translations/it.po b/src/translations/it.po index 37b751835..5c565844c 100644 --- a/src/translations/it.po +++ b/src/translations/it.po @@ -532,9 +532,6 @@ msgstr "Disabilitata" msgid "Disc" msgstr "Disco" -msgid "Disconnect device" -msgstr "Disconnetti dispositivo" - msgid "Display options" msgstr "Opzioni di visualizzazione" @@ -1323,6 +1320,9 @@ msgstr "Limita ai caratteri ASCII" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Campionamento" @@ -1784,6 +1784,9 @@ msgstr "ferma" msgid "track %1" msgstr "traccia %1" +#~ msgid "Disconnect device" +#~ msgstr "Disconnetti dispositivo" + #~ msgid "Connected" #~ msgstr "Connesso" diff --git a/src/translations/kk.po b/src/translations/kk.po index 3bdfcec3a..7993b93be 100644 --- a/src/translations/kk.po +++ b/src/translations/kk.po @@ -521,9 +521,6 @@ msgstr "" msgid "Disc" msgstr "Диск" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1301,6 +1298,9 @@ msgstr "" msgid "Rock" msgstr "Рок" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "" diff --git a/src/translations/lt.po b/src/translations/lt.po index 9ff27f98d..3350e0bf2 100644 --- a/src/translations/lt.po +++ b/src/translations/lt.po @@ -521,9 +521,6 @@ msgstr "" msgid "Disc" msgstr "" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1299,6 +1296,9 @@ msgstr "" msgid "Rock" msgstr "" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "" diff --git a/src/translations/nb.po b/src/translations/nb.po index 5fe12c4f7..efe930190 100644 --- a/src/translations/nb.po +++ b/src/translations/nb.po @@ -521,9 +521,6 @@ msgstr "Deaktivert" msgid "Disc" msgstr "Disk" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1302,6 +1299,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Samplingsrate" diff --git a/src/translations/nl.po b/src/translations/nl.po index 420bb3d38..29bcfbb54 100644 --- a/src/translations/nl.po +++ b/src/translations/nl.po @@ -529,9 +529,6 @@ msgstr "Uitgeschakeld" msgid "Disc" msgstr "Schijf" -msgid "Disconnect device" -msgstr "Verbinding met apparaat verbreken" - msgid "Display options" msgstr "Weergaveopties" @@ -1318,6 +1315,9 @@ msgstr "Beperken tot ASCII karakters" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Samplerate" @@ -1773,6 +1773,9 @@ msgstr "stoppen" msgid "track %1" msgstr "track %1" +#~ msgid "Disconnect device" +#~ msgstr "Verbinding met apparaat verbreken" + #~ msgid "Connected" #~ msgstr "Verbonden" diff --git a/src/translations/oc.po b/src/translations/oc.po index 11d7dc81f..ac1ee08a6 100644 --- a/src/translations/oc.po +++ b/src/translations/oc.po @@ -521,9 +521,6 @@ msgstr "Desactivat" msgid "Disc" msgstr "Disc" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1299,6 +1296,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "" diff --git a/src/translations/pl.po b/src/translations/pl.po index ba9aab9d0..3902931eb 100644 --- a/src/translations/pl.po +++ b/src/translations/pl.po @@ -527,9 +527,6 @@ msgstr "Wyłączone" msgid "Disc" msgstr "Płyta" -msgid "Disconnect device" -msgstr "Odłącz urządzenie" - msgid "Display options" msgstr "Opcje wyświetlania" @@ -1310,6 +1307,9 @@ msgstr "" msgid "Rock" msgstr "" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "" @@ -1755,6 +1755,9 @@ msgstr "" msgid "track %1" msgstr "utwór %1" +#~ msgid "Disconnect device" +#~ msgstr "Odłącz urządzenie" + #~ msgid "Connected" #~ msgstr "Podłączono" diff --git a/src/translations/pt.po b/src/translations/pt.po index 78409a0f3..e8d65fb3e 100644 --- a/src/translations/pt.po +++ b/src/translations/pt.po @@ -530,9 +530,6 @@ msgstr "Desactivado" msgid "Disc" msgstr "Disco" -msgid "Disconnect device" -msgstr "Desligar o dispositivo" - msgid "Display options" msgstr "Opções de exibição" @@ -1315,6 +1312,9 @@ msgstr "Restringir a caracteres ASCII" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Taxa de amostragem" @@ -1770,6 +1770,9 @@ msgstr "parar" msgid "track %1" msgstr "faixa %1" +#~ msgid "Disconnect device" +#~ msgstr "Desligar o dispositivo" + #~ msgid "Connected" #~ msgstr "Ligado" diff --git a/src/translations/pt_BR.po b/src/translations/pt_BR.po index 1cda10762..9173b824e 100644 --- a/src/translations/pt_BR.po +++ b/src/translations/pt_BR.po @@ -526,9 +526,6 @@ msgstr "Desativado" msgid "Disc" msgstr "Disco" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "Exibir opções" @@ -1311,6 +1308,9 @@ msgstr "Restringir a caracteres ASCII" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Taxa de amostragem" diff --git a/src/translations/ro.po b/src/translations/ro.po index 88769a958..bf7925fcc 100644 --- a/src/translations/ro.po +++ b/src/translations/ro.po @@ -521,9 +521,6 @@ msgstr "Dezactivat" msgid "Disc" msgstr "Disc" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1300,6 +1297,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Rată de eșantionare" diff --git a/src/translations/ru.po b/src/translations/ru.po index 2ce3988cb..e15d205cc 100644 --- a/src/translations/ru.po +++ b/src/translations/ru.po @@ -528,9 +528,6 @@ msgstr "Отключено" msgid "Disc" msgstr "Диск" -msgid "Disconnect device" -msgstr "Отсоединение устройства" - msgid "Display options" msgstr "Настройки отображения" @@ -1313,6 +1310,9 @@ msgstr "Ограничить только символами ASCII" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Частота" @@ -1770,6 +1770,9 @@ msgstr "Остановить" msgid "track %1" msgstr "композиция %1" +#~ msgid "Disconnect device" +#~ msgstr "Отсоединение устройства" + #~ msgid "Connected" #~ msgstr "Подключено" diff --git a/src/translations/sk.po b/src/translations/sk.po index b52f74eb2..b0e7d534a 100644 --- a/src/translations/sk.po +++ b/src/translations/sk.po @@ -530,9 +530,6 @@ msgstr "Zakázané" msgid "Disc" msgstr "Disk" -msgid "Disconnect device" -msgstr "Odpojiť zariadenie" - msgid "Display options" msgstr "Možnosti zobrazovania" @@ -1314,6 +1311,9 @@ msgstr "Obmedziť na ASCII písmená" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Rýchlosť vzorkovania" @@ -1768,6 +1768,9 @@ msgstr "zastaviť" msgid "track %1" msgstr "skladba %1" +#~ msgid "Disconnect device" +#~ msgstr "Odpojiť zariadenie" + #~ msgid "Connected" #~ msgstr "Pripojené" diff --git a/src/translations/sr.po b/src/translations/sr.po index b320c1fe1..2f742e4f9 100644 --- a/src/translations/sr.po +++ b/src/translations/sr.po @@ -523,9 +523,6 @@ msgstr "Искључено" msgid "Disc" msgstr "Диск" -msgid "Disconnect device" -msgstr "Прекини везу са уређајем" - msgid "Display options" msgstr "Опције приказа" @@ -1304,6 +1301,9 @@ msgstr "Ограничи се на аски знакове" msgid "Rock" msgstr "Рок" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "узорковање" @@ -1751,6 +1751,9 @@ msgstr "Заустави" msgid "track %1" msgstr "нумера %1" +#~ msgid "Disconnect device" +#~ msgstr "Прекини везу са уређајем" + #~ msgid "Connected" #~ msgstr "Повезан" diff --git a/src/translations/sv.po b/src/translations/sv.po index 1b874b37b..0eff668a0 100644 --- a/src/translations/sv.po +++ b/src/translations/sv.po @@ -523,9 +523,6 @@ msgstr "Inaktiverad" msgid "Disc" msgstr "Skiva" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "Visningsalternativ" @@ -1304,6 +1301,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Samplingsfrekvens" diff --git a/src/translations/tr.po b/src/translations/tr.po index 24eb6f749..a365ef9e0 100644 --- a/src/translations/tr.po +++ b/src/translations/tr.po @@ -521,9 +521,6 @@ msgstr "Devre Dışı" msgid "Disc" msgstr "Disk" -msgid "Disconnect device" -msgstr "Aygıt bağlantısını kes" - msgid "Display options" msgstr "Gösterim seçenekleri" @@ -1305,6 +1302,9 @@ msgstr "" msgid "Rock" msgstr "Rock" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Örneklem oranı" @@ -1750,6 +1750,9 @@ msgstr "" msgid "track %1" msgstr "parça %1" +#~ msgid "Disconnect device" +#~ msgstr "Aygıt bağlantısını kes" + #~ msgid "Connected" #~ msgstr "Bağlı" diff --git a/src/translations/translations.pot b/src/translations/translations.pot index 48dcec084..053f41a7e 100644 --- a/src/translations/translations.pot +++ b/src/translations/translations.pot @@ -511,9 +511,6 @@ msgstr "" msgid "Disc" msgstr "" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1289,6 +1286,9 @@ msgstr "" msgid "Rock" msgstr "" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "" diff --git a/src/translations/uk.po b/src/translations/uk.po index 211fec615..3ddc97a90 100644 --- a/src/translations/uk.po +++ b/src/translations/uk.po @@ -529,9 +529,6 @@ msgstr "Вимкнено" msgid "Disc" msgstr "Диск" -msgid "Disconnect device" -msgstr "Роз'єднати пристрій" - msgid "Display options" msgstr "Параметри показу" @@ -1314,6 +1311,9 @@ msgstr "Обмежитись символами ASCII" msgid "Rock" msgstr "Рок" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "Частота вибірки" @@ -1769,6 +1769,9 @@ msgstr "зупинити" msgid "track %1" msgstr "доріжка %1" +#~ msgid "Disconnect device" +#~ msgstr "Роз'єднати пристрій" + #~ msgid "Connected" #~ msgstr "З'єднано" diff --git a/src/translations/zh_CN.po b/src/translations/zh_CN.po index 510b8eac6..ec6da652a 100644 --- a/src/translations/zh_CN.po +++ b/src/translations/zh_CN.po @@ -521,9 +521,6 @@ msgstr "" msgid "Disc" msgstr "盘片" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "" @@ -1299,6 +1296,9 @@ msgstr "" msgid "Rock" msgstr "" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "采样率" diff --git a/src/translations/zh_TW.po b/src/translations/zh_TW.po index e20784819..e1b067920 100644 --- a/src/translations/zh_TW.po +++ b/src/translations/zh_TW.po @@ -525,9 +525,6 @@ msgstr "停用" msgid "Disc" msgstr "唱片" -msgid "Disconnect device" -msgstr "" - msgid "Display options" msgstr "顯示選項" @@ -1304,6 +1301,9 @@ msgstr "限制為 ASCII字符" msgid "Rock" msgstr "搖滾" +msgid "Safely remove device" +msgstr "" + msgid "Sample rate" msgstr "取樣頻率"