From b3af9fa7d78672305fb247e904fad2745ba97856 Mon Sep 17 00:00:00 2001 From: David Sansome Date: Sun, 4 Jul 2010 15:01:24 +0000 Subject: [PATCH] Add a device properties dialog --- src/CMakeLists.txt | 4 + src/devices/devicekitlister.cpp | 78 +++++------ src/devices/devicekitlister.h | 29 +++-- src/devices/devicelister.h | 22 ++-- src/devices/devicemanager.cpp | 42 ++++-- src/devices/devicemanager.h | 12 +- src/devices/deviceproperties.cpp | 138 ++++++++++++++++++++ src/devices/deviceproperties.h | 51 ++++++++ src/devices/deviceproperties.ui | 210 ++++++++++++++++++++++++++++++ src/devices/deviceview.cpp | 13 ++ src/devices/deviceview.h | 6 + src/devices/filesystemdevice.cpp | 4 +- src/translations/ar.po | 36 +++++ src/translations/cs.po | 36 +++++ src/translations/da.po | 36 +++++ src/translations/de.po | 36 +++++ src/translations/el.po | 36 +++++ src/translations/en_CA.po | 36 +++++ src/translations/en_GB.po | 36 +++++ src/translations/es.po | 36 +++++ src/translations/fi.po | 36 +++++ src/translations/fr.po | 36 +++++ src/translations/gl.po | 36 +++++ src/translations/it.po | 36 +++++ src/translations/kk.po | 36 +++++ src/translations/nb.po | 36 +++++ src/translations/oc.po | 36 +++++ src/translations/pl.po | 36 +++++ src/translations/pt.po | 36 +++++ src/translations/pt_BR.po | 36 +++++ src/translations/ro.po | 36 +++++ src/translations/ru.po | 36 +++++ src/translations/sk.po | 36 +++++ src/translations/sv.po | 36 +++++ src/translations/tr.po | 36 +++++ src/translations/translations.pot | 36 +++++ src/translations/uk.po | 36 +++++ src/translations/zh_CN.po | 36 +++++ src/translations/zh_TW.po | 36 +++++ 39 files changed, 1507 insertions(+), 74 deletions(-) create mode 100644 src/devices/deviceproperties.cpp create mode 100644 src/devices/deviceproperties.h create mode 100644 src/devices/deviceproperties.ui diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index adba2613b..466f2a666 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -56,6 +56,7 @@ set(SOURCES devices/devicedatabasebackend.cpp devices/devicelister.cpp devices/devicemanager.cpp + devices/deviceproperties.cpp devices/deviceview.cpp devices/filesystemdevice.cpp @@ -175,6 +176,7 @@ set(HEADERS devices/devicedatabasebackend.h devices/devicelister.h devices/devicemanager.h + devices/deviceproperties.h devices/deviceview.h devices/filesystemdevice.h @@ -259,6 +261,8 @@ set(HEADERS ) set(UI + devices/deviceproperties.ui + library/groupbydialog.ui library/libraryconfig.ui library/libraryfilterwidget.ui diff --git a/src/devices/devicekitlister.cpp b/src/devices/devicekitlister.cpp index d08c58069..e1daa611b 100644 --- a/src/devices/devicekitlister.cpp +++ b/src/devices/devicekitlister.cpp @@ -83,51 +83,54 @@ QStringList DeviceKitLister::DeviceUniqueIDs() { return device_data_.keys(); } -QVariant DeviceKitLister::DeviceInfo(const QString& id, int field) { - DeviceData data; +QString DeviceKitLister::DeviceIcon(const QString &id) { + return LockAndGetDeviceInfo(id, &DeviceData::device_presentation_icon_name); +} - { - QMutexLocker l(&mutex_); - if (!device_data_.contains(id)) - return QVariant(); - data = device_data_[id]; - } +QString DeviceKitLister::DeviceManufacturer(const QString &id) { + return LockAndGetDeviceInfo(id, &DeviceData::drive_vendor); +} - switch (field) { - case Field_UniqueID: - return data.unique_id(); +QString DeviceKitLister::DeviceModel(const QString &id) { + return LockAndGetDeviceInfo(id, &DeviceData::drive_model); +} - case Field_FriendlyName: - if (!data.device_presentation_name.isEmpty()) - return data.device_presentation_name; - if (!data.drive_model.isEmpty() || !data.drive_vendor.isEmpty()) - return QString("%1 %2").arg(data.drive_vendor, data.drive_model); - return data.drive_serial; +quint64 DeviceKitLister::DeviceCapacity(const QString &id) { + return LockAndGetDeviceInfo(id, &DeviceData::device_size); +} - case Field_Icon: - return data.device_presentation_icon_name; +quint64 DeviceKitLister::DeviceFreeSpace(const QString &id) { + return 0; // TODO +} - case Field_Manufacturer: - return data.drive_vendor; +QVariantMap DeviceKitLister::DeviceHardwareInfo(const QString &id) { + QVariantMap ret; - case Field_Model: - return data.drive_model; + QMutexLocker l(&mutex_); + if (!device_data_.contains(id)) + return ret; + const DeviceData& data = device_data_[id]; - case Field_Capacity: - return data.device_size; + ret[QT_TR_NOOP("DBus path")] = data.dbus_path; + ret[QT_TR_NOOP("Serial number")] = data.drive_serial; + ret[QT_TR_NOOP("Mount paths")] = data.device_mount_paths.join(", "); + ret[QT_TR_NOOP("Device")] = data.device_file; + return ret; +} - case Field_FreeSpace: - return QVariant(); +QString DeviceKitLister::MakeFriendlyName(const QString &id) { + QMutexLocker l(&mutex_); + if (!device_data_.contains(id)) + return QString(); + const DeviceData& data = device_data_[id]; - case Field_DbusPath: - return data.dbus_path; - - case Field_MountPath: - return data.device_mount_paths.isEmpty() ? QVariant() : data.device_mount_paths[0]; - - default: - return QVariant(); - } + if (!data.device_presentation_name.isEmpty()) + return data.device_presentation_name; + if (!data.drive_model.isEmpty() && !data.drive_vendor.isEmpty()) + return data.drive_vendor + " " + data.drive_model; + if (!data.drive_model.isEmpty()) + return data.drive_model; + return data.drive_serial; } DeviceKitLister::DeviceData DeviceKitLister::ReadDeviceData( @@ -156,6 +159,7 @@ DeviceKitLister::DeviceData DeviceKitLister::ReadDeviceData( ret.drive_serial = device.driveSerial(); ret.drive_model = device.driveModel(); ret.drive_vendor = device.driveVendor(); + ret.device_file = device.deviceFile(); ret.device_presentation_name = device.devicePresentationName(); ret.device_presentation_icon_name = device.devicePresentationIconName(); ret.device_size = device.deviceSize(); @@ -224,6 +228,6 @@ boost::shared_ptr DeviceKitLister::Connect( const QString &unique_id, DeviceManager* manager, int database_id, bool first_time) { return boost::shared_ptr(new FilesystemDevice( - DeviceInfo(unique_id, Field_MountPath).toString(), + LockAndGetDeviceInfo(unique_id, &DeviceData::device_mount_paths)[0], this, unique_id, manager, database_id, first_time)); } diff --git a/src/devices/devicekitlister.h b/src/devices/devicekitlister.h index eec8f90c0..a03bac18d 100644 --- a/src/devices/devicekitlister.h +++ b/src/devices/devicekitlister.h @@ -35,15 +35,15 @@ public: DeviceKitLister(); ~DeviceKitLister(); - enum Field { - Field_MountPath = DeviceLister::LastField, - Field_DbusPath, - - LastField - }; - QStringList DeviceUniqueIDs(); - QVariant DeviceInfo(const QString& id, int field); + QString DeviceIcon(const QString& id); + QString DeviceManufacturer(const QString& id); + QString DeviceModel(const QString& id); + quint64 DeviceCapacity(const QString& id); + quint64 DeviceFreeSpace(const QString& id); + QVariantMap DeviceHardwareInfo(const QString& id); + + QString MakeFriendlyName(const QString &id); boost::shared_ptr Connect( const QString &unique_id, DeviceManager* manager, int database_id, @@ -68,6 +68,7 @@ private: QString drive_serial; QString drive_model; QString drive_vendor; + QString device_file; QString device_presentation_name; QString device_presentation_icon_name; QStringList device_mount_paths; @@ -79,6 +80,9 @@ private: // You MUST hold the mutex while calling this function QString FindUniqueIdByPath(const QDBusObjectPath& path) const; + template + T LockAndGetDeviceInfo(const QString& id, T DeviceData::*field); + private: boost::scoped_ptr interface_; @@ -86,4 +90,13 @@ private: QMap device_data_; }; +template +T DeviceKitLister::LockAndGetDeviceInfo(const QString& id, T DeviceData::*field) { + QMutexLocker l(&mutex_); + if (!device_data_.contains(id)) + return T(); + + return device_data_[id].*field; +} + #endif // DEVICEKITLISTER_H diff --git a/src/devices/devicelister.h b/src/devices/devicelister.h index d3ea5859d..cc99ac59b 100644 --- a/src/devices/devicelister.h +++ b/src/devices/devicelister.h @@ -31,25 +31,20 @@ public: DeviceLister(); ~DeviceLister(); - enum Field { - Field_UniqueID = 0, - Field_FriendlyName, - Field_Icon, - Field_Manufacturer, - Field_Model, - Field_Capacity, - Field_FreeSpace, - - LastField - }; - // Tries to start the thread and initialise the engine. This object will be // moved to the new thread. void Start(); // Query information about the devices that are available. Must be thread-safe. virtual QStringList DeviceUniqueIDs() = 0; - virtual QVariant DeviceInfo(const QString& id, int field) = 0; + virtual QString DeviceIcon(const QString& id) = 0; + virtual QString DeviceManufacturer(const QString& id) = 0; + virtual QString DeviceModel(const QString& id) = 0; + virtual quint64 DeviceCapacity(const QString& id) = 0; + virtual quint64 DeviceFreeSpace(const QString& id) = 0; + virtual QVariantMap DeviceHardwareInfo(const QString& id) = 0; + + virtual QString MakeFriendlyName(const QString& id) = 0; // Create a new ConnectedDevice instance for the given device. Must be // thread-safe. @@ -71,6 +66,5 @@ protected: private slots: void ThreadStarted(); }; -Q_DECLARE_METATYPE(DeviceLister*); #endif // DEVICELISTER_H diff --git a/src/devices/devicemanager.cpp b/src/devices/devicemanager.cpp index fd7d7bc19..761d8adc8 100644 --- a/src/devices/devicemanager.cpp +++ b/src/devices/devicemanager.cpp @@ -41,8 +41,7 @@ DeviceDatabaseBackend::Device DeviceManager::DeviceInfo::SaveToDb() const { ret.id_ = database_id_; if (lister_) - ret.icon_name_ = lister_->DeviceInfo( - unique_id_, DeviceLister::Field_Icon).toString(); + ret.icon_name_ = lister_->DeviceIcon(unique_id_); return ret; } @@ -134,12 +133,18 @@ QVariant DeviceManager::data(const QModelIndex& index, int role) const { return pixmap; } - case Role_Lister: - return QVariant::fromValue(info.lister_); + case Role_FriendlyName: + return info.friendly_name_; case Role_UniqueId: return info.unique_id_; + case Role_IconName: + return info.icon_name_; + + case Role_Capacity: + return info.size_; + case Role_State: if (info.device_) return State_Connected; @@ -173,9 +178,6 @@ void DeviceManager::PhysicalDeviceAdded(const QString &id) { DeviceLister* lister = qobject_cast(sender()); qDebug() << "Device added:" << id; - for (int i=0 ; iDeviceInfo(id, i); - } // Do we have this device already? int i = FindDeviceById(id); @@ -183,9 +185,9 @@ void DeviceManager::PhysicalDeviceAdded(const QString &id) { DeviceInfo info; info.lister_ = lister; info.unique_id_ = id; - info.friendly_name_ = lister->DeviceInfo(id, DeviceLister::Field_FriendlyName).toString(); - info.size_ = lister->DeviceInfo(id, DeviceLister::Field_Capacity).toLongLong(); - info.LoadIcon(lister->DeviceInfo(id, DeviceLister::Field_Icon).toString()); + info.friendly_name_ = lister->MakeFriendlyName(id); + info.size_ = lister->DeviceCapacity(id); + info.LoadIcon(lister->DeviceIcon(id)); beginInsertRows(QModelIndex(), devices_.count(), devices_.count()); devices_ << info; @@ -220,6 +222,14 @@ void DeviceManager::PhysicalDeviceRemoved(const QString &id) { // Remove the item from the model beginRemoveRows(QModelIndex(), i, i); devices_.removeAt(i); + + foreach (const QModelIndex& idx, persistentIndexList()) { + if (idx.row() == i) + changePersistentIndex(idx, QModelIndex()); + else if (idx.row() > i) + changePersistentIndex(idx, index(idx.row()-1, idx.column())); + } + endRemoveRows(); } } @@ -264,6 +274,10 @@ int DeviceManager::GetDatabaseId(int row) const { return devices_[row].database_id_; } +DeviceLister* DeviceManager::GetLister(int row) const { + return devices_[row].lister_; +} + void DeviceManager::Disconnect(int row) { DeviceInfo& info = devices_[row]; if (!info.device_) // Already disconnected @@ -288,6 +302,14 @@ void DeviceManager::Forget(int row) { // It's not attached any more so remove it from the list beginRemoveRows(QModelIndex(), row, row); devices_.removeAt(row); + + foreach (const QModelIndex& idx, persistentIndexList()) { + if (idx.row() == row) + changePersistentIndex(idx, QModelIndex()); + else if (idx.row() > row) + changePersistentIndex(idx, index(idx.row()-1, idx.column())); + } + endRemoveRows(); } else { dataChanged(index(row, 0), index(row, 0)); diff --git a/src/devices/devicemanager.h b/src/devices/devicemanager.h index a97fa6558..1b57f0d25 100644 --- a/src/devices/devicemanager.h +++ b/src/devices/devicemanager.h @@ -42,7 +42,9 @@ public: enum Role { Role_State = LibraryModel::LastRole, Role_UniqueId, - Role_Lister, + Role_FriendlyName, + Role_Capacity, + Role_IconName, }; enum State { @@ -57,9 +59,14 @@ public: BackgroundThread* database() const { return database_; } TaskManager* task_manager() const { return task_manager_; } - boost::shared_ptr GetConnectedDevice(int row) const; + // Get info about devices int GetDatabaseId(int row) const; + DeviceLister* GetLister(int row) const; + boost::shared_ptr GetConnectedDevice(int row) const; + int FindDeviceById(const QString& id) const; + + // Actions on devices boost::shared_ptr Connect(int row); void Disconnect(int row); void Forget(int row); @@ -107,7 +114,6 @@ private: }; void AddLister(DeviceLister* lister); - int FindDeviceById(const QString& id) const; DeviceDatabaseBackend::Device InfoToDatabaseDevice(const DeviceInfo& info) const; diff --git a/src/devices/deviceproperties.cpp b/src/devices/deviceproperties.cpp new file mode 100644 index 000000000..cb400a804 --- /dev/null +++ b/src/devices/deviceproperties.cpp @@ -0,0 +1,138 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#include "devicelister.h" +#include "devicemanager.h" +#include "deviceproperties.h" +#include "ui_deviceproperties.h" +#include "core/utilities.h" +#include "ui/iconloader.h" + +#include + +DeviceProperties::DeviceProperties(QWidget *parent) + : QDialog(parent), + ui_(new Ui_DeviceProperties), + manager_(NULL) +{ + ui_->setupUi(this); + + // Load icons + QStringList icon_names = QStringList() + << "drive-removable-media-usb-pendrive" + << "multimedia-player-ipod-mini-blue" + << "multimedia-player-ipod-mini-gold" + << "multimedia-player-ipod-mini-green" + << "multimedia-player-ipod-mini-pink" + << "multimedia-player-ipod-mini-silver" + << "multimedia-player-ipod-nano-black" + << "multimedia-player-ipod-nano-white" + << "multimedia-player-ipod-shuffle" + << "multimedia-player-ipod-standard-color" + << "multimedia-player-ipod-standard-monochrome" + << "multimedia-player-ipod-U2-color" + << "multimedia-player-ipod-U2-monochrome" + << "phone" + << "phone-google-nexus-one" + << "phone-htc-g1-white" + << "phone-nokia-n900" + << "phone-palm-pre"; + + foreach (const QString& icon_name, icon_names) { + QListWidgetItem* item = new QListWidgetItem( + IconLoader::Load(icon_name), QString(), ui_->icon); + item->setData(Qt::UserRole, icon_name); + } + + // Maximum height of the icon widget + ui_->icon->setMaximumHeight(ui_->icon->iconSize().height() + + ui_->icon->horizontalScrollBar()->sizeHint().height() + + ui_->icon->spacing() * 2 + 5); + + // Transparent background for non-editable fields + ui_->capacity->setStyleSheet("background: palette(window);"); +} + +DeviceProperties::~DeviceProperties() { + delete ui_; +} + +void DeviceProperties::SetDeviceManager(DeviceManager *manager) { + manager_ = manager; + connect(manager_, SIGNAL(dataChanged(QModelIndex,QModelIndex)), SLOT(ModelChanged())); + connect(manager_, SIGNAL(rowsInserted(QModelIndex,int,int)), SLOT(ModelChanged())); + connect(manager_, SIGNAL(rowsRemoved(QModelIndex,int,int)), SLOT(ModelChanged())); +} + +void DeviceProperties::ShowDevice(int row) { + index_ = manager_->index(row); + + // Basic information + ui_->name->setText(index_.data(DeviceManager::Role_FriendlyName).toString()); + ui_->capacity->setText(Utilities::PrettySize( + index_.data(DeviceManager::Role_Capacity).toLongLong())); + + // Find the right icon + QString icon_name = index_.data(DeviceManager::Role_IconName).toString(); + for (int i=0 ; iicon->count() ; ++i) { + if (ui_->icon->item(i)->data(Qt::UserRole).toString() == icon_name) { + ui_->icon->setCurrentRow(i); + break; + } + } + + UpdateHardwareInfo(); + + show(); +} + +void DeviceProperties::AddHardwareInfo(int row, const QString &key, const QString &value) { + ui_->hardware_info->setItem(row, 0, new QTableWidgetItem(key)); + ui_->hardware_info->setItem(row, 1, new QTableWidgetItem(value)); +} + +void DeviceProperties::ModelChanged() { + if (!isVisible()) + return; + + if (!index_.isValid()) + reject(); // Device went away + else + UpdateHardwareInfo(); +} + +void DeviceProperties::UpdateHardwareInfo() { + // Hardware information + QString id = index_.data(DeviceManager::Role_UniqueId).toString(); + if (DeviceLister* lister = manager_->GetLister(index_.row())) { + QVariantMap info = lister->DeviceHardwareInfo(id); + + ui_->hardware_info_stack->setCurrentWidget(ui_->hardware_info_page); + ui_->hardware_info->clear(); + ui_->hardware_info->setRowCount(2 + info.count()); + + int row = 0; + AddHardwareInfo(row++, tr("Model"), lister->DeviceModel(id)); + AddHardwareInfo(row++, tr("Manufacturer"), lister->DeviceManufacturer(id)); + foreach (const QString& key, info.keys()) { + AddHardwareInfo(row++, tr(key.toAscii()), info[key].toString()); + } + + ui_->hardware_info->sortItems(0); + } else { + ui_->hardware_info_stack->setCurrentWidget(ui_->hardware_info_not_connected_page); + } +} diff --git a/src/devices/deviceproperties.h b/src/devices/deviceproperties.h new file mode 100644 index 000000000..de6d78986 --- /dev/null +++ b/src/devices/deviceproperties.h @@ -0,0 +1,51 @@ +/* This file is part of Clementine. + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#ifndef DEVICEPROPERTIES_H +#define DEVICEPROPERTIES_H + +#include +#include + +class DeviceManager; +class Ui_DeviceProperties; + +class DeviceProperties : public QDialog { + Q_OBJECT + +public: + DeviceProperties(QWidget* parent = 0); + ~DeviceProperties(); + + void SetDeviceManager(DeviceManager* manager); + + void ShowDevice(int row); + +private: + void UpdateHardwareInfo(); + void AddHardwareInfo(int row, const QString& key, const QString& value); + +private slots: + void ModelChanged(); + +private: + Ui_DeviceProperties* ui_; + + DeviceManager* manager_; + QPersistentModelIndex index_; +}; + +#endif // DEVICEPROPERTIES_H diff --git a/src/devices/deviceproperties.ui b/src/devices/deviceproperties.ui new file mode 100644 index 000000000..90cf9a0cf --- /dev/null +++ b/src/devices/deviceproperties.ui @@ -0,0 +1,210 @@ + + + DeviceProperties + + + + 0 + 0 + 505 + 434 + + + + Device Properties + + + + :/icon.png:/icon.png + + + + + + + + Name + + + + + + + + + + Icon + + + + + + + Qt::ScrollBarAlwaysOff + + + + 48 + 48 + + + + QListView::Static + + + QListView::LeftToRight + + + false + + + 5 + + + QListView::IconMode + + + true + + + + + + + Capacity + + + + + + + true + + + + + + + + + Hardware information + + + + + + 1 + + + + + 0 + + + 0 + + + + + Hardware information is only available while the device is connected. + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + + + + 0 + + + 0 + + + + + QAbstractItemView::NoEditTriggers + + + QAbstractItemView::NoSelection + + + false + + + 2 + + + false + + + true + + + false + + + + + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + DeviceProperties + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + DeviceProperties + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/devices/deviceview.cpp b/src/devices/deviceview.cpp index 422129207..4919e4c05 100644 --- a/src/devices/deviceview.cpp +++ b/src/devices/deviceview.cpp @@ -16,6 +16,7 @@ #include "connecteddevice.h" #include "devicemanager.h" +#include "deviceproperties.h" #include "deviceview.h" #include "core/mergedproxymodel.h" #include "library/librarymodel.h" @@ -104,6 +105,7 @@ DeviceView::DeviceView(QWidget* parent) manager_(NULL), merged_model_(NULL), sort_model_(NULL), + properties_dialog_(new DeviceProperties), menu_(new QMenu(this)) { connect_action_ = menu_->addAction( @@ -112,11 +114,17 @@ DeviceView::DeviceView(QWidget* parent) IconLoader::Load("list-remove"), tr("Disconnect device"), this, SLOT(Disconnect())); forget_action_ = menu_->addAction( IconLoader::Load("list-remove"), tr("Forget device"), this, SLOT(Forget())); + menu_->addSeparator(); + properties_action_ = menu_->addAction( + IconLoader::Load("configure"), tr("Device properties..."), this, SLOT(Properties())); setItemDelegate(new DeviceItemDelegate(this)); SetExpandOnReset(false); } +DeviceView::~DeviceView() { +} + void DeviceView::SetDeviceManager(DeviceManager *manager) { Q_ASSERT(manager_ == NULL); @@ -136,6 +144,7 @@ void DeviceView::SetDeviceManager(DeviceManager *manager) { SLOT(RecursivelyExpand(QModelIndex))); setModel(merged_model_); + properties_dialog_->SetDeviceManager(manager_); } void DeviceView::contextMenuEvent(QContextMenuEvent* e) { @@ -218,3 +227,7 @@ void DeviceView::Forget() { QModelIndex device_idx = MapToDevice(menu_index_); manager_->Forget(device_idx.row()); } + +void DeviceView::Properties() { + properties_dialog_->ShowDevice(MapToDevice(menu_index_).row()); +} diff --git a/src/devices/deviceview.h b/src/devices/deviceview.h index 30eb52da3..6d536b7f4 100644 --- a/src/devices/deviceview.h +++ b/src/devices/deviceview.h @@ -25,6 +25,7 @@ class QMenu; class QSortFilterProxyModel; class DeviceManager; +class DeviceProperties; class MergedProxyModel; class DeviceItemDelegate : public LibraryItemDelegate { @@ -42,6 +43,7 @@ class DeviceView : public AutoExpandingTreeView { public: DeviceView(QWidget* parent = 0); + ~DeviceView(); void SetDeviceManager(DeviceManager* manager); @@ -52,6 +54,7 @@ private slots: void Connect(); void Disconnect(); void Forget(); + void Properties(); void DeviceDisconnected(int row); @@ -63,10 +66,13 @@ private: MergedProxyModel* merged_model_; QSortFilterProxyModel* sort_model_; + boost::scoped_ptr properties_dialog_; + QMenu* menu_; QAction* connect_action_; QAction* disconnect_action_; QAction* forget_action_; + QAction* properties_action_; QModelIndex menu_index_; }; diff --git a/src/devices/filesystemdevice.cpp b/src/devices/filesystemdevice.cpp index b138c2285..b1054a3c7 100644 --- a/src/devices/filesystemdevice.cpp +++ b/src/devices/filesystemdevice.cpp @@ -31,8 +31,8 @@ FilesystemDevice::FilesystemDevice( { // Create the library watcher watcher_->Start(true); - watcher_->Worker()->set_device_name(lister_->DeviceInfo( - unique_id_, DeviceLister::Field_FriendlyName).toString()); + watcher_->Worker()->set_device_name(manager->data(manager->index( + manager->FindDeviceById(unique_id)), DeviceManager::Role_FriendlyName).toString()); watcher_->Worker()->set_backend(backend_); watcher_->Worker()->set_task_manager(manager_->task_manager()); diff --git a/src/translations/ar.po b/src/translations/ar.po index 769f44562..f2e856512 100644 --- a/src/translations/ar.po +++ b/src/translations/ar.po @@ -276,6 +276,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "" +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "" @@ -464,6 +470,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -718,6 +733,12 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "" @@ -737,6 +758,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -901,6 +925,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -910,6 +937,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "" @@ -1269,6 +1302,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "" diff --git a/src/translations/cs.po b/src/translations/cs.po index b018c446d..7635d51e5 100644 --- a/src/translations/cs.po +++ b/src/translations/cs.po @@ -277,6 +277,9 @@ msgstr "" msgid "Browse..." msgstr "Procházet…" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -426,6 +429,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Vlastní..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -465,6 +471,15 @@ msgstr "Cíl" msgid "Details..." msgstr "Detaily..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -721,6 +736,12 @@ msgstr "Seřaď dle žánru /alba" msgid "Group by Genre/Artist/Album" msgstr "Seřaď dle žánru /umělce/alba" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Nápověda" @@ -740,6 +761,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "Nemám u Magnatune účet" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -905,6 +929,9 @@ msgstr "" msgid "Malformed response" msgstr "Poškozená odpověď" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -914,6 +941,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Přesunout do knihovny..." @@ -1273,6 +1306,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Služba je nedostupná" diff --git a/src/translations/da.po b/src/translations/da.po index 3b17c1cf2..297e2f0ac 100644 --- a/src/translations/da.po +++ b/src/translations/da.po @@ -277,6 +277,9 @@ msgstr "Boom-analyzer" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -426,6 +429,9 @@ msgstr "" msgid "Custom..." msgstr "Tilpasset..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -465,6 +471,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -721,6 +736,12 @@ msgstr "Gruppér efter genre/album" msgid "Group by Genre/Artist/Album" msgstr "Gruppér efter genre/kunstner/album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Hjælp" @@ -740,6 +761,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -906,6 +930,9 @@ msgstr "" msgid "Malformed response" msgstr "Misdannet svar" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -915,6 +942,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Flyt til bibliotek..." @@ -1276,6 +1309,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Tjeneste offline" diff --git a/src/translations/de.po b/src/translations/de.po index 6df7a5bb6..8f78c1671 100644 --- a/src/translations/de.po +++ b/src/translations/de.po @@ -276,6 +276,9 @@ msgstr "Boom" msgid "Browse..." msgstr "Durchsuchen…" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Tastenkürzel ändern..." @@ -427,6 +430,9 @@ msgstr "Strg+Umschalt+O" msgid "Custom..." msgstr "Eigene..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -466,6 +472,15 @@ msgstr "Ziel" msgid "Details..." msgstr "Details..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -722,6 +737,12 @@ msgstr "Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Genre/Künstler/Album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Hilfe" @@ -741,6 +762,9 @@ msgstr "Hoch (35fps)" msgid "I don't have a Magnatune account" msgstr "Ich habe kein Magnatune-Konto" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "Ignoriere \"The\" im Künstlernamen" @@ -908,6 +932,9 @@ msgstr "Magnatune Download beendet" msgid "Malformed response" msgstr "Ungültige Antwort" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Mittel (25 fps)" @@ -917,6 +944,12 @@ msgstr "Mittel (512x512)" msgid "Membership type" msgstr "Art der Mitgliedschaft" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "In die Musiksammlung verschieben..." @@ -1277,6 +1310,9 @@ msgstr "Visualisierungen auswählen" msgid "Select visualizations..." msgstr "Visualisierungen auswählen..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Service nicht verfügbar" diff --git a/src/translations/el.po b/src/translations/el.po index fd686ae3b..7e1906a02 100644 --- a/src/translations/el.po +++ b/src/translations/el.po @@ -283,6 +283,9 @@ msgstr "Boom" msgid "Browse..." msgstr "Αναζήτηση..." +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Αλλαγή συντόμευσης..." @@ -435,6 +438,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Προσωπική..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -474,6 +480,15 @@ msgstr "Προορισμός" msgid "Details..." msgstr "Λεπτομέρειες..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -730,6 +745,12 @@ msgstr "Ομαδοποίηση κατά Είδος/Άλμπουμ" msgid "Group by Genre/Artist/Album" msgstr "Ομαδοποίηση κατά Είδος/Καλλιντέχνη/Άλμπουμ" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Βοήθεια" @@ -749,6 +770,9 @@ msgstr "Υψηλά (35 fps)" msgid "I don't have a Magnatune account" msgstr "Δεν έχω λογαριασμό Magnatune" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "Αγνόηση του \"The\" στο όνομα των καλλιτεχνών" @@ -914,6 +938,9 @@ msgstr "Η λήψη Magnatune ολοκληρώθηκε" msgid "Malformed response" msgstr "Παραμορφωμένη απάντηση" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Μέση (25 fps)" @@ -923,6 +950,12 @@ msgstr "Μέση (512x512)" msgid "Membership type" msgstr "Τύπος συνδρομής" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Μετακίνηση στην βιβλιοθήκη..." @@ -1284,6 +1317,9 @@ msgstr "Επιλογή οπτικών εφέ" msgid "Select visualizations..." msgstr "Επιλογή οπτικών εφέ..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Υπηρεσία εκτός σύνδεσης" diff --git a/src/translations/en_CA.po b/src/translations/en_CA.po index 448d77bf6..1cef34b5c 100644 --- a/src/translations/en_CA.po +++ b/src/translations/en_CA.po @@ -276,6 +276,9 @@ msgstr "Boom analyzer" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Change shortcut..." @@ -427,6 +430,9 @@ msgstr "" msgid "Custom..." msgstr "Custom..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -466,6 +472,15 @@ msgstr "Destination" msgid "Details..." msgstr "Details..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -721,6 +736,12 @@ msgstr "Group by Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Group by Genre/Artist/Album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Help" @@ -740,6 +761,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -905,6 +929,9 @@ msgstr "" msgid "Malformed response" msgstr "Malformed response" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -914,6 +941,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Move to library..." @@ -1274,6 +1307,9 @@ msgstr "Select visualisations" msgid "Select visualizations..." msgstr "Select visualisations..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Service offline" diff --git a/src/translations/en_GB.po b/src/translations/en_GB.po index 24aea7d95..c1355a0cf 100644 --- a/src/translations/en_GB.po +++ b/src/translations/en_GB.po @@ -276,6 +276,9 @@ msgstr "Boom analyzer" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "Custom..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -464,6 +470,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -719,6 +734,12 @@ msgstr "Group by Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Group by Genre/Artist/Album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Help" @@ -738,6 +759,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -903,6 +927,9 @@ msgstr "" msgid "Malformed response" msgstr "Malformed response" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -912,6 +939,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Move to library..." @@ -1271,6 +1304,9 @@ msgstr "Select visualisations" msgid "Select visualizations..." msgstr "Select visualisations..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Service offline" diff --git a/src/translations/es.po b/src/translations/es.po index b815dd452..b53bdc4a1 100644 --- a/src/translations/es.po +++ b/src/translations/es.po @@ -278,6 +278,9 @@ msgstr "Analizador de Boom" msgid "Browse..." msgstr "Explorar..." +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Cambiar combinación de teclas" @@ -429,6 +432,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Personalizado..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -468,6 +474,15 @@ msgstr "Destino" msgid "Details..." msgstr "Detalles..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -725,6 +740,12 @@ msgstr "Agrupar por Género/Álbum" msgid "Group by Genre/Artist/Album" msgstr "Agrupar por Género/Artista/Álbum" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Ayuda" @@ -744,6 +765,9 @@ msgstr "Alta (35 fps)" msgid "I don't have a Magnatune account" msgstr "No tengo una cuenta en Magnatune" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "Ignorar el \"The\" en los nombres de los artistas" @@ -912,6 +936,9 @@ msgstr "" msgid "Malformed response" msgstr "Respuesta malformada" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Mediana (25 fps)" @@ -921,6 +948,12 @@ msgstr "Mediana (512x512)" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Mover a la colección..." @@ -1282,6 +1315,9 @@ msgstr "Seleccionar visualizaciones" msgid "Select visualizations..." msgstr "Seleccionar visualizaciones..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Servicio fuera de línea" diff --git a/src/translations/fi.po b/src/translations/fi.po index 61998817f..cb2567ed5 100644 --- a/src/translations/fi.po +++ b/src/translations/fi.po @@ -276,6 +276,9 @@ msgstr "" msgid "Browse..." msgstr "Selaa..." +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Mukautettu..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "" @@ -464,6 +470,15 @@ msgstr "Kohde" msgid "Details..." msgstr "Tiedot..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -718,6 +733,12 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Ohje" @@ -737,6 +758,9 @@ msgstr "Korkea (35 fps)" msgid "I don't have a Magnatune account" msgstr "Minulla ei ole Magnatune-tunnusta" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -902,6 +926,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -911,6 +938,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Siirrä kirjastoon..." @@ -1271,6 +1304,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "" diff --git a/src/translations/fr.po b/src/translations/fr.po index d125f5c9b..e3c46d160 100644 --- a/src/translations/fr.po +++ b/src/translations/fr.po @@ -277,6 +277,9 @@ msgstr "Spectrogramme \"Boom\"" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -426,6 +429,9 @@ msgstr "" msgid "Custom..." msgstr "Personnalisée..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Danse" @@ -465,6 +471,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -721,6 +736,12 @@ msgstr "Grouper par Genre/Album" msgid "Group by Genre/Artist/Album" msgstr "Grouper par Genre/Artiste/Album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Aide" @@ -740,6 +761,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -909,6 +933,9 @@ msgstr "" msgid "Malformed response" msgstr "Réponse mal formatée" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -918,6 +945,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Déplacer vers la bibliothèque..." @@ -1277,6 +1310,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Service hors-ligne" diff --git a/src/translations/gl.po b/src/translations/gl.po index bb5e6f990..ac7cd0225 100644 --- a/src/translations/gl.po +++ b/src/translations/gl.po @@ -276,6 +276,9 @@ msgstr "Analisador de Boom" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "" +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -464,6 +470,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -718,6 +733,12 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "" @@ -737,6 +758,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -903,6 +927,9 @@ msgstr "" msgid "Malformed response" msgstr "Resposta mal formada" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -912,6 +939,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Mover para a biblioteca..." @@ -1271,6 +1304,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Servizo Inválido" diff --git a/src/translations/it.po b/src/translations/it.po index a31b9de92..90d660f92 100644 --- a/src/translations/it.po +++ b/src/translations/it.po @@ -277,6 +277,9 @@ msgstr "Analizzatore Boom" msgid "Browse..." msgstr "Sfoglia..." +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Cambia la scorciatoia" @@ -428,6 +431,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Personalizzato..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -467,6 +473,15 @@ msgstr "Destinazione" msgid "Details..." msgstr "Dettagli..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -723,6 +738,12 @@ msgstr "Raggruppa per genere/album" msgid "Group by Genre/Artist/Album" msgstr "Raggruppa per genere/artista/album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Aiuto" @@ -742,6 +763,9 @@ msgstr "Alta (35 fps)" msgid "I don't have a Magnatune account" msgstr "Non ho un account Magnatune" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "Ignora \"The\" nei nomi degli artisti" @@ -910,6 +934,9 @@ msgstr "Scaricamento di Magnatune completato" msgid "Malformed response" msgstr "Risposta non corretta" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Media (25 fps)" @@ -919,6 +946,12 @@ msgstr "Media (512x512)" msgid "Membership type" msgstr "Tipo d'iscrizione" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Sposta nella raccolta..." @@ -1280,6 +1313,9 @@ msgstr "Seleziona visualizzazioni" msgid "Select visualizations..." msgstr "Seleziona visualizzazioni..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Servizio non in linea" diff --git a/src/translations/kk.po b/src/translations/kk.po index c0c355036..2b7334864 100644 --- a/src/translations/kk.po +++ b/src/translations/kk.po @@ -276,6 +276,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "" +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Билеу" @@ -464,6 +470,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -718,6 +733,12 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "" @@ -737,6 +758,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -903,6 +927,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -912,6 +939,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "" @@ -1271,6 +1304,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "" diff --git a/src/translations/nb.po b/src/translations/nb.po index b19c3391d..5f96678b3 100644 --- a/src/translations/nb.po +++ b/src/translations/nb.po @@ -276,6 +276,9 @@ msgstr "Boomanalysator" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "Egendefinert..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dansemusikk" @@ -464,6 +470,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -719,6 +734,12 @@ msgstr "Gruppér etter Sjanger/Album" msgid "Group by Genre/Artist/Album" msgstr "Gruppér etter Sjanger/Artist/Album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Hjelp" @@ -738,6 +759,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -904,6 +928,9 @@ msgstr "" msgid "Malformed response" msgstr "Ugyldig svar" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -913,6 +940,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Flytt til bibliotek..." @@ -1272,6 +1305,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Tjenesten er utilgjengelig" diff --git a/src/translations/oc.po b/src/translations/oc.po index 0fd426c25..eda4e51f6 100644 --- a/src/translations/oc.po +++ b/src/translations/oc.po @@ -276,6 +276,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "Personalizat..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -464,6 +470,15 @@ msgstr "Destinacion" msgid "Details..." msgstr "Detalhs..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -718,6 +733,12 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Ajuda" @@ -737,6 +758,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -901,6 +925,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -910,6 +937,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "" @@ -1269,6 +1302,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "" diff --git a/src/translations/pl.po b/src/translations/pl.po index 09ce3ef1f..7cb7bf6b3 100644 --- a/src/translations/pl.po +++ b/src/translations/pl.po @@ -277,6 +277,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -426,6 +429,9 @@ msgstr "" msgid "Custom..." msgstr "Własny..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "" @@ -465,6 +471,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -719,6 +734,12 @@ msgstr "Grupuj według Gatunek/Artysta" msgid "Group by Genre/Artist/Album" msgstr "Grupuj według Gatunek/Artysta/Album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Pomoc" @@ -738,6 +759,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -903,6 +927,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -912,6 +939,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Przenieś do biblioteki..." @@ -1271,6 +1304,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Usługa niedostępna" diff --git a/src/translations/pt.po b/src/translations/pt.po index 805fd7c84..66add221b 100644 --- a/src/translations/pt.po +++ b/src/translations/pt.po @@ -281,6 +281,9 @@ msgstr "Analisador de Boom" msgid "Browse..." msgstr "Procurar..." +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Alterar atalho..." @@ -432,6 +435,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Personalizar..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dança" @@ -471,6 +477,15 @@ msgstr "Destino" msgid "Details..." msgstr "Detalhes..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -726,6 +741,12 @@ msgstr "Agrupar por Género/Álbum" msgid "Group by Genre/Artist/Album" msgstr "Agrupar por Género/Artista/Álbum" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Ajuda" @@ -745,6 +766,9 @@ msgstr "Alta (35 fps)" msgid "I don't have a Magnatune account" msgstr "Não tenho uma conta Magnatune" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "Ignorar \"The\" no nome dos artistas" @@ -911,6 +935,9 @@ msgstr "Transferência Magnatune concluída" msgid "Malformed response" msgstr "Resposta inválida" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Média (25 fps)" @@ -920,6 +947,12 @@ msgstr "Média (512x512)" msgid "Membership type" msgstr "Tipo de adesão" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Mover para a biblioteca..." @@ -1281,6 +1314,9 @@ msgstr "Seleccione as visualizações" msgid "Select visualizations..." msgstr "Seleccione as visualizações..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Serviço desligado" diff --git a/src/translations/pt_BR.po b/src/translations/pt_BR.po index ddb0e1f2d..06fc3c9fe 100644 --- a/src/translations/pt_BR.po +++ b/src/translations/pt_BR.po @@ -279,6 +279,9 @@ msgstr "Explosão" msgid "Browse..." msgstr "Procurar..." +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Mudar atalho..." @@ -430,6 +433,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Personalizado..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -469,6 +475,15 @@ msgstr "Destino" msgid "Details..." msgstr "Detalhes..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -725,6 +740,12 @@ msgstr "Organizar por Gênero/Álbum" msgid "Group by Genre/Artist/Album" msgstr "Organizar por Gênero/Artista/Álbum" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Ajuda" @@ -744,6 +765,9 @@ msgstr "Alto (35 fps)" msgid "I don't have a Magnatune account" msgstr "Eu não tenho uma conta no Magnatune" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "Ignorar o \"The\" em nomes de artistas" @@ -911,6 +935,9 @@ msgstr "Download do magnatune finalizado" msgid "Malformed response" msgstr "Resposta má formada" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Médio (25 fps)" @@ -920,6 +947,12 @@ msgstr "Média (512x512)" msgid "Membership type" msgstr "Tipo de membro" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Mover para biblioteca..." @@ -1281,6 +1314,9 @@ msgstr "Selecionar visualizações" msgid "Select visualizations..." msgstr "Selecionar visualizações..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Serviço indisponível" diff --git a/src/translations/ro.po b/src/translations/ro.po index 6686c5c6d..f98722c49 100644 --- a/src/translations/ro.po +++ b/src/translations/ro.po @@ -276,6 +276,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "Personalizat..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -464,6 +470,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -718,6 +733,12 @@ msgstr "Grupează după gen/album" msgid "Group by Genre/Artist/Album" msgstr "Grupează după gen/artist/album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Ajutor" @@ -737,6 +758,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -902,6 +926,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -911,6 +938,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Mută în bibliotecă..." @@ -1270,6 +1303,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "" diff --git a/src/translations/ru.po b/src/translations/ru.po index 9c0d749a3..b0309a615 100644 --- a/src/translations/ru.po +++ b/src/translations/ru.po @@ -275,6 +275,9 @@ msgstr "Подъем анализатора" msgid "Browse..." msgstr "Обзор..." +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Изменить горячую клавишу..." @@ -426,6 +429,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Пользовательский..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -465,6 +471,15 @@ msgstr "Назначение" msgid "Details..." msgstr "Подробнее..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -719,6 +734,12 @@ msgstr "Сортировать по Жанр/Альбом" msgid "Group by Genre/Artist/Album" msgstr "Сортировать по Жанр/Исполнитель/Альбом" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Помощь" @@ -738,6 +759,9 @@ msgstr "Высокая (35 fps)" msgid "I don't have a Magnatune account" msgstr "У меня нет учётной записи Magnatune" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "Игнорировать \"The\" в имени исполнителя" @@ -905,6 +929,9 @@ msgstr "" msgid "Malformed response" msgstr "Неправильный ответ" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Средняя (25 fps)" @@ -914,6 +941,12 @@ msgstr "Среднее (512x512)" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Переместить в коллекцию..." @@ -1275,6 +1308,9 @@ msgstr "Выбрать визуализации" msgid "Select visualizations..." msgstr "Выбрать визуализации..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Служба не работает" diff --git a/src/translations/sk.po b/src/translations/sk.po index 6e41b2d3e..3c45ca8f8 100644 --- a/src/translations/sk.po +++ b/src/translations/sk.po @@ -281,6 +281,9 @@ msgstr "Boom analyzér" msgid "Browse..." msgstr "Prehľadávať..." +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Zmeniť skratku..." @@ -432,6 +435,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Vlastná..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dance" @@ -471,6 +477,15 @@ msgstr "Cieľ" msgid "Details..." msgstr "Podrobnosti..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -727,6 +742,12 @@ msgstr "Zoradiť podľa žáner/album" msgid "Group by Genre/Artist/Album" msgstr "Zoradiť podľa žáner/interprét/album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Nápoveda" @@ -746,6 +767,9 @@ msgstr "Vysoký (35 fps)" msgid "I don't have a Magnatune account" msgstr "Nemám Magnatune účet" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "Ignorovať \"The\" v mene interpréta" @@ -911,6 +935,9 @@ msgstr "Magnatune sťahovanie hotové" msgid "Malformed response" msgstr "Poškodená odpoveď" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Stredný (25 fps)" @@ -920,6 +947,12 @@ msgstr "Stredná (512x512)" msgid "Membership type" msgstr "Typ členstva" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Presunúť do zbierky..." @@ -1280,6 +1313,9 @@ msgstr "Vybrať vizualizácie" msgid "Select visualizations..." msgstr "Vybrať vizualizácie..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Služba je offline" diff --git a/src/translations/sv.po b/src/translations/sv.po index c880a1f33..ec6053601 100644 --- a/src/translations/sv.po +++ b/src/translations/sv.po @@ -276,6 +276,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Ändra genväg..." @@ -427,6 +430,9 @@ msgstr "" msgid "Custom..." msgstr "Egen..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dans" @@ -466,6 +472,15 @@ msgstr "Mål" msgid "Details..." msgstr "Detaljer..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -722,6 +737,12 @@ msgstr "Gruppera efter genre/album" msgid "Group by Genre/Artist/Album" msgstr "Gruppera efter genre/artist/album" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Hjälp" @@ -741,6 +762,9 @@ msgstr "Hög (35 fps)" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -906,6 +930,9 @@ msgstr "" msgid "Malformed response" msgstr "Felformaterat svar" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Mellan (25 fps)" @@ -915,6 +942,12 @@ msgstr "Mellan (512x512)" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Flytta till bibliotek" @@ -1274,6 +1307,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Tjänst inte tillgänglig" diff --git a/src/translations/tr.po b/src/translations/tr.po index 51785afd3..0e391a749 100644 --- a/src/translations/tr.po +++ b/src/translations/tr.po @@ -276,6 +276,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "" +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Dans" @@ -464,6 +470,15 @@ msgstr "" msgid "Details..." msgstr "Detaylar..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -718,6 +733,12 @@ msgstr "Grupla Tür/Albüm" msgid "Group by Genre/Artist/Album" msgstr "Grupla Tür/Artist/Albüm" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Yardım" @@ -737,6 +758,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -901,6 +925,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -910,6 +937,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "" @@ -1271,6 +1304,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "" diff --git a/src/translations/translations.pot b/src/translations/translations.pot index c870a7d74..eea8a284e 100644 --- a/src/translations/translations.pot +++ b/src/translations/translations.pot @@ -267,6 +267,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -416,6 +419,9 @@ msgstr "" msgid "Custom..." msgstr "" +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "" @@ -455,6 +461,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -709,6 +724,12 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "" @@ -728,6 +749,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -892,6 +916,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -901,6 +928,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "" @@ -1260,6 +1293,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "" diff --git a/src/translations/uk.po b/src/translations/uk.po index ae67f949c..2029213cb 100644 --- a/src/translations/uk.po +++ b/src/translations/uk.po @@ -280,6 +280,9 @@ msgstr "Плаваючий аналізатор" msgid "Browse..." msgstr "Огляд..." +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "Змінити комбінацію клавіш..." @@ -431,6 +434,9 @@ msgstr "Ctrl+Shift+O" msgid "Custom..." msgstr "Нетиповий..." +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "Танцювальна" @@ -470,6 +476,15 @@ msgstr "Призначення" msgid "Details..." msgstr "Детальніше..." +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -725,6 +740,12 @@ msgstr "Групувати як Жанр/Альбом" msgid "Group by Genre/Artist/Album" msgstr "Групувати як Жанр/Виконавець/Альбом" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "Довідка" @@ -744,6 +765,9 @@ msgstr "Висока (35 к/с)" msgid "I don't have a Magnatune account" msgstr "У мене немає облікового запису на Magnatune" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "Ігнорувати «The» в іменах виконавців" @@ -910,6 +934,9 @@ msgstr "Завантаження з Magnatune завершено" msgid "Malformed response" msgstr "Спотворений відгук" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "Середня (25 к/с)" @@ -919,6 +946,12 @@ msgstr "Середня (512x512)" msgid "Membership type" msgstr "Тип членства" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "Перемістити до фонотеки..." @@ -1280,6 +1313,9 @@ msgstr "Вибрати візуалізації" msgid "Select visualizations..." msgstr "Вибрати візуалізації..." +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "Служба вимкнена" diff --git a/src/translations/zh_CN.po b/src/translations/zh_CN.po index 49f584641..0a5eb8746 100644 --- a/src/translations/zh_CN.po +++ b/src/translations/zh_CN.po @@ -276,6 +276,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "" +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "" @@ -464,6 +470,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -718,6 +733,12 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "" @@ -737,6 +758,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -901,6 +925,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -910,6 +937,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "" @@ -1269,6 +1302,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr "" diff --git a/src/translations/zh_TW.po b/src/translations/zh_TW.po index 26e3b36fb..479bd05c1 100644 --- a/src/translations/zh_TW.po +++ b/src/translations/zh_TW.po @@ -276,6 +276,9 @@ msgstr "" msgid "Browse..." msgstr "" +msgid "Capacity" +msgstr "" + msgid "Change shortcut..." msgstr "" @@ -425,6 +428,9 @@ msgstr "" msgid "Custom..." msgstr "" +msgid "DBus path" +msgstr "" + msgid "Dance" msgstr "" @@ -464,6 +470,15 @@ msgstr "" msgid "Details..." msgstr "" +msgid "Device" +msgstr "" + +msgid "Device Properties" +msgstr "" + +msgid "Device properties..." +msgstr "" + msgid "Devices" msgstr "" @@ -718,6 +733,12 @@ msgstr "" msgid "Group by Genre/Artist/Album" msgstr "" +msgid "Hardware information" +msgstr "" + +msgid "Hardware information is only available while the device is connected." +msgstr "" + msgid "Help" msgstr "" @@ -737,6 +758,9 @@ msgstr "" msgid "I don't have a Magnatune account" msgstr "" +msgid "Icon" +msgstr "" + msgid "Ignore \"The\" in artist names" msgstr "" @@ -901,6 +925,9 @@ msgstr "" msgid "Malformed response" msgstr "" +msgid "Manufacturer" +msgstr "" + msgid "Medium (25 fps)" msgstr "" @@ -910,6 +937,12 @@ msgstr "" msgid "Membership type" msgstr "" +msgid "Model" +msgstr "" + +msgid "Mount paths" +msgstr "" + msgid "Move to library..." msgstr "" @@ -1269,6 +1302,9 @@ msgstr "" msgid "Select visualizations..." msgstr "" +msgid "Serial number" +msgstr "" + msgid "Service offline" msgstr ""