This commit is contained in:
2026-01-14 17:34:14 +03:00
parent 736f2392e2
commit 8d346cce31
6 changed files with 29 additions and 8 deletions

View File

@@ -98,6 +98,8 @@ void CommonView::setWidthColumnsTree()
listWidthColumn.append(140); listWidthColumn.append(140);
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 100); treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 100);
listWidthColumn.append(100); listWidthColumn.append(100);
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Messages, 100);
listWidthColumn.append(100);
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80); treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80);
listWidthColumn.append(80); listWidthColumn.append(80);
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40); treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40);
@@ -108,7 +110,7 @@ void CommonView::setWidthColumnsTree()
void CommonView::reSetHeadTreeWidget() void CommonView::reSetHeadTreeWidget()
{ {
QStringList listHeaders = {tr("Name"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Administrator"), tr("Archived"), tr("Online"), tr("ID")}; QStringList listHeaders = {tr("Name"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Administrator"), tr("Archived"), tr("Messages"), tr("Online"), tr("ID")};
treeWidget->setHeaderLabels(listHeaders); treeWidget->setHeaderLabels(listHeaders);
} }
@@ -143,6 +145,8 @@ void CommonView::preparationTreeWidget()
{ {
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true); treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true);
} }
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Messages, true);
} }
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true); treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Password, true); treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Password, true);

View File

@@ -39,6 +39,7 @@ protected:
clmn_IP_address, clmn_IP_address,
clmn_Administrator, clmn_Administrator,
clmn_Archived, clmn_Archived,
clmn_Messages,
clmn_Logged, clmn_Logged,
clmn_ID, clmn_ID,
clmn_count clmn_count
@@ -111,7 +112,7 @@ protected:
TypeObject typeObject; TypeObject typeObject;
QMutex mtxmapNewMsg; QMutex mtxmapNewMsg;
QMap<int, bool> mapNewMsg; QMap<int, int> mapNewMsg;
WaitAnimationWidget *waitAnimationWidget; WaitAnimationWidget *waitAnimationWidget;
}; };

View File

@@ -77,7 +77,7 @@ void InstructorsView::loadInstructorsFromDB()
else else
{//Не Залогинен {//Не Залогинен
//ItemInstructor->setText(ColumnsTreeUsers::clmn_Logged, tr("no")); //ItemInstructor->setText(ColumnsTreeUsers::clmn_Logged, tr("no"));
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png"))); //ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
} }
//Скрываем архивных (при необходимости) //Скрываем архивных (при необходимости)
@@ -96,13 +96,19 @@ void InstructorsView::loadInstructorsFromDB()
if(mapNewMsg.value(instructor.getID())) if(mapNewMsg.value(instructor.getID()))
{ {
if(lastCurrentID == instructor.getID()) if(lastCurrentID == instructor.getID())
mapNewMsg.take(lastCurrentID); {
//mapNewMsg.take(lastCurrentID);
}
else else
{ {
/*
for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++) for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++)
{ {
ItemInstructor->setBackground(i, QBrush(QColor(250, 210, 1))); ItemInstructor->setBackground(i, QBrush(QColor(250, 210, 1)));
} }
*/
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Messages, QIcon(QStringLiteral(":/resources/icons/sendMsg.png")));
ItemInstructor->setText(ColumnsTreeUsers::clmn_Messages, QString::number(mapNewMsg.value(instructor.getID())));
} }
} }
} }

View File

@@ -69,7 +69,7 @@ void ViewerInstructors::slot_receiveMessage(ClientMessage clientMessage)
int id_instructor = clientMessage.fromId.toInt(); int id_instructor = clientMessage.fromId.toInt();
mtxmapNewMsg.lock(); mtxmapNewMsg.lock();
mapNewMsg.insert(id_instructor, true); mapNewMsg.insert(id_instructor, mapNewMsg.value(id_instructor) + 1);
mtxmapNewMsg.unlock(); mtxmapNewMsg.unlock();
slot_NeedUpdateUI(true, false); slot_NeedUpdateUI(true, false);
@@ -121,6 +121,8 @@ void ViewerInstructors::on_treeWidgetItemClicked(QTreeWidgetItem *item, int colu
item->setBackground(i, QBrush(Qt::GlobalColor::white)); item->setBackground(i, QBrush(Qt::GlobalColor::white));
} }
mapNewMsg.take(newCurrentID); mapNewMsg.take(newCurrentID);
item->setIcon(ColumnsTreeUsers::clmn_Messages, QIcon());
item->setText(ColumnsTreeUsers::clmn_Messages, "");
} }
} }
mtxmapNewMsg.unlock(); mtxmapNewMsg.unlock();

View File

@@ -86,7 +86,7 @@ void TraineesView::loadTraineesFromDB()
else else
{//Не Залогинен {//Не Залогинен
//ItemTrainee->setText(ColumnsTreeUsers::clmn_Logged, tr("no")); //ItemTrainee->setText(ColumnsTreeUsers::clmn_Logged, tr("no"));
ItemTrainee->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png"))); //ItemTrainee->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
} }
ItemGroup->addChild(ItemTrainee); ItemGroup->addChild(ItemTrainee);
@@ -107,13 +107,19 @@ void TraineesView::loadTraineesFromDB()
if(mapNewMsg.value(trainee.getID())) if(mapNewMsg.value(trainee.getID()))
{ {
if(lastCurrentID == trainee.getID()) if(lastCurrentID == trainee.getID())
mapNewMsg.take(lastCurrentID); {
//mapNewMsg.take(lastCurrentID);
}
else else
{ {
/*
for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++) for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++)
{ {
ItemTrainee->setBackground(i, QBrush(QColor(250, 210, 1))); ItemTrainee->setBackground(i, QBrush(QColor(250, 210, 1)));
} }
*/
ItemTrainee->setIcon(ColumnsTreeUsers::clmn_Messages, QIcon(QStringLiteral(":/resources/icons/sendMsg.png")));
ItemTrainee->setText(ColumnsTreeUsers::clmn_Messages, QString::number(mapNewMsg.value(trainee.getID())));
} }
} }
} }

View File

@@ -103,7 +103,7 @@ void ViewerTrainees::slot_receiveMessage(ClientMessage clientMessage)
int id_trainee = clientMessage.fromId.toInt(); int id_trainee = clientMessage.fromId.toInt();
mtxmapNewMsg.lock(); mtxmapNewMsg.lock();
mapNewMsg.insert(id_trainee, true); mapNewMsg.insert(id_trainee, mapNewMsg.value(id_trainee) + 1);
mtxmapNewMsg.unlock(); mtxmapNewMsg.unlock();
slot_NeedUpdateUI(false, true); slot_NeedUpdateUI(false, true);
@@ -202,6 +202,8 @@ void ViewerTrainees::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
item->setBackground(i, QBrush(Qt::GlobalColor::white)); item->setBackground(i, QBrush(Qt::GlobalColor::white));
} }
mapNewMsg.take(newCurrentID); mapNewMsg.take(newCurrentID);
item->setIcon(ColumnsTreeUsers::clmn_Messages, QIcon());
item->setText(ColumnsTreeUsers::clmn_Messages, "");
} }
} }
mtxmapNewMsg.unlock(); mtxmapNewMsg.unlock();