summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Qt3DStudio/Palettes/Project/ProjectView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Authoring/Qt3DStudio/Palettes/Project/ProjectView.cpp')
-rw-r--r--src/Authoring/Qt3DStudio/Palettes/Project/ProjectView.cpp27
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());
}