From a9d75e628bc22a880663f1643ac29a3d2df58143 Mon Sep 17 00:00:00 2001 From: David Sansome Date: Sun, 25 Jul 2010 01:07:51 +0000 Subject: [PATCH] Remove the connect/disconnect actions and replace them with an eject device action. Implement eject on devicekit and gio. --- data/data.qrc | 3 ++ data/icons/22x22/media-eject.png | Bin 0 -> 757 bytes data/icons/32x32/media-eject.png | Bin 0 -> 1197 bytes data/icons/48x48/media-eject.png | Bin 0 -> 1947 bytes src/devices/devicekitlister.cpp | 30 ++++++++++++++ src/devices/devicekitlister.h | 3 +- src/devices/devicelister.h | 4 +- src/devices/devicemanager.cpp | 12 ++++++ src/devices/devicemanager.h | 1 + src/devices/deviceview.cpp | 23 ++++------- src/devices/deviceview.h | 5 +-- src/devices/giolister.cpp | 64 +++++++++++++++++++++++++++++- src/devices/giolister.h | 7 +++- src/devices/macdevicelister.h | 2 + src/devices/macdevicelister.mm | 4 ++ src/translations/ar.po | 6 +-- src/translations/bg.po | 6 +-- src/translations/cs.po | 6 +-- src/translations/da.po | 6 +-- src/translations/de.po | 9 +++-- src/translations/el.po | 9 +++-- src/translations/en_CA.po | 6 +-- src/translations/en_GB.po | 6 +-- src/translations/es.po | 9 +++-- src/translations/fi.po | 6 +-- src/translations/fr.po | 6 +-- src/translations/gl.po | 6 +-- src/translations/it.po | 9 +++-- src/translations/kk.po | 6 +-- src/translations/lt.po | 6 +-- src/translations/nb.po | 6 +-- src/translations/nl.po | 9 +++-- src/translations/oc.po | 6 +-- src/translations/pl.po | 9 +++-- src/translations/pt.po | 9 +++-- src/translations/pt_BR.po | 6 +-- src/translations/ro.po | 6 +-- src/translations/ru.po | 9 +++-- src/translations/sk.po | 9 +++-- src/translations/sr.po | 9 +++-- src/translations/sv.po | 6 +-- src/translations/tr.po | 9 +++-- src/translations/translations.pot | 6 +-- src/translations/uk.po | 9 +++-- src/translations/zh_CN.po | 6 +-- src/translations/zh_TW.po | 6 +-- 46 files changed, 265 insertions(+), 115 deletions(-) create mode 100644 data/icons/22x22/media-eject.png create mode 100644 data/icons/32x32/media-eject.png create mode 100644 data/icons/48x48/media-eject.png 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 0000000000000000000000000000000000000000..06c4c537298e09c13c138e06e7f97ddbca9ee3ea GIT binary patch literal 757 zcmVMzCV_|S* zE^l&Yo9;Xs0007XNkl)kt8AnMR4dK zLKHNSL~!lU$*CQr2o?vOg6$v(qCuM$%xIA+2%VBZv?>Xh6atb0EGGA^>;n)YfU6U3^!mGcddOr-vX+Zi7XU&8A2o~FV)_7ePZ$;S3IpML+;qVpKPeBY=+@$Z8GT1o(y(ea9%@6CI||- zx=HulQ4E%6%@CpwC-NWK-Y}-FER#7DotEo5cHnonG^KBSzL4(Kiyt4?hFs9_go=`A z-XC6+%A^ua+geJm-T5-*(r=f>c@A zLk-copjgg|rR2?)j$Fe_)&T%RQeC+XiDD@$785OxG;|&M#6$ZI^<++|`$|*Skp~jR zVtB6}*N*zn`#?k0V?iN;AkmOJ@U>r6Tj5-KzjJ#%nc8&L8L66@KBv{xoKn?uv>ARb`uD z`1>{?g2`r_Ev7rFp7XqOg1@cXaG)ZY3zu%TAw&T0Ot_Kv=W;nxsZ`o>@zw%BhyZxE n9>kdg00002b3#c}2nbc| zMg#x=010qNS#tmY19kua19ky@)q>0b000?uMObuGZ)S9NVRB^vcXxL#X>MzCV_|S* zE^l&Yo9;Xs000CmNklEXYG@4WtTcieUOLZZHf>cU~ixmG=CQwP!Bu-{B@7?Ri zc@Ik&$@{qT-kp2ScfR-TJ?FSU=k->}A9Q1kFeE@-SPG}3bFa2KZ9532hQb8T`)a@w z$c>25*kHy@j@Ne}nCuSY9P^cgHZ8VEMS`4Tij?T0K-6H`O-(fam*Dlm@Kva#H2H@} z+J~vq1Db7cl{#LtZjreKcjS$g4ubKA!WlojO+y6x*voBnTTG;5TiD`fF6zIE)I?X^ zp{dKa5WF@RF8bjn>kP1;-P|t8&H#Z_NTg(iGpy1l8d25NwJ@V4_9*+Eo2)LV|O$@m+T+((ma)LGee#v}BA;k8L?l%HI zQt(5m1oqKovV$4b`Pz1Ui%rqCadLT&J&a@ort?k`*}EYTcs=x*e2cG`$NAfmsVRyz z-6M*kncxKdMiB`EmTG<|3JAG4G!j0Lf>l=dohvMB6IV@z*Zp|*F>~u+h(bMRvYFEa z=J<`GptPY^DK(&|eR?ia;#WR}+-@zSs26-a+~+h+@Iv4yFR;^<63p_N5%_u(mLL{) zTT9-S!w&9R&Fz-trTJ1JoC+_-EZe3eIl(a+w1hT^W{yIBj8E8VX16E;%}y1TC;%y=UlfPHeSluM!g)VbTi9XLY7yG5*N~HrdMGJ~enl zYG~Wamb6}xwL(tIlS0-E7>#RXzQZw^Iowjz@~UXj&nhp<$bCUxH;d}CDyqS1@*bUo zVTwX_xXEgwxnEN)TDH3ER8(hg7FDBASr5YrEg6sTgv{bRwL`Aydp^fm(#!qO?B$Ne z^2{J=EZ&6nC|w`mF7A-abwyqjHm%@^a)BdrosGpPthI%TeKI@TAul6V=mcl2ZLYaP zbA8&HYp4cuHUb-hHP@3nG}oIXrErijHxlyp?&`{z)9&2KR;TU1R|o($|5oix00000 LNkvXXu0mjfH6JeA literal 0 HcmV?d00001 diff --git a/data/icons/48x48/media-eject.png b/data/icons/48x48/media-eject.png new file mode 100644 index 0000000000000000000000000000000000000000..dcab202698e233eaf5a556f53d7ceeaf9a363903 GIT binary patch literal 1947 zcmV;M2W0q(P)MzCV_|S* zE^l&Yo9;Xs000LXNklx*3F9e&O^GqZC`8jY>Hvv{K-Y7x|C7qpRl2*EGr zf*-8d_-+4yfJ;d=ge9ag$`+AAN^rllX>>OtBw8DBNvXJKjcub54aC(3>|Pp@hIMCl z_A+yRKIh?m=h98GZqLJSZs+|y&-=TaciwXX!%D}&95&lVbfY8#CNYs%FosjRt1Ee5 zSKz>U+kvgvg1iB+RyWAzFp9T=HhAdmxyys|l;it$WOLX{oioT{1OO!c{^Q6x!7M`CE`t~2arogj1am3_YMVa&N z#f>OnE$LGT1i&O=5?R1J?IJ#4EJfsy);K(U;Ez`o_*JjHXW1k*6*~S5chhMdEh6AM zMiK@IIFUJyK7%o2QBbNF#ir*^FB8~ZvcFqboemW`ZsGiYh_!SG1xHV_RtbkW;wzlw zsDe@%Oa&VbPPPgBGO`cRquHa5$FUw=SffUC^fdSgWae6!2_@#~H-%wDE(&(kLoe2$ z$aTbh)>BV%PdrNc5`LftOf?WSzNOocK?jk;8u~mY|0T*=Pu$lM!7~Mn$DK8voWUmC zC;Ai-DuSRT|7T!$uqBE*p(xbSv-k*qp>HnnoyMKNskjK@{nRh{Vqkj*2n$H92SU&S=bvKeIx?SU#Q>>&372H z`tC(2;Y6~?W3zacP~)_Bt(Smpw_>b9{RB4>>Bg+1mg3e)e+7$lzJ%Y?orjlk(WZ$U zZpMAO{$p6twn?DAjak%n*^2^;6*`F88JL=JRMn6boWn8Ss#R6{#iBZU>@E zIXfJuSzz}4{ph4bswMZH{vXW#f(PBlnaJCngskNn5AY?*NGGYi_2f%oygAO-Re?LG zUi4j0pyB#&98cCyp@KQ#FwVC{5jA4S;4W2xh0e#D!+4`nmlFIrgdaO6;-V} zE=78u#jo+-HVIXYmSGh{4>E5Iq*3H{v=i^N$RLh}e);wXsIV5QKybw%DwE zFSDEOhCe*R8ox;>r3@Z$)c$=2ztzl{ahDc0sM4pamf(~);sw0KtfS4p$r;+Dxn2SE z$-UR`JIo^T%YZ0zNh=U}e(FHREfTYgq6W12&$@S;3~fR`^QX8)7Z}0UqV@|}j>zju zFQOocEIORb1q^#?hj0D2iIh!3K~a&i2&dCFvLxI@|2x#BZ82cGk$ZW;j2Ep zCvk;rp^G34#-Q#^;hYvIig=k-kbCM_44-N>Q{#@M?3B$RA0omy9>F3yd>q1axCGNm zD{=kiR~{9gb_gbjUTyq^TPVqVD)ooz&QWX+IQ$z1mPd`CzGh(f4=$=fn@t)g(W>lO zA>YV5A@3O$J*WBG=#gq7^rmS}0siVpnyIR`FJ+pyM_Nd^xjTCL|Jkt_Z~{CJJ7F)Q z7;^AG@sJv?=2oRNjyU@353Z>Op zc~$Y2m?SWG^s?U<4PqLIkij|X&rw8Wl~XK8W*N1hk$&SchO=ae0FaT>b^@BC_~e(0P#)3!L8T+5)Qr1FuyY0zfbnd>ka*L3@>XEJIzRuzkX;h1gtD z1d-3P3tw>z0mwG=KbzktOVH+bNelE-xCaGf-EtN!-~Ku|6;?i9V2GdSq0KKg47YE7 zC86zmlG6p+Hax5)E#)Oz`pE>*3st<2*Gb($3$=Y8UbcPL@pIjP#OmfMV|WZ*l*ss9 zsu%F|ZsY{p{WCvKHy|TdzX6d1Z=sN-Be6h&9z2S5$PiZ%Ao&d5#@~3R!|kTPTd0w1 z-$F^E7ssv38rP-aHr$H`a04QO5^iC*f;0FW|Kj(I$aQWCJ4UX56DWxiC3;BXFCo3I zMG)itu4bu+_F8k7W--bj$^##)l!tR{b!fUB*4m2} 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 "取樣頻率"