void WorldItemBox::MusicList_itemClicked(const QModelIndex &item) { if(!item.isValid()) return;//Ignore invalid //placeLevel if ((mw()->activeChildWindow() == MainWindow::WND_World) && (ui->WLD_MusicList->hasFocus())) { WorldEdit * edit = mw()->activeWldEditWin(); if(!edit) return; if(!m_musicboxModel->data(item, ItemBoxListModel::ItemBox_ItemIsValid).toBool()) return; int id = m_musicboxModel->data(item, ItemBoxListModel::ItemBox_ItemId).toInt(); QString customMusicFile; if((uint64_t)id == mw()->configs.music_w_custom_id) { if(edit->isUntitled()) { QMessageBox::information(this, tr("Please, save file"), tr("Please, save file first, if you want to select custom music file."), QMessageBox::Ok); return; } QString dirPath = edit->WldData.meta.path; MusicFileList musicList(dirPath, ""); if(musicList.exec() == QDialog::Accepted) customMusicFile = musicList.SelectedFile; else return; } WldPlacingItems::musicSet.music_file = customMusicFile; mw()->SwitchPlacingItem(ItemTypes::WLD_MusicBox, id); //Play selected music edit->currentMusic = id; edit->currentCustomMusic = customMusicFile; LvlMusPlay::setMusic(LvlMusPlay::WorldMusic, edit->currentMusic, edit->currentCustomMusic); mw()->setMusic(); } }
void NetWork::dealGetMusicList(QNetworkReply *reply) { QJsonObject obj = getObject(*reply); if (obj.isEmpty()) return; QStringList list; QVector<int> vector; // 获取歌单... QJsonObject::const_iterator it = obj.find("playlist"); if (it != obj.constEnd()) { QJsonArray array = it.value().toArray(); for (int j = 0; j < array.count(); j++) { QJsonObject mObj = array.at(j).toObject(); QString name = mObj.find("name").value().toString(); int id = mObj.find("id").value().toInt(); list.append(name); vector.append(id); } } emit musicList(list, vector); }