Exemplo n.º 1
0
void EditTagDialog::FieldValueEdited() {
  if (ignore_edits_) return;

  const QModelIndexList sel =
      ui_->song_list->selectionModel()->selectedIndexes();
  if (sel.isEmpty()) return;

  QWidget* w = qobject_cast<QWidget*>(sender());

  // Find the field
  for (const FieldData& field : fields_) {
    if (field.editor_ == w) {
      UpdateFieldValue(field, sel);
      return;
    }
  }
}
Exemplo n.º 2
0
int UpdateDB()
{
	char sql[1024];
	char** strDst;
	int iLength,i;
	int iCount=0;
	CUtil_Tools::StrSplit(strDst,strDBTableList,iLength,",;:");
	for ( i=0;i<iLength;i++ )
	{
		if ( strlen(strDst[i])>0 )
		{
			sprintf(sql,"SELECT * FROM %s",strDst[i]);
		} 
		else
		{
			continue;
		}
		LogExec("updating ");
		LogExec(strDst[i]);

		int j;
		int iPageCount=1;
		int iItemPerPage=100;
		for ( j=0;j<iPageCount;j++ )
		{
			TPI_HRECORDSET rs;
			int errorcode = -1;
			rs = TPI_OpenRecordSet(kbase_handle,sql, &errorcode);
			if (rs == NULL)
			{
				LogExec("\ncant open recordset\n");
				continue;
			}

			if(TPI_GetRecordSetCount(rs)<1)
			{
				LogExec("\ndatabase recordset count<1\n");
				TPI_CloseRecordSet( rs );
				continue;
			}
			if ( j==0 )
			{
				iPageCount = (int)(TPI_GetRecordSetCount(rs)/iItemPerPage)+1;
			}

			char strID[128];
			char strFN[128];
			char strIDs[1024];
			TPI_MoveFirst(rs);
			if(!TPI_Move(rs,iItemPerPage*j+1))
			{
				TPI_CloseRecordSet(rs);
				continue;
			}
			bool  bFlag =TPI_IsEOF( rs );
			int k=0;
			while(!bFlag && k<iItemPerPage)
			{
				k++;
				TPI_GetFieldValueByName(rs,"ID",strID,128);
				TPI_GetFieldValueByName(rs,"ÊÓ¾õÏàËÆVSM",strFN,128);
				strcpy(strIDs,GetSJXSIDs(strFN,strID));
				if ( strlen(strIDs)>0 )
				{
					UpdateFieldValue(rs,"ÊÓ¾õÏàËÆͼƬID",strIDs);
					iCount++;
					if ( iCount%iItemPerPage==0 )
					{
						LogExec(".");
					}
				}
				TPI_MoveNext( rs );
				bFlag = TPI_IsEOF( rs );
			}
			TPI_CloseRecordSet(rs);
		}
		LogExec("\n");

		time_t timer;
		struct tm *tblock;
		timer=time(NULL);
		tblock=localtime(&timer);
		if ( iFromHour>iEndHour && (iFromHour<=tblock->tm_hour || iEndHour<tblock->tm_hour) )
		{
			continue;
		}
		if ( iFromHour<iEndHour && (iFromHour<=tblock->tm_hour && iEndHour>tblock->tm_hour) )
		{
			continue;
		}
		if ( iFromHour==tblock->tm_hour)
		{
			continue;
		}
		Sleep(1000*3600*(iFromHour>tblock->tm_hour?(tblock->tm_hour-iFromHour):(iFromHour+24-tblock->tm_hour)));
	}
	CUtil_Tools::StrppDelete(strDst,iLength);

	return STAT_NULL;
}