Remove the connect/disconnect actions and replace them with an eject device action. Implement eject on devicekit and gio.

This commit is contained in:
David Sansome 2010-07-25 01:07:51 +00:00
parent 7b1ea18621
commit a9d75e628b
46 changed files with 265 additions and 115 deletions

View File

@ -252,5 +252,8 @@
<file>hypnotoad.gif</file>
<file>blank.ttf</file>
<file>schema-16.sql</file>
<file>icons/22x22/media-eject.png</file>
<file>icons/32x32/media-eject.png</file>
<file>icons/48x48/media-eject.png</file>
</qresource>
</RCC>

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -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
}

View File

@ -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();

View File

@ -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);

View File

@ -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_);
}

View File

@ -79,6 +79,7 @@ public:
boost::shared_ptr<ConnectedDevice> 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);

View File

@ -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());
}

View File

@ -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<OrganiseDialog> organise_dialog_;
QMenu* device_menu_;
QAction* connect_action_;
QAction* disconnect_action_;
QAction* eject_action_;
QAction* forget_action_;
QAction* properties_action_;

View File

@ -21,6 +21,8 @@
#include <QStringList>
#include <QtDebug>
#include <boost/bind.hpp>
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 <typename T, typename F>
void OperationFinished(F f, GObject *object, GAsyncResult *result) {
T* obj = reinterpret_cast<T*>(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<GVolume>(boost::bind(
g_volume_eject_with_operation_finish, _1, _2, _3), object, result);
}
void GioLister::MountEjectFinished(GObject *object, GAsyncResult *result, gpointer) {
OperationFinished<GMount>(boost::bind(
g_mount_eject_with_operation_finish, _1, _2, _3), object, result);
}
void GioLister::MountUnmountFinished(GObject *object, GAsyncResult *result, gpointer) {
OperationFinished<GMount>(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);
}
}

View File

@ -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);

View File

@ -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();

View File

@ -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");
}

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 "Συνδέθηκε"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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"

View File

@ -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"

View File

@ -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 ""

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 "Подключено"

View File

@ -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é"

View File

@ -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 "Повезан"

View File

@ -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"

View File

@ -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ı"

View File

@ -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 ""

View File

@ -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 "З'єднано"

View File

@ -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 "采样率"

View File

@ -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 "取樣頻率"