diff --git a/LibInstructorsAndTrainees/commonview.cpp b/LibInstructorsAndTrainees/commonview.cpp index 463d867..e95f762 100644 --- a/LibInstructorsAndTrainees/commonview.cpp +++ b/LibInstructorsAndTrainees/commonview.cpp @@ -98,6 +98,8 @@ void CommonView::setWidthColumnsTree() listWidthColumn.append(140); treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 100); listWidthColumn.append(100); + treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Messages, 100); + listWidthColumn.append(100); treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80); listWidthColumn.append(80); treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40); @@ -108,7 +110,7 @@ void CommonView::setWidthColumnsTree() 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); } @@ -143,6 +145,8 @@ void CommonView::preparationTreeWidget() { treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true); } + + treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Messages, true); } treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true); treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Password, true); diff --git a/LibInstructorsAndTrainees/commonview.h b/LibInstructorsAndTrainees/commonview.h index a6a4dfa..cbb31e4 100644 --- a/LibInstructorsAndTrainees/commonview.h +++ b/LibInstructorsAndTrainees/commonview.h @@ -39,6 +39,7 @@ protected: clmn_IP_address, clmn_Administrator, clmn_Archived, + clmn_Messages, clmn_Logged, clmn_ID, clmn_count @@ -111,7 +112,7 @@ protected: TypeObject typeObject; QMutex mtxmapNewMsg; - QMap mapNewMsg; + QMap mapNewMsg; WaitAnimationWidget *waitAnimationWidget; }; diff --git a/LibInstructorsAndTrainees/instructors/instructorsview.cpp b/LibInstructorsAndTrainees/instructors/instructorsview.cpp index cd3d0ae..6f3f7dd 100644 --- a/LibInstructorsAndTrainees/instructors/instructorsview.cpp +++ b/LibInstructorsAndTrainees/instructors/instructorsview.cpp @@ -77,7 +77,7 @@ void InstructorsView::loadInstructorsFromDB() else {//Не Залогинен //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(lastCurrentID == instructor.getID()) - mapNewMsg.take(lastCurrentID); + { + //mapNewMsg.take(lastCurrentID); + } else { + /* for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++) { 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()))); } } } diff --git a/LibInstructorsAndTrainees/instructors/viewerinstructors.cpp b/LibInstructorsAndTrainees/instructors/viewerinstructors.cpp index 6a0d68c..0f69afc 100644 --- a/LibInstructorsAndTrainees/instructors/viewerinstructors.cpp +++ b/LibInstructorsAndTrainees/instructors/viewerinstructors.cpp @@ -69,7 +69,7 @@ void ViewerInstructors::slot_receiveMessage(ClientMessage clientMessage) int id_instructor = clientMessage.fromId.toInt(); mtxmapNewMsg.lock(); - mapNewMsg.insert(id_instructor, true); + mapNewMsg.insert(id_instructor, mapNewMsg.value(id_instructor) + 1); mtxmapNewMsg.unlock(); slot_NeedUpdateUI(true, false); @@ -121,6 +121,8 @@ void ViewerInstructors::on_treeWidgetItemClicked(QTreeWidgetItem *item, int colu item->setBackground(i, QBrush(Qt::GlobalColor::white)); } mapNewMsg.take(newCurrentID); + item->setIcon(ColumnsTreeUsers::clmn_Messages, QIcon()); + item->setText(ColumnsTreeUsers::clmn_Messages, ""); } } mtxmapNewMsg.unlock(); diff --git a/LibInstructorsAndTrainees/trainees/traineesview.cpp b/LibInstructorsAndTrainees/trainees/traineesview.cpp index 4f8d412..d19cffa 100644 --- a/LibInstructorsAndTrainees/trainees/traineesview.cpp +++ b/LibInstructorsAndTrainees/trainees/traineesview.cpp @@ -86,7 +86,7 @@ void TraineesView::loadTraineesFromDB() else {//Не Залогинен //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); @@ -107,13 +107,19 @@ void TraineesView::loadTraineesFromDB() if(mapNewMsg.value(trainee.getID())) { if(lastCurrentID == trainee.getID()) - mapNewMsg.take(lastCurrentID); + { + //mapNewMsg.take(lastCurrentID); + } else { + /* for (int i = 0; i < ColumnsTreeUsers::clmn_count; i++) { 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()))); } } } diff --git a/LibInstructorsAndTrainees/trainees/viewertrainees.cpp b/LibInstructorsAndTrainees/trainees/viewertrainees.cpp index 9c32e5b..4cb2ff5 100644 --- a/LibInstructorsAndTrainees/trainees/viewertrainees.cpp +++ b/LibInstructorsAndTrainees/trainees/viewertrainees.cpp @@ -103,7 +103,7 @@ void ViewerTrainees::slot_receiveMessage(ClientMessage clientMessage) int id_trainee = clientMessage.fromId.toInt(); mtxmapNewMsg.lock(); - mapNewMsg.insert(id_trainee, true); + mapNewMsg.insert(id_trainee, mapNewMsg.value(id_trainee) + 1); mtxmapNewMsg.unlock(); slot_NeedUpdateUI(false, true); @@ -202,6 +202,8 @@ void ViewerTrainees::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column) item->setBackground(i, QBrush(Qt::GlobalColor::white)); } mapNewMsg.take(newCurrentID); + item->setIcon(ColumnsTreeUsers::clmn_Messages, QIcon()); + item->setText(ColumnsTreeUsers::clmn_Messages, ""); } } mtxmapNewMsg.unlock();