diff --git a/app/widget/keyframeview/keyframeviewbase.cpp b/app/widget/keyframeview/keyframeviewbase.cpp index 2f8a3364d..889270fde 100644 --- a/app/widget/keyframeview/keyframeviewbase.cpp +++ b/app/widget/keyframeview/keyframeviewbase.cpp @@ -3,6 +3,7 @@ #include #include +#include "dialog/keyframeproperties/keyframeproperties.h" #include "keyframeviewundo.h" #include "widget/menu/menu.h" #include "widget/menu/menushared.h" @@ -299,6 +300,11 @@ void KeyframeViewBase::ShowContextMenu() break; } } + + m.addSeparator(); + + QAction* properties_action = m.addAction(tr("P&roperties")); + connect(properties_action, &QAction::triggered, this, &KeyframeViewBase::ShowKeyframePropertiesDialog); } QAction* selected = m.exec(QCursor::pos()); @@ -329,6 +335,21 @@ void KeyframeViewBase::ShowContextMenu() } } +void KeyframeViewBase::ShowKeyframePropertiesDialog() +{ + QList items = scene()->selectedItems(); + QList keys; + + foreach (QGraphicsItem* item, items) { + keys.append(static_cast(item)->key()); + } + + if (!keys.isEmpty()) { + KeyframePropertiesDialog kd(keys, timebase(), this); + kd.exec(); + } +} + void KeyframeViewBase::ApplicationToolChanged(Tool::Item tool) { if (tool == Tool::kHand) { diff --git a/app/widget/keyframeview/keyframeviewbase.h b/app/widget/keyframeview/keyframeviewbase.h index b1d1eaad2..ca79b0c75 100644 --- a/app/widget/keyframeview/keyframeviewbase.h +++ b/app/widget/keyframeview/keyframeviewbase.h @@ -63,6 +63,8 @@ private: private slots: void ShowContextMenu(); + void ShowKeyframePropertiesDialog(); + void ApplicationToolChanged(Tool::Item tool); }; diff --git a/app/widget/keyframeview/keyframeviewitem.cpp b/app/widget/keyframeview/keyframeviewitem.cpp index 94500acd0..ae1a31b23 100644 --- a/app/widget/keyframeview/keyframeviewitem.cpp +++ b/app/widget/keyframeview/keyframeviewitem.cpp @@ -44,6 +44,8 @@ NodeKeyframePtr KeyframeViewItem::key() const void KeyframeViewItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { + painter->setRenderHint(QPainter::Antialiasing); + painter->setPen(Qt::black); if (option->state & QStyle::State_Selected) {