- QTableWidgetItem* tableItem;
- QString field;
- QStringList fieldlist;
- versionTable->setRowCount(results.size());
-
- int row = 0;
- /* Iterate through the record returned from the query */
- foreach (QString resultline, results) {
- fieldlist = resultline.split("\t");
- int column = 0;
- /* remove directory */
- if (fieldlist[0].trimmed() != "") {
- /* Iterate through fields in the record */
- foreach (field, fieldlist) {
- field = field.trimmed(); /* strip leading & trailing spaces */
- tableItem = new QTableWidgetItem(field, 1);
- tableItem->setFlags(0);
- tableItem->setForeground(blackBrush);
- tableItem->setData(Qt::UserRole, QVariant(directory));
- versionTable->setItem(row, column, tableItem);
-
- if (column == 0) {
- Qt::ItemFlags flag = Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsTristate;
- tableItem->setFlags(flag);
- m_versionCheckStateList.append(Qt::Unchecked);
- tableItem->setCheckState(Qt::Unchecked);
+ int pathid = m_directoryPathIdHash.value(directory, -1);
+ if ((pathid != -1) && (fileNameId != -1)) {
+ QString cmd =
+ "SELECT Job.JobId AS JobId, Job.Level AS Type,"
+ " Job.EndTime AS EndTime, File.MD5 AS MD5,"
+ " File.FileId AS FileId, Job.Type AS JobType,"
+ " (SELECT Media.VolumeName FROM JobMedia JOIN Media ON JobMedia.MediaId=Media.MediaId WHERE JobMedia.JobId=Job.JobId ORDER BY JobMediaId LIMIT 1) AS FirstVolume"
+ " FROM File"
+ " INNER JOIN Filename on (Filename.FilenameId=File.FilenameId)"
+ " INNER JOIN Path ON (Path.PathId=File.PathId)"
+ " INNER JOIN Job ON (File.JobId=Job.JobId)"
+ " WHERE Path.PathId=" + QString("%1").arg(pathid) +
+ //" AND Filename.Name='" + file + "'"
+ " AND Filename.FilenameId=" + QString("%1").arg(fileNameId) +
+ " AND Job.Jobid IN (" + m_checkedJobs + ")"
+ " ORDER BY Job.EndTime DESC";
+
+ if (mainWin->m_sqlDebug)
+ Pmsg1(000, "Query cmd : %s\n", cmd.toUtf8().data());
+ QStringList results;
+ if (m_console->sql_cmd(cmd, results)) {
+
+ QTableWidgetItem* tableItem;
+ QString field;
+ QStringList fieldlist;
+ versionTable->setRowCount(results.size());
+
+ int row = 0;
+ /* Iterate through the record returned from the query */
+ foreach (QString resultline, results) {
+ fieldlist = resultline.split("\t");
+ int column = 0;
+ /* remove directory */
+ if (fieldlist[0].trimmed() != "") {
+ /* Iterate through fields in the record */
+ foreach (field, fieldlist) {
+ field = field.trimmed(); /* strip leading & trailing spaces */
+ if (column == 5 ) {
+ QByteArray jtype(field.trimmed().toAscii());
+ if (jtype.size()) {
+ field = job_type_to_str(jtype[0]);
+ }
+ }
+ tableItem = new QTableWidgetItem(field, 1);
+ tableItem->setFlags(0);
+ tableItem->setForeground(blackBrush);
+ tableItem->setData(Qt::UserRole, QVariant(directory));
+ versionTable->setItem(row, column, tableItem);
+
+ if (column == 0) {
+ Qt::ItemFlags flag = Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsTristate;
+ tableItem->setFlags(flag);
+ m_versionCheckStateList.append(Qt::Unchecked);
+ tableItem->setCheckState(Qt::Unchecked);
+ }
+ column++;