diff options
Diffstat (limited to 'src/Authoring/Qt3DStudio/Palettes/Project/ProjectView.cpp')
-rw-r--r-- | src/Authoring/Qt3DStudio/Palettes/Project/ProjectView.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Authoring/Qt3DStudio/Palettes/Project/ProjectView.cpp b/src/Authoring/Qt3DStudio/Palettes/Project/ProjectView.cpp index 7946e8a2..203952bc 100644 --- a/src/Authoring/Qt3DStudio/Palettes/Project/ProjectView.cpp +++ b/src/Authoring/Qt3DStudio/Palettes/Project/ProjectView.cpp @@ -266,6 +266,22 @@ void ProjectView::mousePressEvent(QMouseEvent *event) QQuickWidget::mousePressEvent(event); } +void ProjectView::keyReleaseEvent(QKeyEvent *event) +{ + QKeyEvent *ke = static_cast<QKeyEvent *>(event); + if (m_selected >= 0) { + auto key = ke->key(); + if (key == Qt::Key_Delete) + deleteFile(m_selected); + else if (key == Qt::Key_Right) + m_ProjectModel->expand(m_selected); + else if (key == Qt::Key_Left && m_ProjectModel->isCollapsable(m_selected)) + m_ProjectModel->collapse(m_selected); + } else { + QQuickWidget::keyReleaseEvent(event); + } +} + void ProjectView::startDrag(QQuickItem *item, int row) { item->grabMouse(); // Grab to make sure we can ungrab after the drag @@ -302,6 +318,11 @@ void ProjectView::editPresentationId(int row, bool qmlStream) dlg.exec(); } +void ProjectView::showSpecificShaderError(const int row) +{ + m_ProjectModel->showItemError(m_ProjectModel->index(row)); +} + void ProjectView::renamePresentation(int row, bool qmlStream) { QString relativePresPath = QDir(g_StudioApp.GetCore()->getProjectFile().getProjectPath()) @@ -453,6 +474,11 @@ void ProjectView::openFile(int row) }); } +void ProjectView::setSelected(int row) +{ + m_selected = row; +} + void ProjectView::refreshImport(int row) const { if (row == -1) @@ -589,5 +615,6 @@ void ProjectView::deleteFile(int row) const void ProjectView::rebuild() { + m_selected = -1; m_ProjectModel->setRootPath(g_StudioApp.GetCore()->getProjectFile().getProjectPath()); } |