diff --git a/sources/elementspanel.cpp b/sources/elementspanel.cpp index 72e987d19..8fdeb7594 100644 --- a/sources/elementspanel.cpp +++ b/sources/elementspanel.cpp @@ -842,6 +842,10 @@ void ElementsPanel::slot_doubleClick(QTreeWidgetItem *qtwi, int) { emit(requestForDiagram(diagram)); } else if (ElementsCollectionItem *item = collectionItemForItem(qtwi)) { emit(requestForCollectionItem(item)); + } else if (itemIsATitleBlockTemplate(qtwi)) { + if (QETProject *project = projectForTitleBlockTemplate(qtwi)) { + emit(requestForTitleBlockTemplate(project, nameOfTitleBlockTemplate(qtwi))); + } } } diff --git a/sources/elementspanel.h b/sources/elementspanel.h index 8f4de85c8..a3f0182eb 100644 --- a/sources/elementspanel.h +++ b/sources/elementspanel.h @@ -91,6 +91,7 @@ class ElementsPanel : public QTreeWidget { void requestForDiagram(Diagram *); void requestForCollectionItem(ElementsCollectionItem *); void requestForMoveElements(ElementsCollectionItem *, ElementsCollectionItem *, QPoint); + void requestForTitleBlockTemplate(QETProject *, const QString &); void readingAboutToBegin(); void readingFinished(); void loadingProgressed(int, int); diff --git a/sources/elementspanelwidget.cpp b/sources/elementspanelwidget.cpp index f3ad0db03..d012cd43c 100644 --- a/sources/elementspanelwidget.cpp +++ b/sources/elementspanelwidget.cpp @@ -128,6 +128,12 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) { SLOT(handleMoveElementsRequest(ElementsCollectionItem *, ElementsCollectionItem *, const QPoint &)), Qt::QueuedConnection ); + connect( + elements_panel, + SIGNAL(requestForTitleBlockTemplate(QETProject *, const QString &)), + QETApp::instance(), + SLOT(openTitleBlockTemplate(QETProject *, const QString &)) + ); connect(elements_panel, SIGNAL(loadingProgressed(int, int)), this, SLOT(updateProgressBar(int, int))); connect(elements_panel, SIGNAL(readingAboutToBegin()), this, SLOT(collectionsRead())); connect(elements_panel, SIGNAL(readingFinished()), this, SLOT(collectionsReadFinished())); @@ -377,7 +383,6 @@ void ElementsPanelWidget::updateButtons() { setElementsActionEnabled(false); } else if (elements_panel -> selectedItemIsATitleBlockTemplate()) { bool is_writable = !(elements_panel -> projectForTitleBlockTemplate(elements_panel -> currentItem()) -> isReadOnly()); - tbt_add -> setEnabled(is_writable); tbt_edit -> setEnabled(is_writable); tbt_remove -> setEnabled(is_writable); setElementsActionEnabled(false); @@ -469,7 +474,6 @@ void ElementsPanelWidget::handleContextMenu(const QPoint &pos) { } else if (elements_panel -> itemIsATitleBlockTemplatesDirectory(item)) { context_menu -> addAction(tbt_add); } else if (elements_panel -> itemIsATitleBlockTemplate(item)) { - context_menu -> addAction(tbt_add); context_menu -> addAction(tbt_edit); context_menu -> addAction(tbt_remove); }