Add a device properties dialog

This commit is contained in:
David Sansome 2010-07-04 15:01:24 +00:00
parent a892489de7
commit b3af9fa7d7
39 changed files with 1507 additions and 74 deletions

View File

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

View File

@ -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<ConnectedDevice> DeviceKitLister::Connect(
const QString &unique_id, DeviceManager* manager, int database_id,
bool first_time) {
return boost::shared_ptr<ConnectedDevice>(new FilesystemDevice(
DeviceInfo(unique_id, Field_MountPath).toString(),
LockAndGetDeviceInfo(unique_id, &DeviceData::device_mount_paths)[0],
this, unique_id, manager, database_id, first_time));
}

View File

@ -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<ConnectedDevice> 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 <typename T>
T LockAndGetDeviceInfo(const QString& id, T DeviceData::*field);
private:
boost::scoped_ptr<OrgFreedesktopUDisksInterface> interface_;
@ -86,4 +90,13 @@ private:
QMap<QString, DeviceData> device_data_;
};
template <typename T>
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

View File

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

View File

@ -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<DeviceLister*>(sender());
qDebug() << "Device added:" << id;
for (int i=0 ; i<DeviceKitLister::LastField ; ++i) {
qDebug() << i << lister->DeviceInfo(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));

View File

@ -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>* database() const { return database_; }
TaskManager* task_manager() const { return task_manager_; }
boost::shared_ptr<ConnectedDevice> GetConnectedDevice(int row) const;
// Get info about devices
int GetDatabaseId(int row) const;
DeviceLister* GetLister(int row) const;
boost::shared_ptr<ConnectedDevice> GetConnectedDevice(int row) const;
int FindDeviceById(const QString& id) const;
// Actions on devices
boost::shared_ptr<ConnectedDevice> 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;

View File

@ -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 <http://www.gnu.org/licenses/>.
*/
#include "devicelister.h"
#include "devicemanager.h"
#include "deviceproperties.h"
#include "ui_deviceproperties.h"
#include "core/utilities.h"
#include "ui/iconloader.h"
#include <QScrollBar>
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 ; i<ui_->icon->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);
}
}

View File

@ -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 <http://www.gnu.org/licenses/>.
*/
#ifndef DEVICEPROPERTIES_H
#define DEVICEPROPERTIES_H
#include <QDialog>
#include <QPersistentModelIndex>
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

View File

@ -0,0 +1,210 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DeviceProperties</class>
<widget class="QDialog" name="DeviceProperties">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>505</width>
<height>434</height>
</rect>
</property>
<property name="windowTitle">
<string>Device Properties</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>:/icon.png</normaloff>:/icon.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="name"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Icon</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QListWidget" name="icon">
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="iconSize">
<size>
<width>48</width>
<height>48</height>
</size>
</property>
<property name="movement">
<enum>QListView::Static</enum>
</property>
<property name="flow">
<enum>QListView::LeftToRight</enum>
</property>
<property name="isWrapping" stdset="0">
<bool>false</bool>
</property>
<property name="spacing">
<number>5</number>
</property>
<property name="viewMode">
<enum>QListView::IconMode</enum>
</property>
<property name="uniformItemSizes">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Capacity</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="capacity">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Hardware information</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QStackedWidget" name="hardware_info_stack">
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="hardware_info_not_connected_page">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Hardware information is only available while the device is connected.</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="hardware_info_page">
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QTableWidget" name="hardware_info">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="cornerButtonEnabled">
<bool>false</bool>
</property>
<property name="columnCount">
<number>2</number>
</property>
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<column/>
<column/>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>DeviceProperties</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>DeviceProperties</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

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

View File

@ -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<DeviceProperties> properties_dialog_;
QMenu* menu_;
QAction* connect_action_;
QAction* disconnect_action_;
QAction* forget_action_;
QAction* properties_action_;
QModelIndex menu_index_;
};

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 "Υπηρεσία εκτός σύνδεσης"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 "Служба не работает"

View File

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

View File

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

View File

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

View File

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

View File

@ -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 "Служба вимкнена"

View File

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

View File

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