Оптимизировал дерево в Задачах (размеры колонок)

This commit is contained in:
2025-09-25 17:56:46 +03:00
parent b055ff4ed4
commit 7c70fc90d6
6 changed files with 139 additions and 89 deletions

View File

@@ -4,6 +4,7 @@
#include <QMessageBox>
#include <QThread>
#include <QResizeEvent>
#include <QScrollBar>
#include "ammtaskswidget.h"
#include "ui_ammtaskswidget.h"
#include "checkertask.h"
@@ -112,28 +113,10 @@ void AMMtasksWidget::waitAnimationWidgetShowWithPlay()
void AMMtasksWidget::resizeEvent(QResizeEvent *event)
{
setWidthColumnsTree();
QSize size = event->size();
waitAnimationWidget->resize(size);
int width = treeWidget->width();
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_ID, 50);
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_code, 250);
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_status, 130);
int widthPMorDM;
if(type == TypeListTreeAMMFIM::listCommon)
widthPMorDM = width - (270 + 10);
else
{
#ifdef PROJECT_TYPE_DEBUG
widthPMorDM = width - (430 + 10);
#else
widthPMorDM = width - (380 + 10);
#endif
}
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_PMorDM, widthPMorDM);
}
void AMMtasksWidget::closeDlgCheckTask()
@@ -275,14 +258,52 @@ void AMMtasksWidget::reSetHeadTreeWidget()
QStringList listHeaders;
if(type == TypeListTreeAMMFIM::listForTrainee)
listHeaders = QStringList{tr("Task AMM"), tr("DM code"), tr("ID"), tr("Status")};
listHeaders = QStringList{tr("Task AMM"), tr("DM code"), tr("Status"), tr("ID")};
else
listHeaders = QStringList{tr("Task AMM"), tr("DM code"), tr("ID"), tr("Status")};
listHeaders = QStringList{tr("Task AMM"), tr("DM code"), tr("Status"), tr("ID")};
treeWidget->setHeaderLabels(listHeaders);
}
void AMMtasksWidget::setWidthColumnsTree()
{
listWidthColumn.clear();
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_PMorDM, 100);
listWidthColumn.append(100);
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_code, 250);
listWidthColumn.append(250);
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_status, 130);
listWidthColumn.append(130);
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_ID, 50);
listWidthColumn.append(50);
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_PMorDM, calculateWidth_0Column());
}
int AMMtasksWidget::calculateWidth_0Column()
{
int widthHeader = treeWidget->width() - 20;
int width0Column = 0;
int widthSB = 0;
if(treeWidget->verticalScrollBar()->isVisible())
widthSB = treeWidget->verticalScrollBar()->size().width();
int cntColumns = treeWidget->columnCount();
int widthRightColumns = 0;
for (int i = 1; i < cntColumns; i++)
{
if(! treeWidget->isColumnHidden(i))
{//Колонка не скрыта
int w = listWidthColumn.at(i);
widthRightColumns += w;
}
}
width0Column = widthHeader - widthRightColumns - widthSB;
return width0Column;
}
void AMMtasksWidget::assignTaskAMMtoTrainee()
{
QTreeWidgetItem *current = treeWidget->currentItem();