mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Контроллер мессенджера доработанный
This commit is contained in:
@@ -18,7 +18,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|||||||
|
|
||||||
ui->horizontalLayout->addWidget(m_instructorsAndTraineesWidget);
|
ui->horizontalLayout->addWidget(m_instructorsAndTraineesWidget);
|
||||||
|
|
||||||
this->move(100, 100);
|
this->move(0, 0);
|
||||||
this->showNormal();
|
this->showNormal();
|
||||||
//this->showMaximized();
|
//this->showMaximized();
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ project(InstructorsAndTrainees LANGUAGES CXX)
|
|||||||
common_info_for_project(InstructorsAndTrainees)
|
common_info_for_project(InstructorsAndTrainees)
|
||||||
|
|
||||||
add_library(InstructorsAndTrainees SHARED
|
add_library(InstructorsAndTrainees SHARED
|
||||||
|
metatypes.h
|
||||||
|
metatypes.cpp
|
||||||
instructorsAndTrainees_global.h
|
instructorsAndTrainees_global.h
|
||||||
instructorsandtraineeswidget.cpp
|
instructorsandtraineeswidget.cpp
|
||||||
instructorsandtraineeswidget.h
|
instructorsandtraineeswidget.h
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ enum PacketType{
|
|||||||
FREE = 155
|
FREE = 155
|
||||||
};
|
};
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(PacketType)
|
//Q_DECLARE_METATYPE(PacketType)
|
||||||
|
|
||||||
class Tools {
|
class Tools {
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
ui(new Ui::InstructorsAndTraineesWidget),
|
|
||||||
connectorToServer(nullptr),
|
connectorToServer(nullptr),
|
||||||
viewerTrainees(nullptr),
|
viewerTrainees(nullptr),
|
||||||
viewerInstructors(nullptr),
|
viewerInstructors(nullptr),
|
||||||
@@ -16,29 +15,20 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
adminMode(false),
|
adminMode(false),
|
||||||
loginInstructorLoggedInLocal(QStringLiteral("")),
|
loginInstructorLoggedInLocal(QStringLiteral("")),
|
||||||
nameInstructorLoggedInLocal(QStringLiteral("")),
|
nameInstructorLoggedInLocal(QStringLiteral("")),
|
||||||
language("ENG")
|
language("ENG"),
|
||||||
|
ui(new Ui::InstructorsAndTraineesWidget)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
ui->btnSettings->setObjectName("btnSettings");
|
ui->btnSettings->setObjectName("btnSettings");
|
||||||
ui->widget_Top->setObjectName("widgetTop");
|
ui->widget_Top->setObjectName("widgetTop");
|
||||||
|
|
||||||
ui->groupBox_Trainees->setObjectName("groupBox_Trainees");
|
ui->groupBox_Trainees->setObjectName("groupBox_Trainees");
|
||||||
|
|
||||||
#ifndef PROJECT_TYPE_DEBUG
|
#ifndef PROJECT_TYPE_DEBUG
|
||||||
//ui->btnUpdateStyleSheet->setVisible(false);
|
//ui->btnUpdateStyleSheet->setVisible(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
qRegisterMetaType<PacketType>("PacketType");
|
registerMetaType();
|
||||||
qRegisterMetaType<QList<Instructor>>("QList<Instructor>");
|
|
||||||
qRegisterMetaType<QList<Trainee>>("QList<Trainee>");
|
|
||||||
qRegisterMetaType<QList<Group>>("QList<Group>");
|
|
||||||
qRegisterMetaType<QList<Computer>>("QList<Computer>");
|
|
||||||
qRegisterMetaType<QList<Classroom>>("QList<Classroom>");
|
|
||||||
qRegisterMetaType<QList<Module*>>("QList<Module*>");
|
|
||||||
qRegisterMetaType<QList<QTreeWidgetItem*>>("QList<QTreeWidgetItem*>");
|
|
||||||
qRegisterMetaType<QList<TaskAmmFim>>("QList<TaskAmmFim>");
|
|
||||||
qRegisterMetaType<ClientMessage>("ClientMessage");
|
|
||||||
|
|
||||||
qDebug() << "InstructorsAndTraineesWidget init thread ID " << QThread::currentThreadId();
|
qDebug() << "InstructorsAndTraineesWidget init thread ID " << QThread::currentThreadId();
|
||||||
|
|
||||||
@@ -47,8 +37,8 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
setLanguageInterfase();
|
setLanguageInterfase();
|
||||||
|
|
||||||
connectorToServer = new ConnectorToServer(this);
|
connectorToServer = new ConnectorToServer(this);
|
||||||
connect(connectorToServer,&ConnectorToServer::sigLoginResult,this,&InstructorsAndTraineesWidget::checkLoginResult);
|
connect(connectorToServer,&ConnectorToServer::sigLoginResult,this,&InstructorsAndTraineesWidget::slot_checkLoginResult);
|
||||||
connect(connectorToServer,&ConnectorToServer::sigDeLoginResult,this,&InstructorsAndTraineesWidget::checkDeLoginResult);
|
connect(connectorToServer,&ConnectorToServer::sigDeLoginResult,this,&InstructorsAndTraineesWidget::slot_checkDeLoginResult);
|
||||||
|
|
||||||
messangerController = new MessangerController(connectorToServer, this);
|
messangerController = new MessangerController(connectorToServer, this);
|
||||||
|
|
||||||
@@ -61,7 +51,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
|
|
||||||
connect(connectorToServer,&ConnectorToServer::signal_ConnectedToServer,this,&InstructorsAndTraineesWidget::slot_ConnectedToServer);
|
connect(connectorToServer,&ConnectorToServer::signal_ConnectedToServer,this,&InstructorsAndTraineesWidget::slot_ConnectedToServer);
|
||||||
|
|
||||||
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, messangerController, &MessangerController::signal_traineeSelected);
|
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, messangerController, &MessangerController::slot_traineeSelected);
|
||||||
connect(messangerController, &MessangerController::signal_tabMessengerChanged, viewerTrainees, &ViewerTrainees::slot_tabMessengerChanged);
|
connect(messangerController, &MessangerController::signal_tabMessengerChanged, viewerTrainees, &ViewerTrainees::slot_tabMessengerChanged);
|
||||||
|
|
||||||
messangerWidget = messangerController->newWidget(this);
|
messangerWidget = messangerController->newWidget(this);
|
||||||
@@ -69,31 +59,27 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
|
|
||||||
//Размещение
|
//Размещение
|
||||||
ui->verticalLayout_Trainees->addWidget(viewerTrainees);
|
ui->verticalLayout_Trainees->addWidget(viewerTrainees);
|
||||||
|
|
||||||
ui->verticalLayout_Messenger->addWidget(messangerWidget);
|
|
||||||
|
|
||||||
ui->verticalLayout_Instructors->addWidget(viewerInstructors);
|
ui->verticalLayout_Instructors->addWidget(viewerInstructors);
|
||||||
|
ui->verticalLayout_Messenger->addWidget(messangerWidget);
|
||||||
|
|
||||||
ui->groupBox_Messenger->setMinimumHeight(500);
|
ui->groupBox_Messenger->setMinimumHeight(500);
|
||||||
|
|
||||||
ui->groupBox_Messenger->setMaximumWidth(600);
|
ui->groupBox_Messenger->setMaximumWidth(500);
|
||||||
ui->groupBox_Messenger->setMinimumWidth(600);
|
ui->groupBox_Messenger->setMinimumWidth(500);
|
||||||
|
|
||||||
ui->groupBox_Instructors->setMinimumHeight(400);
|
ui->groupBox_Instructors->setMinimumHeight(300);
|
||||||
ui->groupBox_Instructors->setMaximumHeight(400);
|
ui->groupBox_Instructors->setMaximumHeight(300);
|
||||||
|
|
||||||
ui->groupBox_Trainees->setMinimumHeight(500);
|
ui->groupBox_Trainees->setMinimumHeight(400);
|
||||||
|
|
||||||
ui->groupBox_Trainees->setMinimumWidth(700);
|
ui->groupBox_Trainees->setMinimumWidth(800);
|
||||||
ui->groupBox_Instructors->setMinimumWidth(700);
|
ui->groupBox_Instructors->setMinimumWidth(800);
|
||||||
|
|
||||||
|
|
||||||
|
//Доступность кнопок
|
||||||
ui->btnAuthorizationInstructor->setEnabled(false);
|
ui->btnAuthorizationInstructor->setEnabled(false);
|
||||||
|
|
||||||
ui->btnEditorTrainees->setEnabled(false);
|
ui->btnEditorTrainees->setEnabled(false);
|
||||||
ui->btnEditorInstructors->setEnabled(false);
|
ui->btnEditorInstructors->setEnabled(false);
|
||||||
|
|
||||||
ui->btnSetVersion->hide();
|
ui->btnSetVersion->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,7 +122,6 @@ QString InstructorsAndTraineesWidget::getLanguage()
|
|||||||
|
|
||||||
QString InstructorsAndTraineesWidget::loadStyleSheet()
|
QString InstructorsAndTraineesWidget::loadStyleSheet()
|
||||||
{
|
{
|
||||||
//QString fileName = ":/resources/css/styleSheetMain.css";
|
|
||||||
QString fileName = "./resources/css/styleSheetMain.css";
|
QString fileName = "./resources/css/styleSheetMain.css";
|
||||||
QFile styleSheetFile(fileName);
|
QFile styleSheetFile(fileName);
|
||||||
if (!styleSheetFile.open(QFile::ReadOnly | QFile::Text))
|
if (!styleSheetFile.open(QFile::ReadOnly | QFile::Text))
|
||||||
@@ -167,7 +152,7 @@ void InstructorsAndTraineesWidget::slot_UpdateStyleSheet()
|
|||||||
updateMyStyleSheet();
|
updateMyStyleSheet();
|
||||||
}
|
}
|
||||||
|
|
||||||
void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverAuth)
|
void InstructorsAndTraineesWidget::slot_checkLoginResult(ServerAuthorization *serverAuth)
|
||||||
{
|
{
|
||||||
if (serverAuth->Result)
|
if (serverAuth->Result)
|
||||||
{
|
{
|
||||||
@@ -189,13 +174,11 @@ void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverA
|
|||||||
if(adminMode)
|
if(adminMode)
|
||||||
ui->btnEditorInstructors->setEnabled(true);
|
ui->btnEditorInstructors->setEnabled(true);
|
||||||
|
|
||||||
Q_EMIT signal_NeedUpdateUI(true, true);
|
emit signal_NeedUpdateUI(true, true);
|
||||||
//ui->btnSetVersion->show();
|
|
||||||
//ui->btnAuthorizationInstructor->setText(tr("Deauthorization Instructor"));
|
|
||||||
|
|
||||||
updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName);
|
updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName);
|
||||||
connectorToServer->setLoginName(nameInstructorLoggedInLocal);
|
connectorToServer->setLoginName(nameInstructorLoggedInLocal);
|
||||||
messangerController->initialize(serverAuth->Id);
|
messangerController->setGUIclientId(serverAuth->Id);
|
||||||
|
|
||||||
connectorToServer->sendQueryTasksXML("fim");
|
connectorToServer->sendQueryTasksXML("fim");
|
||||||
connectorToServer->sendQueryTasksXML("amm");
|
connectorToServer->sendQueryTasksXML("amm");
|
||||||
@@ -208,7 +191,7 @@ void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverA
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void InstructorsAndTraineesWidget::checkDeLoginResult(ServerDeAuthorization *serverDeAuth)
|
void InstructorsAndTraineesWidget::slot_checkDeLoginResult(ServerDeAuthorization *serverDeAuth)
|
||||||
{
|
{
|
||||||
if (serverDeAuth->Result)
|
if (serverDeAuth->Result)
|
||||||
{
|
{
|
||||||
@@ -224,11 +207,7 @@ void InstructorsAndTraineesWidget::checkDeLoginResult(ServerDeAuthorization *ser
|
|||||||
ui->btnEditorTrainees->setEnabled(false);
|
ui->btnEditorTrainees->setEnabled(false);
|
||||||
ui->btnEditorInstructors->setEnabled(false);
|
ui->btnEditorInstructors->setEnabled(false);
|
||||||
|
|
||||||
//Q_EMIT signal_NeedUpdateUI(true, false);
|
|
||||||
|
|
||||||
//ui->btnAuthorizationInstructor->setText(tr("Authorization Instructor"));
|
|
||||||
updateLabelLoggedInInstructor("","");
|
updateLabelLoggedInInstructor("","");
|
||||||
|
|
||||||
//QMessageBox::information(this, tr("Instructor deauthorization"), tr("Successfully!"));
|
//QMessageBox::information(this, tr("Instructor deauthorization"), tr("Successfully!"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -247,9 +226,6 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
|
|||||||
|
|
||||||
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||||
|
|
||||||
//ServerSettings serverSettings = connectorToServer->getServerSettings();
|
|
||||||
//ui->lblServer->setText(serverSettings.Address + ":" +serverSettings.Port);
|
|
||||||
|
|
||||||
updateLabelLoggedInInstructor(loginInstructorLoggedInLocal, nameInstructorLoggedInLocal);
|
updateLabelLoggedInInstructor(loginInstructorLoggedInLocal, nameInstructorLoggedInLocal);
|
||||||
updateLabelServer();
|
updateLabelServer();
|
||||||
}
|
}
|
||||||
@@ -257,11 +233,8 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
|
|||||||
{//Сервер отключен
|
{//Сервер отключен
|
||||||
ui->btnConnectionToServer->setEnabled(true);
|
ui->btnConnectionToServer->setEnabled(true);
|
||||||
ui->btnAuthorizationInstructor->setEnabled(false);
|
ui->btnAuthorizationInstructor->setEnabled(false);
|
||||||
//ui->btnAuthorizationInstructor->setText(tr("Authorization Instructor"));
|
|
||||||
ui->btnAuthorizationInstructor->setChecked(false);
|
ui->btnAuthorizationInstructor->setChecked(false);
|
||||||
//ui->btnSetVersion->hide();
|
|
||||||
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGray.png")));
|
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGray.png")));
|
||||||
//ui->lblServer->setText(tr("none"));
|
|
||||||
|
|
||||||
viewerInstructors->setAuthComplited(false);
|
viewerInstructors->setAuthComplited(false);
|
||||||
viewerTrainees->setAuthComplited(false);
|
viewerTrainees->setAuthComplited(false);
|
||||||
@@ -272,10 +245,7 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
|
|||||||
viewerTrainees->deactivate();
|
viewerTrainees->deactivate();
|
||||||
viewerInstructors->deactivate();
|
viewerInstructors->deactivate();
|
||||||
|
|
||||||
//ammTasksWidget->deactivate();
|
messangerController->clearAllWidgets();
|
||||||
//fimTasksWidget->deactivate();
|
|
||||||
|
|
||||||
messangerController->clear();
|
|
||||||
|
|
||||||
loginInstructorLoggedInLocal = "";
|
loginInstructorLoggedInLocal = "";
|
||||||
nameInstructorLoggedInLocal = "";
|
nameInstructorLoggedInLocal = "";
|
||||||
@@ -345,7 +315,7 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
|
|||||||
{
|
{
|
||||||
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
||||||
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
||||||
connect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::slot_InitMessanger);
|
connect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::slot_initMessanger);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui->btnAuthorizationInstructor->setChecked(false);
|
ui->btnAuthorizationInstructor->setChecked(false);
|
||||||
@@ -358,15 +328,12 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
|
|||||||
{
|
{
|
||||||
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
|
||||||
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
|
||||||
disconnect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::slot_InitMessanger);
|
disconnect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::slot_initMessanger);
|
||||||
|
|
||||||
viewerTrainees->deactivate();
|
viewerTrainees->deactivate();
|
||||||
viewerInstructors->deactivate();
|
viewerInstructors->deactivate();
|
||||||
|
|
||||||
//ammTasksWidget->deactivate();
|
messangerController->clearAllWidgets();
|
||||||
//fimTasksWidget->deactivate();
|
|
||||||
|
|
||||||
messangerController->clear();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui->btnAuthorizationInstructor->setChecked(true);
|
ui->btnAuthorizationInstructor->setChecked(true);
|
||||||
|
|||||||
@@ -8,19 +8,8 @@
|
|||||||
#include "viewerinstructors.h"
|
#include "viewerinstructors.h"
|
||||||
#include "messangerwidget.h"
|
#include "messangerwidget.h"
|
||||||
#include "messangercontroller.h"
|
#include "messangercontroller.h"
|
||||||
#include "ammtaskswidget.h"
|
|
||||||
#include "fimtaskswidget.h"
|
|
||||||
#include "connectortoserver.h"
|
#include "connectortoserver.h"
|
||||||
#include "tasksAmmFim.h"
|
#include "metatypes.h"
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(QList<Instructor>)
|
|
||||||
Q_DECLARE_METATYPE(QList<Trainee>)
|
|
||||||
Q_DECLARE_METATYPE(QList<Group>)
|
|
||||||
Q_DECLARE_METATYPE(QList<Computer>)
|
|
||||||
Q_DECLARE_METATYPE(QList<Classroom>)
|
|
||||||
Q_DECLARE_METATYPE(QList<Module*>)
|
|
||||||
Q_DECLARE_METATYPE(QList<QTreeWidgetItem*>)
|
|
||||||
Q_DECLARE_METATYPE(QList<TaskAmmFim>)
|
|
||||||
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
@@ -41,6 +30,7 @@ private:
|
|||||||
public:
|
public:
|
||||||
void updateMyStyleSheet();
|
void updateMyStyleSheet();
|
||||||
QString getLanguage();
|
QString getLanguage();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString loadStyleSheet();
|
QString loadStyleSheet();
|
||||||
|
|
||||||
@@ -52,14 +42,14 @@ public Q_SLOTS:
|
|||||||
|
|
||||||
|
|
||||||
//Слот обработки результата авторизации
|
//Слот обработки результата авторизации
|
||||||
void checkLoginResult(ServerAuthorization * serverAuth);
|
void slot_checkLoginResult(ServerAuthorization * serverAuth);
|
||||||
//Слот обработки результата деавторизации
|
//Слот обработки результата деавторизации
|
||||||
void checkDeLoginResult(ServerDeAuthorization * serverDeAuth);
|
void slot_checkDeLoginResult(ServerDeAuthorization * serverDeAuth);
|
||||||
|
//Слот обработки результата подключения к серверу
|
||||||
void slot_ConnectedToServer(bool state);
|
void slot_ConnectedToServer(bool state);
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
//Слот смены языка
|
//сигнал смены языка
|
||||||
void signal_LanguageChanged(QString language);
|
void signal_LanguageChanged(QString language);
|
||||||
//сигнал о необходимости обновления интерфейса
|
//сигнал о необходимости обновления интерфейса
|
||||||
void signal_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
void signal_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
||||||
@@ -69,17 +59,13 @@ Q_SIGNALS:
|
|||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void on_btnConnectionToServer_clicked();
|
void on_btnConnectionToServer_clicked();
|
||||||
void on_btnAuthorizationInstructor_clicked();
|
void on_btnAuthorizationInstructor_clicked();
|
||||||
|
|
||||||
void on_btnSetVersion_clicked();
|
void on_btnSetVersion_clicked();
|
||||||
|
|
||||||
void on_btnSettings_clicked();
|
void on_btnSettings_clicked();
|
||||||
|
|
||||||
void on_btnEditorTrainees_clicked();
|
void on_btnEditorTrainees_clicked();
|
||||||
|
|
||||||
void on_btnEditorInstructors_clicked();
|
void on_btnEditorInstructors_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//Авторизация инструктора локальная
|
//Авторизация инструктора локальная (на ГУИ)
|
||||||
bool authorizationInstructorDialog(QWidget* parent = nullptr);
|
bool authorizationInstructorDialog(QWidget* parent = nullptr);
|
||||||
bool deAuthorizationInstructor(QString login);
|
bool deAuthorizationInstructor(QString login);
|
||||||
bool authorizationIsCompleted();
|
bool authorizationIsCompleted();
|
||||||
@@ -89,16 +75,12 @@ private:
|
|||||||
void setLanguageInterfase();
|
void setLanguageInterfase();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::InstructorsAndTraineesWidget *ui;
|
|
||||||
|
|
||||||
ConnectorToServer* connectorToServer;
|
ConnectorToServer* connectorToServer;
|
||||||
|
|
||||||
ViewerTrainees* viewerTrainees;
|
ViewerTrainees* viewerTrainees;
|
||||||
ViewerInstructors* viewerInstructors;
|
ViewerInstructors* viewerInstructors;
|
||||||
MessangerWidget* messangerWidget;
|
MessangerWidget* messangerWidget;
|
||||||
MessangerController* messangerController;
|
MessangerController* messangerController;
|
||||||
//AMMtasksWidget* ammTasksWidget;
|
|
||||||
//FIMtasksWidget* fimTasksWidget;
|
|
||||||
|
|
||||||
bool adminMode;
|
bool adminMode;
|
||||||
QString loginInstructorLoggedInLocal;
|
QString loginInstructorLoggedInLocal;
|
||||||
@@ -107,6 +89,8 @@ private:
|
|||||||
|
|
||||||
QTranslator qtLanguageTranslator;
|
QTranslator qtLanguageTranslator;
|
||||||
QString language;
|
QString language;
|
||||||
|
|
||||||
|
Ui::InstructorsAndTraineesWidget *ui;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INSTRUCTORSANDTRAINEESWIDGET_H
|
#endif // INSTRUCTORSANDTRAINEESWIDGET_H
|
||||||
|
|||||||
@@ -3,32 +3,49 @@
|
|||||||
MessangerController::MessangerController(ConnectorToServer* connectorToServer, QObject *parent) :
|
MessangerController::MessangerController(ConnectorToServer* connectorToServer, QObject *parent) :
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
connectorToServer(connectorToServer),
|
connectorToServer(connectorToServer),
|
||||||
currClientId("")
|
GUIclientId("")
|
||||||
{
|
{
|
||||||
|
connect(connectorToServer, &ConnectorToServer::signal_receiveMessage, this, &MessangerController::slot_receiveMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
MessangerController::~MessangerController()
|
MessangerController::~MessangerController()
|
||||||
{
|
{
|
||||||
for(MessangerWidget* widget : listWidgets)
|
for(MessangerWidget* widget : listWidgets)
|
||||||
{
|
|
||||||
delete widget;
|
delete widget;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MessangerWidget *MessangerController::newWidget(QWidget *parent)
|
MessangerWidget *MessangerController::newWidget(QWidget *parent, Trainee* trainee, QVBoxLayout* boxLayout)
|
||||||
{
|
{
|
||||||
MessangerWidget *msgWdgt = new MessangerWidget(parent);
|
MessangerWidget *msgWdgt = new MessangerWidget(parent);
|
||||||
|
|
||||||
|
if(boxLayout)
|
||||||
|
boxLayout->addWidget(msgWdgt);
|
||||||
|
|
||||||
connect(msgWdgt, &MessangerWidget::signal_sendMessage, this, &MessangerController::slot_sendMessage);
|
connect(msgWdgt, &MessangerWidget::signal_sendMessage, this, &MessangerController::slot_sendMessage);
|
||||||
connect(connectorToServer,&ConnectorToServer::signal_receiveMessage,msgWdgt,&MessangerWidget::slot_showMessage);
|
connect(msgWdgt, &MessangerWidget::signal_tabMessengerChanged, this, &MessangerController::slot_tabMessengerChanged);
|
||||||
|
|
||||||
connect(this, &MessangerController::signal_traineeSelected, msgWdgt, &MessangerWidget::slot_traineeSelected);
|
msgWdgt->initialize(GUIclientId);
|
||||||
connect(msgWdgt, &MessangerWidget::signal_tabMessengerChanged, this, &MessangerController::signal_tabMessengerChanged);
|
|
||||||
|
|
||||||
//connect(this, &MessangerController::slot_InitMessanger, msgWdgt,&MessangerWidget::slot_InitMessanger);
|
if(trainee)
|
||||||
|
{
|
||||||
|
msgWdgt->setOneTrainee(*trainee);
|
||||||
|
|
||||||
msgWdgt->initialize(currClientId);
|
//Заполнение предыстории
|
||||||
|
int id_user = trainee->getID();
|
||||||
|
QList<MessageOfMessanger>* list = nullptr;
|
||||||
|
if(mapAlldialogsWithClients.contains(id_user))
|
||||||
|
{//Уже есть
|
||||||
|
list = mapAlldialogsWithClients.value(id_user);
|
||||||
|
|
||||||
|
for(MessageOfMessanger msg : *list)
|
||||||
|
{
|
||||||
|
if(msg.flLocal)
|
||||||
|
msgWdgt->showSendedMessage(msg.text);
|
||||||
|
else
|
||||||
|
msgWdgt->showReceivedMessage(ClientMessage(QString::number(id_user), GUIclientId, msg.text));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
listWidgets.append(msgWdgt);
|
listWidgets.append(msgWdgt);
|
||||||
|
|
||||||
@@ -43,21 +60,22 @@ void MessangerController::deleteWidget(MessangerWidget *msgWdgt)
|
|||||||
{
|
{
|
||||||
delete msgWdgt;
|
delete msgWdgt;
|
||||||
listWidgets.removeAt(i);
|
listWidgets.removeAt(i);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerController::initialize(QString id)
|
void MessangerController::setGUIclientId(QString id)
|
||||||
{
|
{
|
||||||
currClientId = id;
|
GUIclientId = id;
|
||||||
|
|
||||||
for(MessangerWidget* widget : listWidgets)
|
for(MessangerWidget* widget : listWidgets)
|
||||||
{
|
{
|
||||||
widget->initialize(currClientId);
|
widget->initialize(GUIclientId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerController::clear()
|
void MessangerController::clearAllWidgets()
|
||||||
{
|
{
|
||||||
for(MessangerWidget* widget : listWidgets)
|
for(MessangerWidget* widget : listWidgets)
|
||||||
{
|
{
|
||||||
@@ -65,20 +83,74 @@ void MessangerController::clear()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MessangerController::slot_sendMessage(ClientMessage clientMessage)
|
void MessangerController::slot_sendMessage(ClientMessage clientMessage)
|
||||||
{
|
{
|
||||||
connectorToServer->slot_sendMessage(clientMessage);
|
connectorToServer->slot_sendMessage(clientMessage);
|
||||||
|
|
||||||
|
int id_user = clientMessage.toId.toInt();
|
||||||
|
QList<MessageOfMessanger>* list = nullptr;
|
||||||
|
if(mapAlldialogsWithClients.contains(id_user))
|
||||||
|
{//Уже есть
|
||||||
|
list = mapAlldialogsWithClients.value(id_user);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{//Новый
|
||||||
|
list = new QList<MessageOfMessanger>();
|
||||||
|
mapAlldialogsWithClients.insert(id_user, list);
|
||||||
|
}
|
||||||
|
MessageOfMessanger msg;
|
||||||
|
msg.flLocal = true;
|
||||||
|
msg.text = clientMessage.Text;
|
||||||
|
list->append(msg);
|
||||||
|
|
||||||
for(MessangerWidget* widget : listWidgets)
|
for(MessangerWidget* widget : listWidgets)
|
||||||
{
|
{
|
||||||
widget->addMsgWidgetLocal(clientMessage.Text);
|
widget->showSendedMessage(clientMessage.Text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerController::slot_InitMessanger(QList<Trainee> listTrainees)
|
void MessangerController::slot_tabMessengerChanged(QString login)
|
||||||
|
{
|
||||||
|
emit signal_tabMessengerChanged(login);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MessangerController::slot_receiveMessage(ClientMessage clientMessage)
|
||||||
|
{
|
||||||
|
int id_user = clientMessage.fromId.toInt();
|
||||||
|
QList<MessageOfMessanger>* list = nullptr;
|
||||||
|
if(mapAlldialogsWithClients.contains(id_user))
|
||||||
|
{//Уже есть
|
||||||
|
list = mapAlldialogsWithClients.value(id_user);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{//Новый
|
||||||
|
list = new QList<MessageOfMessanger>();
|
||||||
|
mapAlldialogsWithClients.insert(id_user, list);
|
||||||
|
}
|
||||||
|
MessageOfMessanger msg;
|
||||||
|
msg.flLocal = false;
|
||||||
|
msg.text = clientMessage.Text;
|
||||||
|
list->append(msg);
|
||||||
|
|
||||||
|
for(MessangerWidget* widget : listWidgets)
|
||||||
|
{
|
||||||
|
widget->showReceivedMessage(clientMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MessangerController::slot_initMessanger(QList<Trainee> listTrainees)
|
||||||
{
|
{
|
||||||
for(MessangerWidget* widget : listWidgets)
|
for(MessangerWidget* widget : listWidgets)
|
||||||
{
|
{
|
||||||
widget->slot_InitMessanger(listTrainees);
|
widget->initMessangerWidget(listTrainees);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MessangerController::slot_traineeSelected(QString login)
|
||||||
|
{
|
||||||
|
for(MessangerWidget* widget : listWidgets)
|
||||||
|
{
|
||||||
|
widget->traineeSelected(login);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,16 @@
|
|||||||
#define MESSANGERCONTROLLER_H
|
#define MESSANGERCONTROLLER_H
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <QVBoxLayout>
|
||||||
#include "messangerwidget.h"
|
#include "messangerwidget.h"
|
||||||
#include "connectortoserver.h"
|
#include "connectortoserver.h"
|
||||||
|
|
||||||
|
struct MessageOfMessanger
|
||||||
|
{
|
||||||
|
QString text;
|
||||||
|
bool flLocal;
|
||||||
|
};
|
||||||
|
|
||||||
class MessangerController : public QObject
|
class MessangerController : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@@ -13,28 +20,30 @@ public:
|
|||||||
~MessangerController();
|
~MessangerController();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MessangerWidget* newWidget(QWidget *parent);
|
MessangerWidget* newWidget(QWidget *parent, Trainee* trainee = nullptr, QVBoxLayout* boxLayout = nullptr);
|
||||||
void deleteWidget(MessangerWidget* msgWdgt);
|
void deleteWidget(MessangerWidget* msgWdgt);
|
||||||
|
|
||||||
void initialize(QString id);
|
void setGUIclientId(QString id);
|
||||||
void clear();
|
void clearAllWidgets();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void signal_tabMessengerChanged(QString login);
|
void signal_tabMessengerChanged(QString login);
|
||||||
void signal_traineeSelected(QString login);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void slot_sendMessage(ClientMessage clientMessage);
|
void slot_sendMessage(ClientMessage clientMessage);
|
||||||
void slot_InitMessanger(QList<Trainee> listTrainees);
|
void slot_tabMessengerChanged(QString login);
|
||||||
|
|
||||||
|
void slot_receiveMessage(ClientMessage clientMessage);
|
||||||
|
void slot_initMessanger(QList<Trainee> listTrainees);
|
||||||
|
void slot_traineeSelected(QString login);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConnectorToServer* connectorToServer;
|
ConnectorToServer* connectorToServer;
|
||||||
QList <MessangerWidget*> listWidgets;
|
QList <MessangerWidget*> listWidgets;
|
||||||
|
|
||||||
QString currClientId; //id этого клиента
|
QString GUIclientId; //id этого GUI клиента
|
||||||
|
|
||||||
|
QMap <int, QList<MessageOfMessanger>*> mapAlldialogsWithClients;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MESSANGERCONTROLLER_H
|
#endif // MESSANGERCONTROLLER_H
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ void MessangerWidget::clear()
|
|||||||
actualizationTabsDialogMessenger();
|
actualizationTabsDialogMessenger();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerWidget::addMsgWidgetLocal(QString text)
|
void MessangerWidget::showSendedMessage(QString text)
|
||||||
{
|
{
|
||||||
//Ищем нужный диалог
|
//Ищем нужный диалог
|
||||||
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
||||||
@@ -175,7 +175,7 @@ void MessangerWidget::setOneTrainee(Trainee trainee)
|
|||||||
listTrainees.clear();
|
listTrainees.clear();
|
||||||
listTrainees.append(trainee);
|
listTrainees.append(trainee);
|
||||||
|
|
||||||
slot_InitMessanger(listTrainees);
|
initMessangerWidget(listTrainees);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerWidget::on_btnSend_clicked()
|
void MessangerWidget::on_btnSend_clicked()
|
||||||
@@ -221,7 +221,7 @@ void MessangerWidget::on_tabWidget_currentChanged(int index)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerWidget::slot_traineeSelected(QString login)
|
void MessangerWidget::traineeSelected(QString login)
|
||||||
{
|
{
|
||||||
//Ищем нужный диалог
|
//Ищем нужный диалог
|
||||||
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
||||||
@@ -239,13 +239,24 @@ void MessangerWidget::slot_traineeSelected(QString login)
|
|||||||
ui->editMsg->setEnabled(false);
|
ui->editMsg->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MessangerWidget::getTabDialogMessengerByID(QString id_user)
|
||||||
|
{
|
||||||
|
//Ищем нужный диалог
|
||||||
|
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
|
||||||
|
{
|
||||||
|
if(tabDialog->getUserId() == id_user)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MessangerWidget::slot_LanguageChanged(QString language)
|
void MessangerWidget::slot_LanguageChanged(QString language)
|
||||||
{
|
{
|
||||||
qtLanguageTranslator.load(QString("translationsMy/ServerLMS_") + language, ".");
|
qtLanguageTranslator.load(QString("translationsMy/ServerLMS_") + language, ".");
|
||||||
qApp->installTranslator(&qtLanguageTranslator);
|
qApp->installTranslator(&qtLanguageTranslator);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerWidget::slot_InitMessanger(QList<Trainee> listTrainees)
|
void MessangerWidget::initMessangerWidget(QList<Trainee> listTrainees)
|
||||||
{
|
{
|
||||||
if(flOneTrainee)
|
if(flOneTrainee)
|
||||||
{
|
{
|
||||||
@@ -273,7 +284,7 @@ void MessangerWidget::slot_InitMessanger(QList<Trainee> listTrainees)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessangerWidget::slot_showMessage(ClientMessage clientMessage)
|
void MessangerWidget::showReceivedMessage(ClientMessage clientMessage)
|
||||||
{
|
{
|
||||||
for(Trainee trainee: listTrainees)
|
for(Trainee trainee: listTrainees)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -40,10 +40,14 @@ public:
|
|||||||
|
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
void addMsgWidgetLocal(QString text);
|
void showSendedMessage(QString text);
|
||||||
|
|
||||||
void setOneTrainee(Trainee trainee);
|
void setOneTrainee(Trainee trainee);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
//слот обработки сигнала о смене языка
|
||||||
|
void slot_LanguageChanged(QString language);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_btnSend_clicked();
|
void on_btnSend_clicked();
|
||||||
void on_tabWidget_currentChanged(int index);
|
void on_tabWidget_currentChanged(int index);
|
||||||
@@ -54,15 +58,12 @@ signals:
|
|||||||
//сигнал об изменении вкладки диалога с клиентом (TabDialogMessenger)
|
//сигнал об изменении вкладки диалога с клиентом (TabDialogMessenger)
|
||||||
void signal_tabMessengerChanged(QString login);
|
void signal_tabMessengerChanged(QString login);
|
||||||
|
|
||||||
public slots:
|
public:
|
||||||
//слот обработки сигнала о смене языка
|
void showReceivedMessage(ClientMessage clientMessage);
|
||||||
void slot_LanguageChanged(QString language);
|
void initMessangerWidget(QList<Trainee> listTrainees);
|
||||||
//слот обработки сигнала об инициализации мессенджера
|
void traineeSelected(QString login);
|
||||||
void slot_InitMessanger(QList<Trainee> listTrainees);
|
|
||||||
//слот обработки сигнала о выборе обучаемого
|
void getTabDialogMessengerByID(QString id_user);
|
||||||
void slot_traineeSelected(QString login);
|
|
||||||
//слот о приходе нового сообщения от клиента
|
|
||||||
void slot_showMessage(ClientMessage clientMessage);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void keyPressEvent(QKeyEvent *event) override;
|
virtual void keyPressEvent(QKeyEvent *event) override;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>500</width>
|
<width>344</width>
|
||||||
<height>300</height>
|
<height>300</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@@ -35,6 +35,12 @@
|
|||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -24,8 +24,15 @@ void TabDialogMessenger::addMsgWidgetLocal(QString text)
|
|||||||
{
|
{
|
||||||
QListWidgetItem *listWidgetItem = new QListWidgetItem();
|
QListWidgetItem *listWidgetItem = new QListWidgetItem();
|
||||||
QString avatar = ":/resources/icons/instructor.png";
|
QString avatar = ":/resources/icons/instructor.png";
|
||||||
|
|
||||||
|
int widthW = width();
|
||||||
|
int widthSB = verticalScrollBar()->size().width();
|
||||||
|
//TODO Времянка
|
||||||
|
widthW = 450;
|
||||||
|
widthSB = 17;
|
||||||
|
|
||||||
MsgWidget *msgWidget = new MsgWidget(avatar, MsgWidget::AligneAvatar::Left,
|
MsgWidget *msgWidget = new MsgWidget(avatar, MsgWidget::AligneAvatar::Left,
|
||||||
width() - verticalScrollBar()->size().width());
|
widthW - widthSB);
|
||||||
|
|
||||||
addItem(listWidgetItem);
|
addItem(listWidgetItem);
|
||||||
setItemWidget(listWidgetItem, msgWidget);
|
setItemWidget(listWidgetItem, msgWidget);
|
||||||
@@ -42,8 +49,15 @@ void TabDialogMessenger::addMsgWidgetRemote(QString text)
|
|||||||
{
|
{
|
||||||
QListWidgetItem *listWidgetItem = new QListWidgetItem();
|
QListWidgetItem *listWidgetItem = new QListWidgetItem();
|
||||||
QString avatar = ":/resources/icons/trainee.png";
|
QString avatar = ":/resources/icons/trainee.png";
|
||||||
|
|
||||||
|
int widthW = width();
|
||||||
|
int widthSB = verticalScrollBar()->size().width();
|
||||||
|
//TODO Времянка
|
||||||
|
widthW = 450;
|
||||||
|
widthSB = 17;
|
||||||
|
|
||||||
MsgWidget *msgWidget = new MsgWidget(avatar, MsgWidget::AligneAvatar::Right,
|
MsgWidget *msgWidget = new MsgWidget(avatar, MsgWidget::AligneAvatar::Right,
|
||||||
width() - verticalScrollBar()->size().width());
|
widthW - widthSB);
|
||||||
|
|
||||||
addItem(listWidgetItem);
|
addItem(listWidgetItem);
|
||||||
setItemWidget(listWidgetItem, msgWidget);
|
setItemWidget(listWidgetItem, msgWidget);
|
||||||
|
|||||||
15
InstructorsAndTrainees/metatypes.cpp
Normal file
15
InstructorsAndTrainees/metatypes.cpp
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#include "metatypes.h"
|
||||||
|
|
||||||
|
void registerMetaType()
|
||||||
|
{
|
||||||
|
qRegisterMetaType<QList<Instructor>>("QList<Instructor>");
|
||||||
|
qRegisterMetaType<QList<Trainee>>("QList<Trainee>");
|
||||||
|
qRegisterMetaType<QList<Group>>("QList<Group>");
|
||||||
|
qRegisterMetaType<QList<Computer>>("QList<Computer>");
|
||||||
|
qRegisterMetaType<QList<Classroom>>("QList<Classroom>");
|
||||||
|
qRegisterMetaType<QList<Module*>>("QList<Module*>");
|
||||||
|
qRegisterMetaType<QList<TaskAmmFim>>("QList<TaskAmmFim>");
|
||||||
|
qRegisterMetaType<PacketType>("PacketType");
|
||||||
|
qRegisterMetaType<ClientMessage>("ClientMessage");
|
||||||
|
qRegisterMetaType<QList<QTreeWidgetItem*>>("QList<QTreeWidgetItem*>");
|
||||||
|
}
|
||||||
29
InstructorsAndTrainees/metatypes.h
Normal file
29
InstructorsAndTrainees/metatypes.h
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#ifndef METATYPES_H
|
||||||
|
#define METATYPES_H
|
||||||
|
|
||||||
|
#include <QTreeWidgetItem>
|
||||||
|
|
||||||
|
#include "instructor.h"
|
||||||
|
#include "trainee.h"
|
||||||
|
#include "group.h"
|
||||||
|
#include "computer.h"
|
||||||
|
#include "classroom.h"
|
||||||
|
#include "module.h"
|
||||||
|
#include "tasksAmmFim.h"
|
||||||
|
#include "tools.h"
|
||||||
|
#include "Datas.h"
|
||||||
|
|
||||||
|
void registerMetaType();
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(QList<Instructor>)
|
||||||
|
Q_DECLARE_METATYPE(QList<Trainee>)
|
||||||
|
Q_DECLARE_METATYPE(QList<Group>)
|
||||||
|
Q_DECLARE_METATYPE(QList<Computer>)
|
||||||
|
Q_DECLARE_METATYPE(QList<Classroom>)
|
||||||
|
Q_DECLARE_METATYPE(QList<Module*>)
|
||||||
|
Q_DECLARE_METATYPE(QList<TaskAmmFim>)
|
||||||
|
Q_DECLARE_METATYPE(PacketType)
|
||||||
|
Q_DECLARE_METATYPE(ClientMessage)
|
||||||
|
Q_DECLARE_METATYPE(QList<QTreeWidgetItem*>)
|
||||||
|
|
||||||
|
#endif // METATYPES_H
|
||||||
@@ -32,24 +32,16 @@ PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, M
|
|||||||
ui->verticalLayout_AMMcommon->addWidget(ammTasksWidget_common);
|
ui->verticalLayout_AMMcommon->addWidget(ammTasksWidget_common);
|
||||||
ui->verticalLayout_FIMcommon->addWidget(fimTasksWidget_common);
|
ui->verticalLayout_FIMcommon->addWidget(fimTasksWidget_common);
|
||||||
|
|
||||||
|
ui->groupBox_Messenger->setMaximumWidth(500);
|
||||||
|
ui->groupBox_Messenger->setMinimumWidth(500);
|
||||||
|
|
||||||
/* Messanger*/
|
/* Messanger*/
|
||||||
messangerWidget = messangerController->newWidget(this);
|
|
||||||
|
|
||||||
ui->verticalLayout_Messenger->addWidget(messangerWidget);
|
|
||||||
|
|
||||||
|
|
||||||
//QList<Trainee> listTrainees;
|
|
||||||
Trainee trainee = connectorToServer->getTrainee(id_trainee);
|
Trainee trainee = connectorToServer->getTrainee(id_trainee);
|
||||||
/*
|
messangerWidget = messangerController->newWidget(this, &trainee, ui->verticalLayout_Messenger);
|
||||||
listTrainees.append(trainee);
|
|
||||||
messangerWidget->slot_InitMessanger(listTrainees);
|
|
||||||
*/
|
|
||||||
|
|
||||||
messangerWidget->setOneTrainee(trainee);
|
//ui->verticalLayout_Messenger->addWidget(messangerWidget);
|
||||||
|
|
||||||
ui->groupBox_Messenger->setMaximumWidth(600);
|
|
||||||
ui->groupBox_Messenger->setMinimumWidth(600);
|
|
||||||
|
|
||||||
|
//messangerWidget->setOneTrainee(trainee);
|
||||||
}
|
}
|
||||||
|
|
||||||
PersonalCardTrainee::~PersonalCardTrainee()
|
PersonalCardTrainee::~PersonalCardTrainee()
|
||||||
|
|||||||
@@ -200,11 +200,16 @@ void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column)
|
|||||||
|
|
||||||
PersonalCardTrainee cardTrainee(connectorToServer, messangerController, id_trainee, ammTasksWidgetCommon, fimTasksWidgetCommon, this);
|
PersonalCardTrainee cardTrainee(connectorToServer, messangerController, id_trainee, ammTasksWidgetCommon, fimTasksWidgetCommon, this);
|
||||||
|
|
||||||
QDialog* dialog = new QDialog(this);
|
QDialog* dialog = new QDialog(this,
|
||||||
|
Qt::WindowSystemMenuHint
|
||||||
|
| Qt::WindowMaximizeButtonHint
|
||||||
|
| Qt::WindowMinimizeButtonHint
|
||||||
|
| Qt::WindowCloseButtonHint);
|
||||||
|
|
||||||
QHBoxLayout *layout = new QHBoxLayout(dialog);
|
QHBoxLayout *layout = new QHBoxLayout(dialog);
|
||||||
layout->addWidget(&cardTrainee);
|
layout->addWidget(&cardTrainee);
|
||||||
dialog->setWindowTitle(tr("Personal card trainee"));
|
dialog->setWindowTitle(tr("Personal card trainee"));
|
||||||
dialog->setMinimumSize(1600, 800);
|
dialog->setMinimumSize(1900, 1000);
|
||||||
dialog->exec();
|
dialog->exec();
|
||||||
|
|
||||||
ammTasksWidgetCommon->setParent(this);
|
ammTasksWidgetCommon->setParent(this);
|
||||||
|
|||||||
Reference in New Issue
Block a user