on_treeWidget_itemClicked

This commit is contained in:
2025-09-09 17:57:14 +03:00
parent 0728582be0
commit 43a3bc793c
6 changed files with 44 additions and 31 deletions

View File

@@ -41,6 +41,10 @@ public:
treeWidget->clear(); treeWidget->clear();
lastCurrentID = 0; lastCurrentID = 0;
} }
void clearSelection()
{
treeWidget->clearSelection();
}
protected: protected:
void setArchiveVisible(bool archiveVisible) void setArchiveVisible(bool archiveVisible)

View File

@@ -9,7 +9,7 @@ ViewerInstructors::ViewerInstructors(ConnectorToServer* connectorToServer, QWidg
{ {
ui->setupUi(this); ui->setupUi(this);
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerInstructors::on_treeWidget_currentItemChanged); connect(treeWidget, &QTreeWidget::itemClicked, this, &ViewerInstructors::on_treeWidget_itemClicked);
ui->horizontalLayout_1->addWidget(treeWidget); ui->horizontalLayout_1->addWidget(treeWidget);
@@ -71,20 +71,20 @@ void ViewerInstructors::on_btnEditorInstructors_clicked()
Q_EMIT signal_BlockAutorization(false); Q_EMIT signal_BlockAutorization(false);
} }
void ViewerInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous) void ViewerInstructors::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column)
{ {
if(current == nullptr) if(item == nullptr)
return; return;
//if(current->childCount() == 0) //if(current->childCount() == 0)
{//Выбран обучаемый {//Выбран обучаемый
QString login = current->text(ColumnsTreeInsructors::clmn_Login); QString login = item->text(ColumnsTreeInsructors::clmn_Login);
//if(login != "") //if(login != "")
{ {
int newCurrentID = connectorToServer->getIdInstructorByLogin(login); int newCurrentID = connectorToServer->getIdInstructorByLogin(login);
if(newCurrentID == lastCurrentID) //if(newCurrentID == lastCurrentID)
return; //return;
lastCurrentID = newCurrentID; lastCurrentID = newCurrentID;

View File

@@ -33,7 +33,7 @@ public Q_SLOTS:
void on_btnEditorInstructors_clicked(); void on_btnEditorInstructors_clicked();
public slots: public slots:
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); void on_treeWidget_itemClicked(QTreeWidgetItem *item, int column);
Q_SIGNALS: Q_SIGNALS:
//сигнал о выборе инструктора //сигнал о выборе инструктора

View File

@@ -54,6 +54,10 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, this, &InstructorsAndTraineesWidget::slot_traineeSelected); connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, this, &InstructorsAndTraineesWidget::slot_traineeSelected);
connect(viewerInstructors, &ViewerInstructors::signal_instructorSelected, this, &InstructorsAndTraineesWidget::slot_instructorSelected); connect(viewerInstructors, &ViewerInstructors::signal_instructorSelected, this, &InstructorsAndTraineesWidget::slot_instructorSelected);
viewerTrainees->clearSelection();
viewerInstructors->clearSelection();
//Размещение //Размещение
ui->verticalLayout_Trainees->addWidget(viewerTrainees); ui->verticalLayout_Trainees->addWidget(viewerTrainees);
ui->verticalLayout_Instructors->addWidget(viewerInstructors); ui->verticalLayout_Instructors->addWidget(viewerInstructors);
@@ -254,6 +258,8 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
void InstructorsAndTraineesWidget::slot_traineeSelected(QString login) void InstructorsAndTraineesWidget::slot_traineeSelected(QString login)
{ {
viewerInstructors->clearSelection();
/* Messanger*/ /* Messanger*/
messangerController->deleteWidget(messangerWidget); messangerController->deleteWidget(messangerWidget);
if(login != "") if(login != "")
@@ -266,6 +272,8 @@ void InstructorsAndTraineesWidget::slot_traineeSelected(QString login)
void InstructorsAndTraineesWidget::slot_instructorSelected(QString login) void InstructorsAndTraineesWidget::slot_instructorSelected(QString login)
{ {
viewerTrainees->clearSelection();
/* Messanger*/ /* Messanger*/
messangerController->deleteWidget(messangerWidget); messangerController->deleteWidget(messangerWidget);
if(login != "") if(login != "")

View File

@@ -14,9 +14,10 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, MessangerCo
{ {
ui->setupUi(this); ui->setupUi(this);
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerTrainees::on_treeWidget_currentItemChanged);
connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &ViewerTrainees::on_itemDoubleClicked); connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &ViewerTrainees::on_itemDoubleClicked);
connect(treeWidget, &QTreeWidget::itemClicked, this, &ViewerTrainees::on_treeWidget_itemClicked);
ui->horizontalLayout_1->addWidget(treeWidget); ui->horizontalLayout_1->addWidget(treeWidget);
/* /*
@@ -112,28 +113,6 @@ void ViewerTrainees::on_btnEditorTrainees_clicked()
Q_EMIT signal_BlockAutorization(false); Q_EMIT signal_BlockAutorization(false);
} }
void ViewerTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
{
if(current == nullptr)
return;
//if(current->childCount() == 0)
{//Выбран обучаемый
QString login = current->text(ColumnsTreeTrainees::clmn_Login);
//if(login != "")
{
int newCurrentID = connectorToServer->getIdTraineeByLogin(login);
if(newCurrentID == lastCurrentID)
return;
lastCurrentID = newCurrentID;
Q_EMIT signal_traineeSelected(login);
}
}
}
void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column) void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column)
{ {
if(item == nullptr) if(item == nullptr)
@@ -167,6 +146,28 @@ void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column)
} }
} }
void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column)
{
if(item == nullptr)
return;
//if(current->childCount() == 0)
{//Выбран обучаемый
QString login = item->text(ColumnsTreeTrainees::clmn_Login);
//if(login != "")
{
int newCurrentID = connectorToServer->getIdTraineeByLogin(login);
//if(newCurrentID == lastCurrentID)
//return;
lastCurrentID = newCurrentID;
Q_EMIT signal_traineeSelected(login);
}
}
}
void ViewerTrainees::updateButtons() void ViewerTrainees::updateButtons()
{ {
if(authComplited) if(authComplited)

View File

@@ -36,8 +36,8 @@ public Q_SLOTS:
//void on_treeWidget_itemClicked(QTreeWidgetItem *item, int column); //void on_treeWidget_itemClicked(QTreeWidgetItem *item, int column);
void on_btnEditorTrainees_clicked(); void on_btnEditorTrainees_clicked();
private Q_SLOTS: private Q_SLOTS:
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
void on_itemDoubleClicked(QTreeWidgetItem *item, int column); void on_itemDoubleClicked(QTreeWidgetItem *item, int column);
void on_treeWidget_itemClicked(QTreeWidgetItem *item, int column);
Q_SIGNALS: Q_SIGNALS:
//сигнал о выборе обучаемого //сигнал о выборе обучаемого