Ресайзинг заголовков деревьев

This commit is contained in:
krivoshein
2025-01-29 10:25:44 +03:00
parent 036c89b1f2
commit 87de435d4c
5 changed files with 77 additions and 35 deletions

View File

@@ -7,6 +7,38 @@ TraineesView::TraineesView(ConnectorToServer* connectorToServer, TypeView type,
typeObject = TypeObject::objGroup;
}
void TraineesView::resizeEvent(QResizeEvent *event)
{
int width = treeWidget->width();
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Login, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Password, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 80);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 100);
int widthTrainee;
if(typeView == TypeView::onlyView)
{//onlyView
widthTrainee = width - (530 + 10);
}
else
{//control
if(adminMode)
widthTrainee = width - (760 + 10);
else
widthTrainee = width - (630 + 10);
}
if(widthTrainee < 250)
widthTrainee = 250;
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, widthTrainee);
}
void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
{
updateButtons();
@@ -19,22 +51,10 @@ void TraineesView::preparationTreeWidget()
{
mtxTreeWidget.lock();
treeWidget->setColumnCount(10);
treeWidget->setColumnCount(clmn_count);
reSetHeadTreeWidget();
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, 250);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Login, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Password, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 80);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Tasks, 60);
if(typeView == TypeView::onlyView)
{//onlyView
archiveVisible = false;
@@ -137,13 +157,6 @@ void TraineesView::loadTraineesFromDB()
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
}
QString tasksStr;
for(Task task: trainee.getTasks())
{
tasksStr += task.getName() + QStringLiteral("; ");
}
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Tasks, tasksStr);
ItemGroup->addChild(ItemTrainee);
//Скрываем архивных (при необходимости)
@@ -185,7 +198,7 @@ void TraineesView::loadTraineesFromDB()
void TraineesView::reSetHeadTreeWidget()
{
QStringList listHeaders = {tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Archived"), tr("Logged"), tr("Tasks"), tr("ID")};
QStringList listHeaders = {tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Archived"), tr("Logged"), tr("ID")};
treeWidget->setHeaderLabels(listHeaders);
}