From e0579b3040194e9201ece832489c42b1b72c8361 Mon Sep 17 00:00:00 2001 From: joshua Date: Wed, 5 May 2021 21:40:36 +0200 Subject: [PATCH] Add widgets to edit terminal strip data (WIP) --- .../TerminalStrip/ui/terminalstripeditor.cpp | 52 +++- .../TerminalStrip/ui/terminalstripeditor.h | 3 +- .../TerminalStrip/ui/terminalstripeditor.ui | 246 ++++++++++++++---- 3 files changed, 249 insertions(+), 52 deletions(-) diff --git a/sources/TerminalStrip/ui/terminalstripeditor.cpp b/sources/TerminalStrip/ui/terminalstripeditor.cpp index 943ff8f7a..b4a0c04f1 100644 --- a/sources/TerminalStrip/ui/terminalstripeditor.cpp +++ b/sources/TerminalStrip/ui/terminalstripeditor.cpp @@ -232,6 +232,18 @@ void TerminalStripEditor::addFreeTerminal() } } +/** + * @brief TerminalStripEditor::clearDataTab + */ +void TerminalStripEditor::clearDataTab() +{ + ui->m_installation_le ->clear(); + ui->m_location_le ->clear(); + ui->m_name_le ->clear(); + ui->m_comment_le ->clear(); + ui->m_description_te ->clear(); +} + /** * @brief TerminalStripEditor::on_m_add_terminal_strip_pb_clicked * Action when user click on add terminal strip button @@ -283,6 +295,9 @@ void TerminalStripEditor::on_m_remove_terminal_strip_pb_clicked() on_m_reload_pb_clicked(); } +/** + * @brief TerminalStripEditor::on_m_reload_pb_clicked + */ void TerminalStripEditor::on_m_reload_pb_clicked() { ui->m_terminal_strip_tw->clear(); @@ -293,5 +308,40 @@ void TerminalStripEditor::on_m_reload_pb_clicked() qDeleteAll(m_item_strip_H.keys()); buildTree(); - ui->m_terminal_strip_tw->expandRecursively(ui->m_terminal_strip_tw->rootIndex()); + ui->m_terminal_strip_tw->expandRecursively(ui->m_terminal_strip_tw->rootIndex()); +} + +/** + * @brief TerminalStripEditor::on_m_terminal_strip_tw_currentItemChanged + * @param current + * @param previous + */ +void TerminalStripEditor::on_m_terminal_strip_tw_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous) +{ + Q_UNUSED(previous) + + if (!current) { + clearDataTab(); + return; + } + + TerminalStrip *strip_ = nullptr; + if (current->type() == TerminalStripTreeWidget::Strip) { + strip_ = m_item_strip_H.value(current); + } + else if (current->type() == TerminalStripTreeWidget::Terminal + && current->parent() + && current->parent()->type() == TerminalStripTreeWidget::Strip) { + strip_ = m_item_strip_H.value(current->parent()); + } + + if (strip_) { + ui->m_installation_le ->setText(strip_->installation()); + ui->m_location_le ->setText(strip_->location()); + ui->m_name_le ->setText(strip_->name()); + ui->m_comment_le ->setText(strip_->comment()); + ui->m_description_te ->setPlainText(strip_->description()); + } else { + clearDataTab(); + } } diff --git a/sources/TerminalStrip/ui/terminalstripeditor.h b/sources/TerminalStrip/ui/terminalstripeditor.h index 0aea3e955..3cafcabd1 100644 --- a/sources/TerminalStrip/ui/terminalstripeditor.h +++ b/sources/TerminalStrip/ui/terminalstripeditor.h @@ -47,12 +47,13 @@ class TerminalStripEditor : public QDialog void buildTree(); QTreeWidgetItem* addTerminalStrip(TerminalStrip *terminal_strip); void addFreeTerminal(); + void clearDataTab(); private slots: void on_m_add_terminal_strip_pb_clicked(); void on_m_remove_terminal_strip_pb_clicked(); - void on_m_reload_pb_clicked(); + void on_m_terminal_strip_tw_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); private: Ui::TerminalStripEditor *ui; diff --git a/sources/TerminalStrip/ui/terminalstripeditor.ui b/sources/TerminalStrip/ui/terminalstripeditor.ui index 3124eead7..f2bef4c26 100644 --- a/sources/TerminalStrip/ui/terminalstripeditor.ui +++ b/sources/TerminalStrip/ui/terminalstripeditor.ui @@ -6,69 +6,206 @@ 0 0 - 805 - 502 + 706 + 396 Gestionnaire de borniers - - - - - Supprimer le bornier - - - - :/ico/16x16/list-remove.png:/ico/16x16/list-remove.png - - - - - - + - - - Ajouter un bornier - - - - :/ico/16x16/list-add.png:/ico/16x16/list-add.png - + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Ajouter un bornier + + + + :/ico/16x16/list-add.png:/ico/16x16/list-add.png + + + + + + + Supprimer le bornier + + + + :/ico/16x16/list-remove.png:/ico/16x16/list-remove.png + + + + + + + + + + + :/ico/16x16/view-refresh.png:/ico/16x16/view-refresh.png + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - - - - + + + + Qt::Horizontal - - - :/ico/16x16/view-refresh.png:/ico/16x16/view-refresh.png + + 4 - - - - - + false - - QAbstractItemView::InternalMove - - - 500 - - - true - - - - Explorateur de bornier + + + + 0 + 0 + - + + false + + + QAbstractItemView::InternalMove + + + 500 + + + true + + + + Explorateur de bornier + + + + + + + 1 + 0 + + + + 0 + + + + Disposition + + + + + + + 0 + 0 + + + + + + + + + Propriétés + + + + + + Installation : + + + + + + + Commentaire + + + + + + + Nom : + + + + + + + Qt::Horizontal + + + + + + + Localisation : + + + + + + + Description + + + + + + + + + + + + + + + + + + + + + @@ -80,6 +217,15 @@
terminalstriptreewidget.h
+ + m_tab_widget + m_installation_le + m_location_le + m_name_le + m_comment_le + m_description_te + tableView +