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();
    }
}
Esempio n. 2
0
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);
}