// Configure the tables void MainWindow::configTables(){ // Get all database models getModels(); // Set headers setModelHeaders(); // Set table models setTableModels(); // Set properties setTableProperties(ui->personTable); setTableProperties(ui->machineTable); setTableProperties(ui->connectionsTable); setTableProperties(ui->typesTable); setTableProperties(ui->systemsTable); // Connect slots connectCurrentRowChanged(); }
void Playlist::load() { m_bLoadingState = true; int lastIndex = 0; setModelHeaders(); QString fName = m_Settings->appPath(); fName += QString::number(m_Hash); if(QFile::exists(fName)) { QSettings sfile(fName, QSettings::IniFormat); // Playlist data: library id/name, etc. sfile.beginGroup("Playlist"); switch(m_listType) { case PlaylistWidget::Search: m_sSearch = sfile.value("strSearch").toString(); m_Parser->setSearchStr(m_sSearch); m_Parser->setOffset(sfile.value("offset").toInt()); m_Parser->setMore(sfile.value("more").toBool()); m_Parser->setReqType(0); m_listWidget->setSearchStr(m_sSearch); break; case PlaylistWidget::AudioLib: setLibId(sfile.value("libraryId").toString(), "0"); m_LibraryName = sfile.value("libraryName").toString(); m_listWidget->setLibraryName(m_LibraryName); m_Parser->setReqType(1); break; case PlaylistWidget::Suggestions: m_Parser->setOffset(sfile.value("offset").toInt()); m_Parser->setMore(sfile.value("more").toBool()); m_Parser->setReqType(2); break; case PlaylistWidget::DbSearch: m_sSearch = sfile.value("strSearch").toString(); m_listWidget->setSearchStr(m_sSearch); break; } lastIndex = sfile.value("last_track").toInt(); sfile.endGroup(); // Tracks data int size = sfile.beginReadArray("Tracks"); for(int i = 0; i < size; i++) { sfile.setArrayIndex(i); Track *t = new Track(this); t->setArtist(sfile.value("artist").toString()); t->setTitle(sfile.value("title").toString()); t->setAlbum(sfile.value("album").toString()); t->setUrl(sfile.value("url").toString()); t->setDuration(sfile.value("duration").toString()); t->setLenght(sfile.value("lenght").toInt()); t->setAid(sfile.value("aid").toString()); t->setOid(sfile.value("oid").toString()); t->setHash(sfile.value("hash").toString()); t->setDelHash(sfile.value("delHash").toString()); t->setBitrate(sfile.value("bitrate").toInt()); t->setMetaArtist(sfile.value("metaArtist").toString()); t->setMetaTitle(sfile.value("metaTitle").toString()); t->setMetaAlbum(sfile.value("metaAlbum").toString()); t->setMetaLoaded(sfile.value("meta").toBool()); addTrack(t); connect(t, SIGNAL(removeMe()), SLOT(onTrackSelfRemove())); } //fixme if(lastIndex < 0) lastIndex = 0; if(!m_tList.isEmpty()) { if(m_tList.size() > 0 && m_tList.size() >= lastIndex) m_LastTrack = m_tList.at(lastIndex); else m_LastTrack = m_tList.first(); } else { m_LastTrack = 0; } sfile.endArray(); } m_bLoadingState = false; m_listWidget->setActiveIndex(m_ProxyModel->index(lastIndex, 0)); }