Minor gui behavior improvement

This commit is contained in:
joshua
2021-05-11 18:46:12 +02:00
parent 580ebe8b97
commit 507c1b4f73

View File

@@ -41,6 +41,7 @@ TerminalStripEditor::TerminalStripEditor(QETProject *project, QWidget *parent) :
m_project(project) m_project(project)
{ {
ui->setupUi(this); ui->setupUi(this);
ui->m_remove_terminal_strip_pb->setDisabled(true);
buildTree(); 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());
setUpUndoConnections(); setUpUndoConnections();
@@ -302,6 +303,8 @@ void TerminalStripEditor::on_m_remove_terminal_strip_pb_clicked()
*/ */
void TerminalStripEditor::on_m_reload_pb_clicked() void TerminalStripEditor::on_m_reload_pb_clicked()
{ {
auto current_ = m_current_strip;
ui->m_terminal_strip_tw->clear(); ui->m_terminal_strip_tw->clear();
m_item_strip_H.clear(); m_item_strip_H.clear();
m_uuid_terminal_H.clear(); m_uuid_terminal_H.clear();
@@ -311,6 +314,12 @@ void TerminalStripEditor::on_m_reload_pb_clicked()
buildTree(); 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());
//Reselect the tree widget item of the current edited strip
auto item = m_item_strip_H.key(current_);
if (item) {
ui->m_terminal_strip_tw->setCurrentItem(item);
}
} }
/** /**
@@ -324,17 +333,22 @@ void TerminalStripEditor::on_m_terminal_strip_tw_currentItemChanged(QTreeWidgetI
if (!current) { if (!current) {
clearDataTab(); clearDataTab();
ui->m_remove_terminal_strip_pb->setDisabled(true);
return; return;
} }
TerminalStrip *strip_ = nullptr; TerminalStrip *strip_ = nullptr;
if (current->type() == TerminalStripTreeWidget::Strip) { if (current->type() == TerminalStripTreeWidget::Strip) {
strip_ = m_item_strip_H.value(current); strip_ = m_item_strip_H.value(current);
ui->m_remove_terminal_strip_pb->setEnabled(true);
} }
else if (current->type() == TerminalStripTreeWidget::Terminal else if (current->type() == TerminalStripTreeWidget::Terminal
&& current->parent() && current->parent()
&& current->parent()->type() == TerminalStripTreeWidget::Strip) { && current->parent()->type() == TerminalStripTreeWidget::Strip) {
strip_ = m_item_strip_H.value(current->parent()); strip_ = m_item_strip_H.value(current->parent());
ui->m_remove_terminal_strip_pb->setDisabled(true);
} else {
ui->m_remove_terminal_strip_pb->setDisabled(true);
} }
if (strip_) { if (strip_) {