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();
lastCurrentID = 0;
}
void clearSelection()
{
treeWidget->clearSelection();
}
protected:
void setArchiveVisible(bool archiveVisible)

View File

@@ -9,7 +9,7 @@ ViewerInstructors::ViewerInstructors(ConnectorToServer* connectorToServer, QWidg
{
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);
@@ -71,20 +71,20 @@ void ViewerInstructors::on_btnEditorInstructors_clicked()
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;
//if(current->childCount() == 0)
{//Выбран обучаемый
QString login = current->text(ColumnsTreeInsructors::clmn_Login);
QString login = item->text(ColumnsTreeInsructors::clmn_Login);
//if(login != "")
{
int newCurrentID = connectorToServer->getIdInstructorByLogin(login);
if(newCurrentID == lastCurrentID)
return;
//if(newCurrentID == lastCurrentID)
//return;
lastCurrentID = newCurrentID;

View File

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

View File

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

View File

@@ -14,9 +14,10 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, MessangerCo
{
ui->setupUi(this);
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerTrainees::on_treeWidget_currentItemChanged);
connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &ViewerTrainees::on_itemDoubleClicked);
connect(treeWidget, &QTreeWidget::itemClicked, this, &ViewerTrainees::on_treeWidget_itemClicked);
ui->horizontalLayout_1->addWidget(treeWidget);
/*
@@ -112,28 +113,6 @@ void ViewerTrainees::on_btnEditorTrainees_clicked()
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)
{
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()
{
if(authComplited)

View File

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