aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp')
-rw-r--r--src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp55
1 files changed, 54 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp
index 098fe766a0..2360f01b7a 100644
--- a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp
+++ b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp
@@ -58,6 +58,7 @@
#include <QSlider>
#include <QVBoxLayout>
#include <QtGlobal>
+#include <QSpacerItem>
namespace QmlDesigner {
@@ -118,6 +119,7 @@ TimelineWidget::TimelineWidget(TimelineView *view)
, m_timelineView(view)
, m_graphicsScene(new TimelineGraphicsScene(this))
, m_addButton(new QPushButton(this))
+ , m_onboardingContainer(new QWidget(this))
{
setWindowTitle(tr("Timeline", "Title of timeline view"));
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
@@ -185,6 +187,50 @@ TimelineWidget::TimelineWidget(TimelineView *view)
m_addButton->setFlat(true);
m_addButton->setFixedSize(32, 32);
+
+ widgetLayout->addWidget(m_onboardingContainer);
+
+ auto *onboardingTopLabel = new QLabel(m_onboardingContainer);
+ auto *onboardingBottomLabel = new QLabel(m_onboardingContainer);
+ auto *onboardingBottomIcon = new QLabel(m_onboardingContainer);
+
+ auto *onboardingLayout = new QVBoxLayout;
+ auto *onboardingSublayout = new QHBoxLayout;
+ auto *leftSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+ auto *rightSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+ auto *topSpacer = new QSpacerItem(40, 20, QSizePolicy::Minimum, QSizePolicy::Expanding);
+ auto *bottomSpacer = new QSpacerItem(40, 20, QSizePolicy::Minimum, QSizePolicy::Expanding);
+
+ QString labelText =
+ tr("This file does not contain a timeline. <br><br> \
+ To create an animation, add a timeline by clicking the + button.");
+ onboardingTopLabel->setText(labelText);
+ onboardingTopLabel->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+
+ m_onboardingContainer->setLayout(onboardingLayout);
+ onboardingLayout->setContentsMargins(0, 0, 0, 0);
+ onboardingLayout->setSpacing(0);
+ onboardingLayout->addSpacerItem(topSpacer);
+ onboardingLayout->addWidget(onboardingTopLabel);
+ onboardingLayout->addLayout(onboardingSublayout);
+
+ onboardingSublayout->setContentsMargins(0, 0, 0, 0);
+ onboardingSublayout->setSpacing(0);
+ onboardingSublayout->addSpacerItem(leftSpacer);
+
+ onboardingBottomLabel->setAlignment(Qt::AlignRight | Qt::AlignTop);
+ onboardingBottomLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ onboardingSublayout->addWidget(onboardingBottomLabel);
+ onboardingBottomLabel->setText(tr("To edit the timeline settings, click "));
+
+ onboardingBottomIcon->setAlignment(Qt::AlignLeft | Qt::AlignTop);
+ onboardingBottomIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ onboardingSublayout->addWidget(onboardingBottomIcon);
+ onboardingBottomIcon->setPixmap(TimelineIcons::ANIMATION.pixmap());
+
+ onboardingSublayout->addSpacerItem(rightSpacer);
+ onboardingLayout->addSpacerItem(bottomSpacer);
+
widgetLayout->addLayout(contentLayout);
this->setLayout(widgetLayout);
@@ -517,11 +563,11 @@ void TimelineWidget::setTimelineId(const QString &id)
if (m_timelineView->isAttached() && !empty) {
m_toolbar->setCurrentTimeline(m_timelineView->modelNodeForId(id));
m_toolbar->setCurrentState(m_timelineView->currentState().name());
- m_timelineView->setTimelineRecording(false);
} else {
m_toolbar->setCurrentTimeline({});
m_toolbar->setCurrentState({});
}
+ m_timelineView->setTimelineRecording(false);
}
void TimelineWidget::setTimelineActive(bool b)
@@ -532,6 +578,7 @@ void TimelineWidget::setTimelineActive(bool b)
m_rulerView->setVisible(true);
m_scrollbar->setVisible(true);
m_addButton->setVisible(false);
+ m_onboardingContainer->setVisible(false);
m_graphicsView->update();
m_rulerView->update();
} else {
@@ -540,9 +587,15 @@ void TimelineWidget::setTimelineActive(bool b)
m_rulerView->setVisible(false);
m_scrollbar->setVisible(false);
m_addButton->setVisible(true);
+ m_onboardingContainer->setVisible(true);
}
}
+void TimelineWidget::setFocus()
+{
+ m_graphicsView->setFocus();
+}
+
void TimelineWidget::showEvent(QShowEvent *event)
{
Q_UNUSED(event)