| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #include "numbercreate.h"
- NumberCreate::NumberCreate(NumberListModel *model)
- {
- this->oldModel = model;
- this->stop = false;
- }
- void NumberCreate::abort()
- {
- this->stop = true;
- }
- NumberCreate::~NumberCreate()
- {
- qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
- <<"NumberCreate Destroyed.";
- }
- void NumberCreate::setFilterType(int type)
- {
- this->type = type;
- }
- void NumberCreate::setSegments(QStringList segments)
- {
- this->segments = segments;
- }
- void NumberCreate::setFilters(QMultiMap<int, QString> rules)
- {
- this->rules = rules;
- }
- void NumberCreate::run()
- {
- emit progressMaxUpdated(this->segments.size());
- QStringList last4Rules = this->rules.values(0);
- QStringList matchedlast4Numbers;
- for(int i=0;i<10000;i++)
- {
- QString last4 = QString("0000" + QString::number(i)).right(4);
- for(int j=0;j<last4Rules.size();j++)
- {
- QRegExp regex(last4Rules.at(j));
- if(regex.exactMatch(last4))
- {
- matchedlast4Numbers << last4;
- break;
- }
- }
- }
- for(int i=0;i<segments.size();i++){
- numbers.append(matchedlast4Numbers);
- emit progressUpdated(i+1);
- }
- appendModel();
- emit numberCreated(newModel);
- }
- void NumberCreate::appendModel()
- {
- newModel = new NumberListModel();
- segments.append(oldModel->getSegments());
- numbers.append(oldModel->getNumbers());
- newModel->setNumberList(segments,numbers);
- }
|