refact. SubProc превр. в класс. fix bug canplay

This commit is contained in:
2025-11-18 17:23:37 +03:00
parent b333ec8ec1
commit 31e01ff8e5
9 changed files with 157 additions and 123 deletions

View File

@@ -78,9 +78,9 @@ bool ListSubProc::getListCheckedSubProc(QList<SubProc>* listSubProc)
if(item->checkState(0) == Qt::Checked)
{
SubProc subProc;
subProc.dmCode = item->text(ColumnsTreeSubProc::clmnSP_code);
subProc.title = item->text(ColumnsTreeSubProc::clmnSP_title);
subProc.modeList = parseCanplay(item->text(ColumnsTreeSubProc::clmnSP_canplay));
subProc.setDmCode(item->text(ColumnsTreeSubProc::clmnSP_code));
subProc.setTitle(item->text(ColumnsTreeSubProc::clmnSP_title));
subProc.setModeListStr(item->text(ColumnsTreeSubProc::clmnSP_canplay));
listSubProc->append(subProc);
}
}
@@ -144,51 +144,6 @@ int ListSubProc::calculateWidth_0Column()
return width0Column;
}
QString ListSubProc::buildCanplay(ModeList modeList)
{
QString canplay = QString("%1/%2/%3/%4").arg(modeList.demo?"+":"-", modeList.train?"+":"-", modeList.exam?"+":"-", modeList.autoM?"+":"-");
return canplay;
}
ModeList ListSubProc::parseCanplay(QString canplay)
{
ModeList modeList;
if(canplay == "")
{
modeList.demo = false;
modeList.train = false;
modeList.exam = false;
modeList.autoM = false;
}
else
{
QStringList list = canplay.split("/");
if(list.at(0) == "+")
modeList.demo = true;
else
modeList.demo = false;
if(list.at(1) == "+")
modeList.train = true;
else
modeList.train = false;
if(list.at(2) == "+")
modeList.exam = true;
else
modeList.exam = false;
if(list.at(3) == "+")
modeList.autoM = true;
else
modeList.autoM = false;
}
return modeList;
}
void ListSubProc::slot_UpdateSubProcForDMCode(QString dmCode)
{
if(this->task.ammProcedure.dmCode == dmCode)
@@ -199,10 +154,10 @@ void ListSubProc::slot_UpdateSubProcForDMCode(QString dmCode)
{
QTreeWidgetItem* item = new QTreeWidgetItem(treeWidget);
item->setIcon(0, QIcon(":/resources/icons/procedure.png"));
item->setText(ColumnsTreeSubProc::clmnSP_title, subProc.title);
item->setText(ColumnsTreeSubProc::clmnSP_code, subProc.dmCode);
item->setText(ColumnsTreeSubProc::clmnSP_canplay, buildCanplay(subProc.modeList));
item->setToolTip(ColumnsTreeSubProc::clmnSP_title, subProc.title);
item->setText(ColumnsTreeSubProc::clmnSP_title, subProc.getTitle());
item->setText(ColumnsTreeSubProc::clmnSP_code, subProc.getDmCode());
item->setText(ColumnsTreeSubProc::clmnSP_canplay, subProc.getModeListStr());
item->setToolTip(ColumnsTreeSubProc::clmnSP_title, subProc.getTitle());
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
item->setCheckState(ColumnsTreeSubProc::clmnSP_title, Qt::Checked);

View File

@@ -37,8 +37,6 @@ private:
void reSetHeadTreeWidget();
void setWidthColumnsTree();
int calculateWidth_0Column();
QString buildCanplay(ModeList modeList); //TODO Дублируется в DocsUpdater (Server)!
ModeList parseCanplay(QString canplay); //TODO Дублируется в DocsUpdater (Server)!
public slots:
void slot_UpdateSubProcForDMCode(QString dmCode);