widgets/timelinebuttons_ui.ui
widgets/renderwidget_ui.ui
widgets/saveprofile_ui.ui
+ widgets/transitionsettings_ui.ui
)
set(kdenlive_SRCS
renderjob.cpp
renderwidget.cpp
abstractclipitem.cpp
+ transitionsettings.cpp
)
kde4_add_kcfg_files(kdenlive_SRCS GENERATE_MOC kdenlivesettings.kcfgc )
} else {
bool collision = false;
QList<QGraphicsItem *> collisionList = items(event->pos());
+ AbstractClipItem *clipItem = NULL, *transitionItem = NULL;
for (int i = 0; i < collisionList.size(); ++i) {
QGraphicsItem *item = collisionList.at(i);
if (item->type() == AVWIDGET || item->type() == TRANSITIONWIDGET) {
m_dragItem = (AbstractClipItem *) item;
if (item->type() == AVWIDGET) {
- emit clipItemSelected((ClipItem*) m_dragItem);
+ clipItem = m_dragItem;
+ } else if (item->type() == TRANSITIONWIDGET) {
+ transitionItem = m_dragItem;
}
m_clickPoint = mapToScene(event->pos()).x() - m_dragItem->startPos().frames(m_document->fps()) * m_scale;
m_operationMode = m_dragItem->operationMode(item->mapFromScene(mapToScene(event->pos())), m_scale);
break;
}
}
+ emit clipItemSelected((ClipItem*) clipItem);
+ emit transitionItemSelected((Transition*) transitionItem);
if (!collision) {
kDebug() << "//////// NO ITEMĀ FOUND ON CLICK";
m_dragItem = NULL;
QList<QGraphicsItem *> itemList = items();
for (int i = 0; i < itemList.count(); i++)
itemList.at(i)->setSelected(false);
- emit clipItemSelected(NULL);
+ //emit clipItemSelected(NULL);
if (event->button() == Qt::RightButton) {
displayContextMenu(event->globalPos());
} else setCursorPos((int) mapToScene(event->x(), 0).x() / m_scale);
void zoomOut();
void mousePosition(int);
void clipItemSelected(ClipItem*);
+ void transitionItemSelected(Transition*);
void activateDocumentMonitor();
};
transitionConfigDock = new QDockWidget(i18n("Transition"), this);
transitionConfigDock->setObjectName("transition");
- transitionConfig = new KListWidget(this);
+ transitionConfig = new TransitionSettings(this);
transitionConfigDock->setWidget(transitionConfig);
addDockWidget(Qt::TopDockWidgetArea, transitionConfigDock);
disconnect(m_activeDocument, SIGNAL(deletTimelineClip(int)), m_activeTimeline, SLOT(slotDeleteClip(int)));
disconnect(m_activeDocument, SIGNAL(thumbsProgress(KUrl, int)), this, SLOT(slotGotProgressInfo(KUrl, int)));
disconnect(m_activeTimeline, SIGNAL(clipItemSelected(ClipItem*)), effectStack, SLOT(slotClipItemSelected(ClipItem*)));
+ disconnect(m_activeTimeline, SIGNAL(transitionItemSelected(Transition*)), transitionConfig, SLOT(slotTransitionItemSelected(Transition*)));
disconnect(timeline_buttons_ui.zoom_slider, SIGNAL(valueChanged(int)), m_activeTimeline, SLOT(slotChangeZoom(int)));
disconnect(m_activeDocument, SIGNAL(docModified(bool)), this, SLOT(slotUpdateDocumentState(bool)));
disconnect(effectStack, SIGNAL(updateClipEffect(ClipItem*, QDomElement, QDomElement)), m_activeTimeline->projectView(), SLOT(slotUpdateClipEffect(ClipItem*, QDomElement, QDomElement)));
connect(doc, SIGNAL(docModified(bool)), this, SLOT(slotUpdateDocumentState(bool)));
connect(trackView, SIGNAL(clipItemSelected(ClipItem*)), effectStack, SLOT(slotClipItemSelected(ClipItem*)));
+ connect(trackView, SIGNAL(transitionItemSelected(Transition*)), transitionConfig, SLOT(slotTransitionItemSelected(Transition*)));
timeline_buttons_ui.zoom_slider->setValue(trackView->currentZoom());
connect(timeline_buttons_ui.zoom_slider, SIGNAL(valueChanged(int)), trackView, SLOT(slotChangeZoom(int)));
connect(trackView->projectView(), SIGNAL(zoomIn()), this, SLOT(slotZoomIn()));
#include "effectslist.h"
#include "effectslistview.h"
#include "effectstackview.h"
+#include "transitionsettings.h"
#include "ui_timelinebuttons_ui.h"
#include "renderwidget.h"
EffectStackView *effectStack;
QDockWidget *transitionConfigDock;
- KListWidget *transitionConfig;
+ TransitionSettings *transitionConfig;
QDockWidget *clipMonitorDock;
Monitor *m_clipMonitor;
connect(m_trackview->horizontalScrollBar(), SIGNAL(valueChanged(int)), m_ruler, SLOT(slotMoveRuler(int)));
connect(m_trackview, SIGNAL(mousePosition(int)), this, SIGNAL(mousePosition(int)));
connect(m_trackview, SIGNAL(clipItemSelected(ClipItem*)), this, SLOT(slotClipItemSelected(ClipItem*)));
+ connect(m_trackview, SIGNAL(transitionItemSelected(Transition*)), this, SLOT(slotTransitionItemSelected(Transition*)));
slotChangeZoom(m_currentZoom);
}
emit clipItemSelected(c);
}
+void TrackView::slotTransitionItemSelected(Transition *t) {
+ emit transitionItemSelected(t);
+}
+
void TrackView::setDuration(int dur) {
m_trackview->setDuration(dur);
m_ruler->setDuration(dur);
#include "kdenlivedoc.h"
#include "customtrackview.h"
class ClipItem;
+class Transition;
class TrackView : public QWidget {
Q_OBJECT
void setCursorPos(int pos);
void moveCursorPos(int pos);
void slotClipItemSelected(ClipItem*);
+ void slotTransitionItemSelected(Transition*);
signals:
void mousePosition(int);
void cursorMoved();
void clipItemSelected(ClipItem*);
+ void transitionItemSelected(Transition*);
};
#endif
--- /dev/null
+/***************************************************************************
+ effecstackedit.h - description
+ -------------------
+ begin : Mar 15 2008
+ copyright : (C) 2008 by Marco Gittler
+ email : g.marco@freenet.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include "transitionsettings.h"
+#include <KDebug>
+
+TransitionSettings::TransitionSettings(QWidget* parent): QWidget(parent) {
+ ui.setupUi(this);
+ setEnabled(false);
+}
+
+void TransitionSettings::slotTransitionItemSelected(Transition* t) {
+ setEnabled(t != NULL);
+}
+
--- /dev/null
+/***************************************************************************
+ effecstackedit.h - description
+ -------------------
+ begin : Mar 15 2008
+ copyright : (C) 2008 by Marco Gittler
+ email : g.marco@freenet.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+#ifndef TRANSITIONSETTINGS_H
+#define TRANSITIONSETTINGS_H
+#include "ui_transitionsettings_ui.h"
+
+class Transition;
+
+class TransitionSettings : public QWidget {
+ Q_OBJECT
+public:
+ TransitionSettings(QWidget* parent = 0);
+private:
+ Ui::TransitionSettings_UI ui;
+public slots:
+ void slotTransitionItemSelected(Transition*);
+};
+
+#endif
--- /dev/null
+<ui version="4.0" >
+ <class>TransitionSettings_UI</class>
+ <widget class="QWidget" name="TransitionSettings_UI" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>421</width>
+ <height>283</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Form</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QSplitter" name="splitter" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="QListWidget" name="listWidget" />
+ <widget class="QGroupBox" name="groupBox" >
+ <property name="title" >
+ <string>GroupBox</string>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>