Merge remote-tracking branch 'origin/4.10'

Change-Id: Ida1659af5c9c72b67b01645c88aea4ea60e09b7f
This commit is contained in:
Eike Ziller
2019-09-05 09:53:33 +02:00
31 changed files with 260 additions and 96 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -73,9 +73,42 @@
\image qtcreator-cmake-build-steps.png
\note While the other CMake generators are installed together with Qt,
you usually need to install Ninja yourself. For more information, see
\l {Using Ninja as a CMake Generator}.
//! [cmake build steps]
//! [cmake ninja]
\section2 Using Ninja as a CMake Generator
To use \l {https://ninja-build.org/}{Ninja} with CMake, you must install it
and select it as the CMake generator in the build and run kit:
\list 1
\li Install Ninja.
\li Add the path to the Ninja executable to the value of the PATH system
variable.
\li Select \uicontrol Tools > \uicontrol Options > \uicontrol Kits, and
then select the build and run kit for the project.
\li Select \uicontrol Change next to the \uicontrol {CMake generator}
field to open the \uicontrol {CMake Generator} dialog.
\image qtcreator-build-steps-cmake-ninja.png
\li In the \uicontrol Generator field, select \uicontrol Ninja.
\li Select \uicontrol OK to return to the \uicontrol Kits tab.
\li Select \uicontrol OK or \uicontrol Apply to save your changes.
\endlist
\note To make sure that old build artifacts don't get in the way
the first time you build the project after the change, select
\uicontrol Build > \uicontrol {Rebuild Project}. This cleans up the
build directory and performs a new build.
//! [cmake ninja]
//! [cmake clean steps]
\section2 CMake Clean Steps

View File

@@ -194,6 +194,8 @@
choose the kit to use. To set the selected kit as the default kit,
select \uicontrol {Make Default}.
\include creator-projects-cmake-building.qdocinc cmake ninja
\section1 Editing Qbs Profiles
To view the Qbs profile associated with the kit, select \uicontrol Tools >

View File

@@ -245,8 +245,11 @@
components can appear to pick up speed, slow down, or bounce back at the
end of the animation. By default, the animations you specify on the
timeline are \e linear, which means that they move from the beginning to
the end at a constant speed. You can use the curve picker to edit the
easing curve at a keyframe.
the end at a constant speed. You can use the \e {curve picker} to edit the
easing curve between two keyframes. You can also use the more advanced
\e {curve editor} to edit the curves for the whole animation.
\section2 Attaching Easing Curves to Keyframes
\image studio-curve-picker.png
@@ -256,16 +259,16 @@
custom curve. For more information about easing curve types, see the
documentation for \l [QML] {PropertyAnimation}{easing curves}.
To zoom into and out of the easing curve editor, use the mouse roller. To
reset the zoom factor, right-click in the editor and select
To zoom into and out of the easing curve picker, use the mouse roller. To
reset the zoom factor, right-click in the picker and select
\uicontrol {Reset Zoom}.
To select easing curves:
To attach easing curves to keyframes:
\list 1
\li Select a keyframe on the timeline.
\li Select \uicontrol {Curve Picker (C)} on the toolbar, or press
\key C to open the \uicontrol {Easing Curve Editor} dialog.
\key C to open the curve picker.
\li Select an easing curve in the \uicontrol Presets tab.
\li In the \uicontrol {Duration (ms)} field, select the duration of the
easing function in milliseconds.
@@ -279,11 +282,13 @@
to \inlineimage keyframe_manualbezier_inactive.png
.
\section2 Customizing Easing Curves
To customize easing curves:
\list 1
\li In the \uicontrol {Easing Curve Editor} dialog, select an easing
curve in the \uicontrol Presets tab.
\li In the curve picker, select an easing curve in the
\uicontrol Presets tab.
\li Drag the curve handlers to modify the curve.
\li Right-click in the editor, and select \uicontrol {Add Point} to add
points to the curve.
@@ -299,6 +304,32 @@
To paste easing curve definitions to the curve picker as text, select
the \uicontrol Text tab.
\section1 Editing Animation Curves
In the curve editor, you can view and modify the whole animation curve. You
can insert keyframes to the curve and drag them and the point handlers to
modify the curve. You can modify the appearance of the curve in the style
editor.
You can also edit easing curves that you added with the curve picker.
\image studio-curve-editor.png
To edit animation curves:
\list 1
\li In the \uicontrol Timeline view, insert at least one keyframe.
\li Select \inlineimage curveGraphIcon.png
(\uicontrol {Curve Editor (C)} on the toolbar or press \key C
to open the curve editor.
\li Right-click in the curve editor, and select
\uicontrol {Insert Keyframe} to add a keyframe.
\li Select keyframes to display the easing curves attached to them.
To select multiple keyframes, press and hold \key Ctrl.
\endlist
Your changes are automatically saved when you close the editor.
\section1 Rotating Items
To animate components that rotate around a central point, you can use the

View File

@@ -53,8 +53,8 @@ Section {
backendValue: backendValues.scale
hasSlider: true
decimals: 2
minimumValue: 0.01
stepSize: 0.1
minimumValue: -10
maximumValue: 10
Layout.preferredWidth: 140
}

View File

@@ -62,7 +62,7 @@ RowLayout {
property alias buttonRow: buttonRow
readonly property color __defaultTextColor: Theme.color(Theme.PanelTextColorLight)
readonly property color __defaultTextColor: StudioTheme.Values.themeTextColor
IconLabel {
id: icon
@@ -135,13 +135,13 @@ RowLayout {
id: group
}
StudioControls.AbstractButton {
AbstractButton {
id: buttonSameEdge
buttonIcon: verticalAnchor ? StudioTheme.Constants.anchorTop : StudioTheme.Constants.anchorLeft
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: group
//tooltip: verticalAnchor ? qsTr("Anchor to the top of the target.") : qsTr("Anchor to the left of the target.")
tooltip: verticalAnchor ? qsTr("Anchor to the top of the target.") : qsTr("Anchor to the left of the target.")
onClicked: {
if (!invertRelativeTargets)
sameEdgeButtonClicked();
@@ -149,22 +149,22 @@ RowLayout {
oppositeEdgeButtonClicked();
}
}
StudioControls.AbstractButton {
AbstractButton {
id: buttonCenter
buttonIcon: verticalAnchor ? StudioTheme.Constants.centerVertical : StudioTheme.Constants.centerHorizontal
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: group
//tooltip: verticalAnchor ? qsTr("Anchor to the vertical center of the target.") : qsTr("Anchor to the horizontal center of the target.")
tooltip: verticalAnchor ? qsTr("Anchor to the vertical center of the target.") : qsTr("Anchor to the horizontal center of the target.")
onClicked: centerButtonClicked();
}
StudioControls.AbstractButton {
AbstractButton {
id: buttonOppositeEdge
buttonIcon: verticalAnchor ? StudioTheme.Constants.anchorBottom : StudioTheme.Constants.anchorRight
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: group
//tooltip: verticalAnchor ? qsTr("Anchor to the bottom of the target.") : qsTr("Anchor to the right of the target.")
tooltip: verticalAnchor ? qsTr("Anchor to the bottom of the target.") : qsTr("Anchor to the right of the target.")
onClicked: {
if (!invertRelativeTargets)
oppositeEdgeButtonClicked();

View File

@@ -158,8 +158,8 @@ Section {
}
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
minimumValue: -9999999
minimumValue: -4000
maximumValue: 4000
decimals: 0
backendValue: backendValues.spacing
Layout.fillWidth: true

View File

@@ -80,8 +80,8 @@ Column {
SpinBox {
backendValue: backendValues.sourceSize_width
minimumValue: -2000
maximumValue: 2000
minimumValue: 0
maximumValue: 8192
decimals: 0
}
@@ -97,8 +97,8 @@ Column {
SpinBox {
backendValue: backendValues.sourceSize_height
minimumValue: -2000
maximumValue: 2000
minimumValue: 0
maximumValue: 8192
decimals: 0
}

View File

@@ -130,8 +130,8 @@ Column {
SectionLayout {
SpinBox {
backendValue: backendValues.spacing
minimumValue: 0
maximumValue: 1000
minimumValue: -4000
maximumValue: 4000
decimals: 0
}
ExpandingSpacer {

View File

@@ -166,6 +166,7 @@ Column {
backendValue: backendValues.preferredHighlightBegin
minimumValue: 0
maximumValue: 1
stepSize: 0.1
decimals: 2
}
ExpandingSpacer {
@@ -182,6 +183,7 @@ Column {
backendValue: backendValues.preferredHighlightEnd
minimumValue: 0
maximumValue: 1
stepSize: 0.1
decimals: 2
}
ExpandingSpacer {

View File

@@ -43,6 +43,7 @@ Item {
property bool block: false
signal clicked
signal rightMouseButtonClicked
onAlphaChanged: invalidateColor();
onSaturationChanged: invalidateColor();
@@ -202,7 +203,7 @@ Item {
id: mapMouseArea
anchors.fill: parent
onPositionChanged: {
if (pressed) {
if (pressed && mouse.button === Qt.LeftButton) {
var xx = Math.max(0, Math.min(mouse.x, parent.width))
var yy = Math.max(0, Math.min(mouse.y, parent.height))
@@ -210,8 +211,21 @@ Item {
colorButton.saturation = xx / parent.width;
}
}
onPressed: positionChanged(mouse)
onReleased: colorButton.clicked()
onPressed: {
if (mouse.button === Qt.LeftButton)
positionChanged(mouse)
}
onReleased: {
if (mouse.button === Qt.LeftButton)
colorButton.clicked()
}
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: {
if (mouse.button === Qt.RightButton)
colorButton.rightMouseButtonClicked()
}
}
Rectangle {
anchors.fill: parent

View File

@@ -26,12 +26,13 @@
import QtQuick 2.1
Item {
id: colorCheckButtonRoot
id: root
property bool checked: false
property alias buttonColor: checkBox.color
width: 30
height: 24
signal rightMouseButtonClicked
Rectangle {
id: backgroundBox
@@ -63,13 +64,20 @@ Item {
anchors.right: backgroundBox.left
anchors.rightMargin: 2
opacity: colorToolTip.containsMouse ? 1 : 0.8
rotation: colorCheckButtonRoot.checked ? 0.0 : 270.0
rotation: root.checked ? 0.0 : 270.0
}
ToolTipArea {
id: colorToolTip
onClicked: checked = !checked
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: {
if (mouse.button === Qt.RightButton)
root.rightMouseButtonClicked()
else
root.checked = !root.checked
}
hoverEnabled: true
anchors.fill: parent
anchors.leftMargin: -arrowImage.width

View File

@@ -26,6 +26,8 @@
import QtQuick 2.1
import QtQuick.Layouts 1.0
import QtQuickDesignerTheme 1.0
import QtQuick.Dialogs 1.3
import StudioControls 1.0 as StudioControls
Column {
id: colorEditor
@@ -198,6 +200,12 @@ Column {
ColorCheckButton {
id: checkButton
buttonColor: colorEditor.color
onCheckedChanged: {
if (contextMenu.opened)
contextMenu.close()
}
onRightMouseButtonClicked: contextMenu.popup(checkButton)
}
LineEdit {
@@ -615,7 +623,13 @@ Column {
sliderMargins: 4
onClicked: colorEditor.color = colorButton.color
onClicked: {
colorEditor.color = colorButton.color
if (contextMenu.opened)
contextMenu.close()
}
onRightMouseButtonClicked: contextMenu.popup(colorButton)
}
Item {
@@ -702,13 +716,23 @@ Column {
clickable: !colorEditor.transparent
onSelectedColorChanged: {
colorEditor.color = colorPalette.selectedColor;
}
onSelectedColorChanged: colorEditor.color = colorPalette.selectedColor
onDialogColorChanged: colorEditor.color = colorPalette.selectedColor
}
}
}
}
}
StudioControls.Menu {
id: contextMenu
StudioControls.MenuItem {
text: qsTr("Open Color Dialog")
onTriggered: colorPalette.showColorDialog(colorEditor.color)
}
}
}

View File

@@ -34,6 +34,7 @@ Section {
id: root
property int labelWidth: 42
property int spinBoxWidth: 96
SectionLayout {
@@ -173,13 +174,13 @@ Section {
Label {
text: "W"
width: 42
width: root.labelWidth
}
SpinBox {
backendValue: backendValues.contentWidth
minimumValue: 0
maximumValue: 8000
maximumValue: 10000
implicitWidth: root.spinBoxWidth
Layout.fillWidth: true
}
@@ -191,13 +192,13 @@ Section {
Label {
text: "H"
width: 42
width: root.labelWidth
}
SpinBox {
backendValue: backendValues.contentHeight
minimumValue: 0
maximumValue: 8000
maximumValue: 10000
implicitWidth: root.spinBoxWidth
Layout.fillWidth: true
}
@@ -213,12 +214,12 @@ Section {
Label {
text: "X"
width: 42
width: root.labelWidth
}
SpinBox {
backendValue: backendValues.contentX
minimumValue: 0
minimumValue: -8000
maximumValue: 8000
implicitWidth: root.spinBoxWidth
Layout.fillWidth: true
@@ -231,12 +232,12 @@ Section {
Label {
text: "Y"
width: 42
width: root.labelWidth
}
SpinBox {
backendValue: backendValues.contentY
minimumValue: 0
minimumValue: -8000
maximumValue: 8000
implicitWidth: root.spinBoxWidth
Layout.fillWidth: true
@@ -254,13 +255,13 @@ Section {
Label {
text: "Top"
width: 42
width: root.labelWidth
}
SpinBox {
backendValue: backendValues.topMargin
maximumValue: 0xffff
minimumValue: 0
minimumValue: -10000
maximumValue: 10000
decimals: 0
implicitWidth: root.spinBoxWidth
Layout.fillWidth: true
@@ -273,13 +274,13 @@ Section {
Label {
text: "Bottom"
width: 42
width: root.labelWidth
}
SpinBox {
backendValue: backendValues.bottomMargin
maximumValue: 0xffff
minimumValue: 0
minimumValue: -10000
maximumValue: 10000
decimals: 0
implicitWidth: root.spinBoxWidth
Layout.fillWidth: true
@@ -297,13 +298,13 @@ Section {
Label {
text: "Left"
width: 42
width: root.labelWidth
}
SpinBox {
backendValue: backendValues.leftMargin
maximumValue: 0xffff
minimumValue: 0
minimumValue: -10000
maximumValue: 10000
decimals: 0
implicitWidth: root.spinBoxWidth
Layout.fillWidth: true
@@ -316,13 +317,13 @@ Section {
Label {
text: "Right"
width: 42
width: root.labelWidth
}
SpinBox {
backendValue: backendValues.rightMargin
maximumValue: 0xffff
minimumValue: 0
minimumValue: -10000
maximumValue: 10000
decimals: 0
implicitWidth: root.spinBoxWidth
Layout.fillWidth: true

View File

@@ -38,7 +38,7 @@ Controls.Label {
property alias toolTip: toolTipArea.tooltip
width: Math.max(Math.min(240, parent.width - 280), 50)
color: Theme.color(Theme.PanelTextColorLight)
color: StudioTheme.Values.themeTextColor
elide: Text.ElideRight
font.pixelSize: StudioTheme.Values.myFontSize

View File

@@ -45,8 +45,8 @@ Section {
width: 42
}
SpinBox {
maximumValue: 9999999
minimumValue: -9999999
minimumValue: -10000
maximumValue: 10000
decimals: 0
backendValue: backendValues.topMargin
Layout.fillWidth: true
@@ -62,8 +62,8 @@ Section {
width: 42
}
SpinBox {
maximumValue: 9999999
minimumValue: -9999999
minimumValue: -10000
maximumValue: 10000
decimals: 0
backendValue: backendValues.bottomMargin
Layout.fillWidth: true
@@ -80,8 +80,8 @@ Section {
width: 42
}
SpinBox {
maximumValue: 9999999
minimumValue: -9999999
minimumValue: -10000
maximumValue: 10000
decimals: 0
backendValue: backendValues.leftMargin
Layout.fillWidth: true
@@ -97,8 +97,8 @@ Section {
width: 42
}
SpinBox {
maximumValue: 9999999
minimumValue: -9999999
minimumValue: -10000
maximumValue: 10000
decimals: 0
backendValue: backendValues.rightMargin
Layout.fillWidth: true
@@ -111,8 +111,8 @@ Section {
}
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
minimumValue: -9999999
minimumValue: -10000
maximumValue: 10000
decimals: 0
backendValue: backendValues.margins
Layout.fillWidth: true

View File

@@ -24,7 +24,7 @@
****************************************************************************/
import QtQuick 2.1
import QtQuick.Controls 1.1 as Controls
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.0
import QtQuickDesignerTheme 1.0
import StudioTheme 1.0 as StudioTheme
@@ -52,7 +52,7 @@ Item {
Controls.Label {
id: label
anchors.verticalCenter: parent.verticalCenter
color: Theme.color(Theme.PanelTextColorLight)
color: StudioTheme.Values.themeTextColor
x: 22
font.bold: true
font.pixelSize: StudioTheme.Values.myFontSize
@@ -75,7 +75,7 @@ Item {
}
color: Theme.color(Theme.BackgroundColorDark)
color: StudioTheme.Values.themeSectionHeadBackground
Rectangle {
visible: false

View File

@@ -32,7 +32,12 @@ import QtQuick.Controls.Private 1.0 // showing a ToolTip
Item {
property color selectedColor
property bool clickable : true
property color oldColor
function showColorDialog(color) {
oldColor = color
paletteModel.showDialog(color)
}
width: 200
height: 40
@@ -43,6 +48,8 @@ Item {
paletteModel.addItem(colorCode)
}
signal dialogColorChanged
Component {
id: colorItemDelegate
@@ -94,7 +101,20 @@ Item {
}
}
SimpleColorPaletteModel { id: paletteModel }
SimpleColorPaletteModel {
id: paletteModel
onCurrentColorChanged: {
selectedColor = color
dialogColorChanged()
}
onColorDialogRejected: {
selectedColor = oldColor
dialogColorChanged()
}
}
ListView {
id: colorPaletteView
model: paletteModel

View File

@@ -81,10 +81,7 @@ T.Popup {
}
onMoved: {
var currValue = myControl.value
myControl.realValue = slider.value
if (currValue !== myControl.realValue)
myControl.realValueModified()
}
}

View File

@@ -71,6 +71,8 @@ T.SpinBox {
property real __sliderIndicatorWidth: StudioTheme.Values.squareComponentWidth
property real __sliderIndicatorHeight: StudioTheme.Values.height
property alias compressedValueTimer: myTimer
signal realValueModified
signal compressedRealValueModified
signal dragStarted

View File

@@ -88,6 +88,10 @@ TextInput {
// Force focus on the non visible component to receive key events
dragModifierWorkaround.forceActiveFocus()
} else {
if (myControl.compressedValueTimer.running) {
myControl.compressedValueTimer.stop()
calcValue(myControl.compressedRealValueModified)
}
mouseArea.cursorShape = Qt.PointingHandCursor // TODO
myControl.drag = false
myControl.dragEnded()
@@ -97,15 +101,13 @@ TextInput {
myControl.focus = false
}
}
onTranslationChanged: calcValue()
onMultiplierChanged: calcValue()
onTranslationChanged: calcValue(myControl.realValueModified)
onMultiplierChanged: calcValue(myControl.realValueModified)
function calcValue() {
function calcValue(callback) {
var tmp = myControl.realDragRange / StudioTheme.Values.dragLength
var currValue = myControl.realValue
myControl.setRealValue(dragHandler.initialValue + (tmp * dragHandler.translation.x * dragHandler.multiplier))
if (currValue !== myControl.realValue)
myControl.realValueModified()
callback()
}
}
@@ -161,11 +163,8 @@ TextInput {
if (wheel.modifiers & Qt.ShiftModifier)
mouseArea.stepSize = myControl.maxStepSize
var currValue = myControl.realValue
myControl.valueFromText(textInput.text, myControl.locale)
myControl.setRealValue(myControl.realValue + (wheel.angleDelta.y / 120.0 * mouseArea.stepSize))
if (currValue !== myControl.realValue)
myControl.realValueModified()
// Reset stepSize

View File

@@ -123,6 +123,8 @@ QtObject {
property string themeTranslationIndicatorBorder: "#7f7f7f"
property string themeSectionHeadBackground: "#191919"
// Taken out of Constants.js
property string themeChangedStateText: "#99ccff"
}

View File

@@ -220,12 +220,17 @@ static PyObject *cdbext_listOfLocals(PyObject *, PyObject *args) // -> [ Value ]
++currentPartialIname; // skip "local" part
ULONG symbolGroupIndex = 0;
ULONG childEndIndex = 0;
for (;symbolGroupIndex < scopeEnd; ++symbolGroupIndex) {
const PyValue value(symbolGroupIndex, symbolGroup);
PyValue value(symbolGroupIndex, symbolGroup);
if (childEndIndex <= symbolGroupIndex) { // do not return a child value
if (value.name() == *currentPartialIname) {
PyList_Append(locals, createPythonObject(value));
return locals;
}
++childEndIndex;
}
childEndIndex += ULONG(value.childCount());
}
}

View File

@@ -296,8 +296,11 @@ void GraphicsView::contextMenuEvent(QContextMenuEvent *event)
auto openStyleEditor = [this]() { m_dialog.show(); };
QMenu menu;
if (qEnvironmentVariableIsSet("QTC_STYLE_CURVE_EDITOR")) {
QAction *openEditorAction = menu.addAction(tr("Open Style Editor"));
connect(openEditorAction, &QAction::triggered, openStyleEditor);
}
menu.addSeparator();
auto insertKeyframes = [this, event]() {

View File

@@ -29,10 +29,14 @@
#include "designersettings.h"
#include <coreplugin/icore.h>
#include <QColorDialog>
#include <QHash>
#include <QByteArray>
#include <QDebug>
#include <QSettings>
#include <QTimer>
namespace QmlDesigner {
@@ -143,4 +147,16 @@ void SimpleColorPaletteModel::write()
SimpleColorPaletteSingleton::getInstance().writePalette();
}
void SimpleColorPaletteModel::showDialog(QColor color)
{
auto colorDialog = new QColorDialog(Core::ICore::dialogParent());
colorDialog->setCurrentColor(color);
colorDialog->setAttribute(Qt::WA_DeleteOnClose);
connect(colorDialog, &QDialog::rejected, this, &SimpleColorPaletteModel::colorDialogRejected);
connect(colorDialog, &QColorDialog::currentColorChanged, this, &SimpleColorPaletteModel::currentColorChanged);
QTimer::singleShot(0, [colorDialog](){ colorDialog->exec(); });
}
} // namespace QmlDesigner

View File

@@ -28,6 +28,7 @@
#include <QAbstractListModel>
#include <QtQml/qqml.h>
#include <QList>
#include <QColor>
namespace QmlDesigner {
@@ -59,6 +60,12 @@ public:
bool read();
void write();
Q_INVOKABLE void showDialog(QColor color);
signals:
void colorDialogRejected();
void currentColorChanged(const QColor &color);
private slots:
void setPalette();

View File

@@ -29,7 +29,6 @@
#include <QAbstractListModel>
#include <QtQml/qqml.h>
#include <QList>
#include <QColor>
#include <simplecolorpalette.h>
namespace QmlDesigner {

View File

@@ -33,7 +33,6 @@ AnimationCurveDialog::AnimationCurveDialog(QWidget *parent)
: QDialog(parent)
, m_editor(nullptr)
{
setWindowFlag(Qt::WindowStaysOnTopHint, true);
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
}
@@ -41,7 +40,6 @@ AnimationCurveDialog::AnimationCurveDialog(DesignTools::CurveEditorModel *model,
: QDialog(parent)
, m_editor(nullptr)
{
setWindowFlag(Qt::WindowStaysOnTopHint, true);
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
setModel(model);
}

View File

@@ -40,6 +40,7 @@
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/command.h>
#include <coreplugin/icore.h>
#include <utils/algorithm.h>
@@ -101,7 +102,7 @@ QAction *createAction(const Core::Id &id,
TimelineToolBar::TimelineToolBar(QWidget *parent)
: QToolBar(parent)
, m_grp()
, m_dialog()
, m_dialog(Core::ICore::dialogParent())
, m_curveModel(new AnimationCurveEditorModel(0., 500.))
{
m_dialog.setModel(m_curveModel);
@@ -221,7 +222,7 @@ void TimelineToolBar::removeTimeline(const QmlTimeline &timeline)
void TimelineToolBar::openAnimationCurveEditor()
{
m_dialog.open();
m_dialog.show();
}
void TimelineToolBar::updateCurve(DesignTools::PropertyTreeItem *item)