mirror of
https://github.com/clementine-player/Clementine
synced 2025-01-27 09:41:32 +01:00
Show the total song count on each device, instead of the mountpoint
This commit is contained in:
parent
1311a29dfa
commit
e4efa8a93e
@ -35,7 +35,8 @@ ConnectedDevice::ConnectedDevice(const QUrl& url, DeviceLister* lister,
|
||||
database_id_(database_id),
|
||||
manager_(manager),
|
||||
backend_(NULL),
|
||||
model_(NULL)
|
||||
model_(NULL),
|
||||
song_count_(0)
|
||||
{
|
||||
qDebug() << __PRETTY_FUNCTION__;
|
||||
|
||||
@ -43,6 +44,8 @@ ConnectedDevice::ConnectedDevice(const QUrl& url, DeviceLister* lister,
|
||||
backend_ = new LibraryBackend();
|
||||
backend_->moveToThread(manager->database());
|
||||
|
||||
connect(backend_, SIGNAL(TotalSongCountUpdated(int)), SLOT(BackendTotalSongCountUpdated(int)));
|
||||
|
||||
backend_->Init(manager->database()->Worker(),
|
||||
QString("device_%1_songs").arg(database_id),
|
||||
QString("device_%1_directories").arg(database_id),
|
||||
@ -106,3 +109,8 @@ Song::FileType ConnectedDevice::GetTranscodeFormat() const {
|
||||
return Song::FileType(
|
||||
manager_->index(index).data(DeviceManager::Role_TranscodeFormat).toInt());
|
||||
}
|
||||
|
||||
void ConnectedDevice::BackendTotalSongCountUpdated(int count) {
|
||||
song_count_ = count;
|
||||
emit SongCountUpdated(count);
|
||||
}
|
||||
|
@ -51,6 +51,7 @@ public:
|
||||
QString unique_id() const { return unique_id_; }
|
||||
LibraryModel* model() const { return model_; }
|
||||
QUrl url() const { return url_; }
|
||||
int song_count() const { return song_count_; }
|
||||
|
||||
virtual void FinishCopy(bool success);
|
||||
virtual void FinishDelete(bool success);
|
||||
@ -60,6 +61,7 @@ public:
|
||||
signals:
|
||||
void TaskStarted(int id);
|
||||
void Error(const QString& message);
|
||||
void SongCountUpdated(int count);
|
||||
|
||||
protected:
|
||||
void InitBackendDirectory(const QString& mount_point, bool first_time, bool rewrite_path = true);
|
||||
@ -74,6 +76,11 @@ protected:
|
||||
|
||||
LibraryBackend* backend_;
|
||||
LibraryModel* model_;
|
||||
|
||||
int song_count_;
|
||||
|
||||
private slots:
|
||||
void BackendTotalSongCountUpdated(int count);
|
||||
};
|
||||
|
||||
#endif // CONNECTEDDEVICE_H
|
||||
|
@ -333,6 +333,11 @@ QVariant DeviceManager::data(const QModelIndex& index, int role) const {
|
||||
case Role_TranscodeFormat:
|
||||
return info.transcode_format_;
|
||||
|
||||
case Role_SongCount:
|
||||
if (!info.device_)
|
||||
return QVariant();
|
||||
return info.device_->song_count();
|
||||
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
@ -551,6 +556,7 @@ boost::shared_ptr<ConnectedDevice> DeviceManager::Connect(int row) {
|
||||
emit dataChanged(index(row), index(row));
|
||||
connect(info.device_.get(), SIGNAL(TaskStarted(int)), SLOT(DeviceTaskStarted(int)));
|
||||
connect(info.device_.get(), SIGNAL(Error(QString)), SIGNAL(Error(QString)));
|
||||
connect(info.device_.get(), SIGNAL(SongCountUpdated(int)), SLOT(DeviceSongCountUpdated(int)));
|
||||
}
|
||||
|
||||
emit DeviceConnected(row);
|
||||
@ -696,3 +702,15 @@ void DeviceManager::Unmount(int row) {
|
||||
if (info.BestBackend()->lister_)
|
||||
info.BestBackend()->lister_->UnmountDevice(info.BestBackend()->unique_id_);
|
||||
}
|
||||
|
||||
void DeviceManager::DeviceSongCountUpdated(int count) {
|
||||
ConnectedDevice* device = qobject_cast<ConnectedDevice*>(sender());
|
||||
if (!device)
|
||||
return;
|
||||
|
||||
int row = FindDeviceById(device->unique_id());
|
||||
if (row == -1)
|
||||
return;
|
||||
|
||||
emit dataChanged(index(row), index(row));
|
||||
}
|
||||
|
@ -51,6 +51,7 @@ public:
|
||||
Role_MountPath,
|
||||
Role_TranscodeMode,
|
||||
Role_TranscodeFormat,
|
||||
Role_SongCount,
|
||||
|
||||
LastRole,
|
||||
};
|
||||
@ -105,6 +106,7 @@ private slots:
|
||||
void PhysicalDeviceChanged(const QString& id);
|
||||
void DeviceTaskStarted(int id);
|
||||
void TasksChanged();
|
||||
void DeviceSongCountUpdated(int count);
|
||||
|
||||
private:
|
||||
// Devices can be in three different states:
|
||||
|
@ -97,9 +97,19 @@ void DeviceItemDelegate::paint(QPainter* p, const QStyleOptionViewItem& opt, con
|
||||
status_text = tr("Double click to open");
|
||||
break;
|
||||
|
||||
case DeviceManager::State_Connected:
|
||||
status_text = index.data(DeviceManager::Role_MountPath).toString();
|
||||
case DeviceManager::State_Connected: {
|
||||
QVariant song_count = index.data(DeviceManager::Role_SongCount);
|
||||
if (song_count.isValid()) {
|
||||
int count = song_count.toInt();
|
||||
if (count == 1) // TODO: Fix this properly
|
||||
status_text = tr("%1 song").arg(count);
|
||||
else
|
||||
status_text = tr("%1 songs").arg(count);
|
||||
} else {
|
||||
status_text = index.data(DeviceManager::Role_MountPath).toString();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -40,6 +40,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 llistes de reproducció (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 seleccionades de"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 temes"
|
||||
|
@ -41,6 +41,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -41,6 +41,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -41,6 +41,14 @@ msgstr "%1 Wiedergabelisten (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 ausgewählt von"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 Stücke"
|
||||
|
@ -42,6 +42,14 @@ msgstr "%1 λίστες αναπαραγωγής (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 επιλεγμένα από"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 κομμάτια"
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 playlists (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -40,6 +40,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -41,6 +41,14 @@ msgstr "%1 listas de reproducción (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 seleccionadas de"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 pistas"
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 soittolistaa (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 kappaletta"
|
||||
|
@ -41,6 +41,14 @@ msgstr "%1 listes de lecture (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 sélectionné de"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 pistes"
|
||||
|
@ -40,6 +40,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 lejátszási lista (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 kiválasztva"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 szám"
|
||||
|
@ -41,6 +41,14 @@ msgstr "%1 scalette (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 selezionate di"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 tracce"
|
||||
|
@ -40,6 +40,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 grojaraščiai (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 pažymėta iš"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 takeliai"
|
||||
|
@ -40,6 +40,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 spor"
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 afspeellijsten (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 geselecteerd van"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 tracks"
|
||||
|
@ -40,6 +40,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -41,6 +41,14 @@ msgstr "%1 list odtwarzania (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 zaznaczonych z"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 ścieżek"
|
||||
|
@ -40,6 +40,14 @@ msgstr "Listas de reprodução %1 (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "seleccionada(s) %1 de"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 faixas"
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 listas de reprodução (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 selecionado(s) de"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 faixas"
|
||||
|
@ -40,6 +40,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -39,6 +39,14 @@ msgstr "%1 списков воспроизведения (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 выбрано из"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 композиций"
|
||||
|
@ -41,6 +41,14 @@ msgstr "%1 playlistov (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 vybratých z"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 skladieb"
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 predvajalnih seznamov (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "izbran %1 od"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 skladb"
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 листа нумера (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 нумера"
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 spellistor (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 markerade av"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 spår"
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 çalma listesi (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 parça"
|
||||
|
@ -30,6 +30,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 списків відтворення (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "вибрано з %1"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 доріжок"
|
||||
|
@ -40,6 +40,14 @@ msgstr ""
|
||||
msgid "%1 selected of"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr ""
|
||||
|
@ -40,6 +40,14 @@ msgstr "%1 播放清單 (%2)"
|
||||
msgid "%1 selected of"
|
||||
msgstr "%1 選定"
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 song"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 songs"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "%1 tracks"
|
||||
msgstr "%1 歌曲"
|
||||
|
@ -40,6 +40,7 @@ WiimotedevShortcuts::WiimotedevShortcuts(Player* player, QObject* parent)
|
||||
WIIMOTEDEV_DBUS_EVENTS_OBJECT,
|
||||
QDBusConnection::systemBus(),
|
||||
this);
|
||||
qDebug() << "Wiimotedev interface valid" << wiimotedev_iface_->isValid();
|
||||
|
||||
connect(wiimotedev_iface_, SIGNAL(dbusWiimoteGeneralButtons(quint32,quint64)),
|
||||
this, SLOT(DbusWiimoteGeneralButtons(quint32, quint64)));
|
||||
|
Loading…
x
Reference in New Issue
Block a user