numbercopy.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "numbercopy.h"
  2. NumberCopy::NumberCopy(NumberListModel *model)
  3. {
  4. this->model = model;
  5. this->stop = false;
  6. }
  7. NumberCopy::~NumberCopy()
  8. {
  9. qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
  10. <<"NumberCopy Destroyed.";
  11. }
  12. //void NumberCopy::run()
  13. //{
  14. // QStringList segments = model->getSegments();
  15. // QList<QStringList> numbers = model->getNumbers();
  16. // QString content;
  17. // emit progressMaxUpdated(segments.size());
  18. // for(int i=0;i<segments.size();i++)
  19. // {
  20. // if(stop)
  21. // break;
  22. // QString segment = segments.at(i);
  23. // if(i<segments.size()-1)
  24. // emit progressUpdated(i+1);
  25. // for(int j=0;j<numbers.at(i).size();j++)
  26. // {
  27. // content += segment + numbers.at(i).at(j)+"\r\n";
  28. // }
  29. // }
  30. // emit progressUpdated(segments.size());
  31. // emit numberCopyed(content);
  32. //}
  33. void NumberCopy::run()
  34. {
  35. model->setMapIndex();
  36. QString content;
  37. int size = model->getCount();
  38. int progress = qMax(size/50,1);
  39. emit progressMaxUpdated(size);
  40. for(int i=0;i<size;i++)
  41. {
  42. if(stop)
  43. break;
  44. if( (i+1) % progress ==0 || i==size-1)
  45. {
  46. emit progressUpdated(i+1);
  47. }
  48. content += model->getNumberEx(i)+"\r\n";
  49. }
  50. emit progressUpdated(size);
  51. emit numberCopyed(content);
  52. }