From fd02396df004912a7ceb7106729026757f93e133 Mon Sep 17 00:00:00 2001 From: Till Theato Date: Fri, 7 Jan 2011 15:21:28 +0000 Subject: [PATCH] on monitor corners item: make additional control optional svn path=/trunk/kdenlive/; revision=5292 --- src/cornerswidget.cpp | 16 +++++++++++++++- src/cornerswidget.h | 2 ++ src/kdenlivesettings.kcfg | 5 +++++ src/onmonitoritems/onmonitorcornersitem.cpp | 10 ++++++---- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/cornerswidget.cpp b/src/cornerswidget.cpp index 14c43353..380c9b7b 100644 --- a/src/cornerswidget.cpp +++ b/src/cornerswidget.cpp @@ -56,12 +56,20 @@ CornersWidget::CornersWidget(Monitor* monitor, int clipPos, bool isEffect, int f layout2->addWidget(m_config->getShowHideButton()); QToolButton *buttonShowLines = new QToolButton(m_config); - // TODO: Better Icon + // TODO: Better Icons buttonShowLines->setIcon(KIcon("insert-horizontal-rule")); buttonShowLines->setToolTip(i18n("Show/Hide the lines connecting the corners")); buttonShowLines->setCheckable(true); + buttonShowLines->setChecked(KdenliveSettings::onmonitoreffects_cornersshowlines()); connect(buttonShowLines, SIGNAL(toggled(bool)), this, SLOT(slotShowLines(bool))); m_config->addWidget(buttonShowLines, 0, 2); + QToolButton *buttonShowControls = new QToolButton(m_config); + buttonShowControls->setIcon(KIcon("transform-move")); + buttonShowControls->setToolTip(i18n("Show additional controls")); + buttonShowControls->setCheckable(true); + buttonShowControls->setChecked(KdenliveSettings::onmonitoreffects_cornersshowcontrols()); + connect(buttonShowControls, SIGNAL(toggled(bool)), this, SLOT(slotShowControls(bool))); + m_config->addWidget(buttonShowControls, 0, 3); int width = m_monitor->render->frameRenderWidth(); int height = m_monitor->render->renderHeight(); @@ -218,6 +226,12 @@ void CornersWidget::slotShowLines(bool show) m_item->update(); } +void CornersWidget::slotShowControls(bool show) +{ + KdenliveSettings::setOnmonitoreffects_cornersshowcontrols(show); + m_item->update(); +} + void CornersWidget::slotResetCorner1() { blockSignals(true); diff --git a/src/cornerswidget.h b/src/cornerswidget.h index de322943..234fe8da 100644 --- a/src/cornerswidget.h +++ b/src/cornerswidget.h @@ -89,6 +89,8 @@ private slots: /** @brief Shows/Hides the lines connecting the corners in the on-monitor item according to @param show. */ void slotShowLines(bool show = true); + void slotShowControls(bool show = true); + /* * These functions reset the positions of the corners. * The default values in the effect XML file are not considered, but diff --git a/src/kdenlivesettings.kcfg b/src/kdenlivesettings.kcfg index 2f4f5d38..648e8f12 100644 --- a/src/kdenlivesettings.kcfg +++ b/src/kdenlivesettings.kcfg @@ -683,6 +683,11 @@ false + + + + false + diff --git a/src/onmonitoritems/onmonitorcornersitem.cpp b/src/onmonitoritems/onmonitorcornersitem.cpp index 0a6efa2d..2ad761c3 100644 --- a/src/onmonitoritems/onmonitorcornersitem.cpp +++ b/src/onmonitoritems/onmonitorcornersitem.cpp @@ -27,7 +27,6 @@ #include #include -#include OnMonitorCornersItem::OnMonitorCornersItem(MonitorScene* scene, QGraphicsItem* parent) : AbstractOnMonitorItem(scene), QGraphicsPolygonItem(parent) @@ -53,7 +52,7 @@ OnMonitorCornersItem::cornersActions OnMonitorCornersItem::getMode(QPointF pos) return Corner3; else if (mouseArea.contains(polygon().at(3))) return Corner4; - else if (mouseArea.contains(getCentroid())) + else if (KdenliveSettings::onmonitoreffects_cornersshowcontrols() && mouseArea.contains(getCentroid())) return Move; else return NoAction; @@ -118,6 +117,9 @@ void OnMonitorCornersItem::slotMouseMoved(QGraphicsSceneMouseEvent* event) case NoAction: emit requestCursor(QCursor(Qt::ArrowCursor)); break; + case Move: + emit requestCursor(QCursor(Qt::SizeAllCursor)); + break; default: emit requestCursor(QCursor(Qt::OpenHandCursor)); break; @@ -144,8 +146,7 @@ void OnMonitorCornersItem::paint(QPainter* painter, const QStyleOptionGraphicsIt painter->drawEllipse(polygon().at(2), handleSize, handleSize); painter->drawEllipse(polygon().at(3), handleSize, handleSize); - // TODO: allow to disable - if (1) { + if (KdenliveSettings::onmonitoreffects_cornersshowcontrols()) { painter->setPen(QPen(Qt::red, 2, Qt::SolidLine)); QPointF c = getCentroid(); handleSize *= 1.5; @@ -221,6 +222,7 @@ QList OnMonitorCornersItem::sortedClockwise() std::swap(a, c); } } + return points; } #include "onmonitorcornersitem.moc" -- 2.39.2