void MainWindow::addTrackerToList(Backend *newTracker, bool sync) { qDebug() << "Adding tracker to list"; if (pDetectorProgress != NULL) { pDetectorProgress->reset(); pDetectorProgress->hide(); } connect(this, SIGNAL(reloadFromDatabase()), newTracker->displayWidget(), SLOT(reloadFromDatabase())); connect(this, SIGNAL(setShowOptions(bool,bool,bool,bool)), newTracker->displayWidget(), SLOT(setShowOptions(bool,bool,bool,bool))); connect(newTracker->displayWidget(), SIGNAL(bugChanged()), this, SLOT(toggleButtons())); int newIndex = ui->trackerTab->insertTab(0, newTracker->displayWidget(), newTracker->name()); pSearchTab->addTracker(newTracker); filterTable(); QString iconPath = QDesktopServices::storageLocation(QDesktopServices::DataLocation); iconPath.append(QDir::separator()).append("entomologist"); iconPath.append(QDir::separator()).append(QString("%1.png").arg(newTracker->name())); ui->trackerTab->setTabIcon(newIndex, QIcon(iconPath)); ui->trackerTab->setCurrentIndex(newIndex); mBackendMap[newTracker->id()] = newTracker; mBackendList.append(newTracker); if(!QFile::exists(iconPath)) fetchIcon(newTracker->url(), iconPath, newTracker->username(), newTracker->password()); if (sync) syncTracker(newTracker); }
void MainWindow::changelogTriggered() { ChangelogWindow *newWindow = new ChangelogWindow(this); newWindow->loadChangelog(); newWindow->exec(); delete newWindow; filterTable(); }
void FrmSampling::initModels() { if (tRefSampTec!=0) delete tRefSampTec; tRefSampTec = new QSqlRelationalTableModel; tRefSampTec->setTable(tr("Ref_Sampling_Technique")); tRefSampTec->setRelation(5, QSqlRelation(tr("Ref_Strategy"), tr("ID"), tr("Name"))); //filter n/a records filterTable(tRefSampTec->relationModel(5)); tRefSampTec->setEditStrategy(QSqlTableModel::OnManualSubmit); tRefSampTec->sort(0,Qt::AscendingOrder); tRefSampTec->select(); if (tSampLevels!=0) delete tSampLevels; tSampLevels=new QSqlRelationalTableModel(); tSampLevels->setTable(QSqlDatabase().driver()->escapeIdentifier(tr("Sampled_Levels"), QSqlDriver::TableName)); tSampLevels->setRelation(1, QSqlRelation(tr("Ref_Levels"), tr("ID"), tr("Name"))); tSampLevels->setRelation(4, QSqlRelation(tr("Ref_Strategy"), tr("ID"), tr("Name"))); //filter n/a records filterTable(tSampLevels->relationModel(1)); filterTable(tSampLevels->relationModel(4)); tSampLevels->setEditStrategy(QSqlTableModel::OnManualSubmit); tSampLevels->sort(0,Qt::AscendingOrder); tSampLevels->select(); tSampLevels->setHeaderData(1,Qt::Horizontal, tr("Level")); tSampLevels->setHeaderData(2,Qt::Horizontal, tr("Sample size")); tSampLevels->setHeaderData(3,Qt::Horizontal, tr("Population size")); tSampLevels->setHeaderData(4,Qt::Horizontal, tr("Strategy")); tSampLevels->setHeaderData(5,Qt::Horizontal, tr("Description")); tSampLevels->setHeaderData(6,Qt::Horizontal, tr("Comments")); tRefLevels = new QSqlTableModel; tRefLevels->setTable("Ref_Levels"); tRefLevels->setEditStrategy(QSqlTableModel::OnManualSubmit); tRefLevels->sort(0,Qt::AscendingOrder); tRefLevels->select(); }
// Whenever the user ticks boxes in the Show menu, this fires void MainWindow::showActionTriggered() { // Save the new state QSettings settings("Entomologist"); settings.setValue("show-my-bugs", ui->actionMy_Bugs->isChecked()); settings.setValue("show-my-reports", ui->actionMy_Reports->isChecked()); settings.setValue("show-my-ccs", ui->actionMy_CCs->isChecked()); settings.setValue("show-my-monitored", ui->actionMonitored_Components->isChecked()); filterTable(); }
void FrmFrame::initModels() { //Frame tRefFrame=new QSqlRelationalTableModel(); tRefFrame->setTable(QSqlDatabase().driver()->escapeIdentifier(tr("FR_Frame"), QSqlDriver::TableName)); tRefFrame->setRelation(0, QSqlRelation(tr("FR_Frame"), tr("ID"), tr("Name"))); tRefFrame->sort(0,Qt::AscendingOrder); tRefFrame->select(); filterTable(tRefFrame->relationModel(0)); //Frame_Time (Physical frame + time frame!) tFrameTime=new QSqlTableModel(); tFrameTime->setTable(QSqlDatabase().driver()->escapeIdentifier(tr("FR_Time"), QSqlDriver::TableName)); tFrameTime->setEditStrategy(QSqlTableModel::OnManualSubmit); tFrameTime->sort(0,Qt::AscendingOrder); tFrameTime->select(); }
// This slot is connected to a signal in each Backend object, // so we know when we're done syncing and can let the user // interact with the application again void MainWindow::bugsUpdated() { mSyncRequests--; qDebug() << "bugsUpdated: mSyncRequests is now: " << mSyncRequests; if (mSyncRequests == 0) { if (mSyncPosition == mBackendList.size()) { filterTable(); mUploading = false; stopAnimation(); notifyUser(); emit reloadFromDatabase(); } else { syncNextTracker(); } } }