QMap<QString, QImage> EffectStackEdit::iconCache;
-EffectStackEdit::EffectStackEdit(QFrame* frame, QWidget *parent): QObject(parent), m_in(0), m_out(0) {
- QScrollArea *area;
- QVBoxLayout *vbox1 = new QVBoxLayout(frame);
- QVBoxLayout *vbox2 = new QVBoxLayout(frame);
- vbox = new QVBoxLayout(frame);
+EffectStackEdit::EffectStackEdit(QWidget *parent): QWidget(parent), m_in(0), m_out(0) {
+ setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
+ setBackgroundRole(QPalette::Dark);
+ QVBoxLayout *vbox1 = new QVBoxLayout(parent);
vbox1->setContentsMargins(0, 0, 0, 0);
vbox1->setSpacing(0);
- vbox2->setContentsMargins(0, 0, 0, 0);
- vbox2->setSpacing(0);
- vbox->setContentsMargins(0, 0, 0, 0);
- vbox->setSpacing(0);
- frame->setLayout(vbox1);
- QFont widgetFont = frame->font();
- widgetFont.setPointSize(widgetFont.pointSize() - 2);
- frame->setFont(widgetFont);
- area = new QScrollArea(frame);
- QWidget *wid = new QWidget(area);
+ QScrollArea *area = new QScrollArea;
+ QWidget *wid = new QWidget(parent);
area->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
area->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
wid->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
- //area->setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::MinimumExpanding));
+ area->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::MinimumExpanding));
vbox1->addWidget(area);
- wid->setLayout(vbox2);
- vbox2->addLayout(vbox);
- vbox2->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding));
area->setWidget(wid);
area->setWidgetResizable(true);
+ vbox = new QVBoxLayout(wid);
+ vbox->setContentsMargins(0, 0, 0, 0);
+ vbox->setSpacing(0);
wid->show();
}
vbox->addWidget(toFillin);
}
}
+ vbox->addStretch();
}
void EffectStackEdit::slotSeekToPos(int pos) {
uiItems.clear();
items.clear();
valueItems.clear();
+ QLayoutItem *item = vbox->itemAt(0);
+ while (item) {
+ vbox->removeItem(item);
+ delete item;
+ item = vbox->itemAt(0);
+ }
}
class QFrame;
-class EffectStackEdit : public QObject {
+class EffectStackEdit : public QWidget {
Q_OBJECT
public:
- EffectStackEdit(QFrame* frame, QWidget *parent);
+ EffectStackEdit(QWidget *parent);
~EffectStackEdit();
void updateProjectFormat(MltVideoProfile profile);
static QMap<QString, QImage> iconCache;
EffectStackView::EffectStackView(QWidget *parent)
: QWidget(parent) {
ui.setupUi(this);
- effectedit = new EffectStackEdit(ui.frame, this);
+ effectedit = new EffectStackEdit(ui.frame);
//ui.effectlist->horizontalHeader()->setVisible(false);
//ui.effectlist->verticalHeader()->setVisible(false);
clipref = NULL;
connect(view.buttonAudio, SIGNAL(clicked()), this, SLOT(switchAudio()));
m_contextMenu = new QMenu(this);
- QAction *insertAction = new QAction(i18n("Insert track"), this);
+
+ //TODO: implement add/remove track
+ /*QAction *insertAction = new QAction(i18n("Insert track"), this);
m_contextMenu->addAction(insertAction);
- connect(insertAction, SIGNAL(triggered(QAction *)), this, SLOT(slotAddTrack()));
+ connect(insertAction, SIGNAL(triggered()), this, SLOT(slotAddTrack()));
QAction *removeAction = new QAction(KIcon("edit-delete"), i18n("Delete track"), this);
m_contextMenu->addAction(removeAction);
- connect(removeAction, SIGNAL(triggered(QAction *)), this, SLOT(slotDeleteTrack()));
+ connect(removeAction, SIGNAL(triggered()), this, SLOT(slotDeleteTrack()));*/
}
void HeaderTrack::switchVideo() {
transitions->append(ret.documentElement());
- kDebug() << "//// //// TRANSITON XML";
- kDebug() << ret.toString();
+ //kDebug() << "//// //// TRANSITON XML";
+ //kDebug() << ret.toString();
/*
<transition fill="1" in="11" a_track="1" out="73" mlt_service="luma" b_track="2" softness="0" resource="/home/marco/Projekte/kdenlive/install_cmake/share/apps/kdenlive/pgm/PAL/square2.pgm" />
tabifyDockWidget(clipMonitorDock, recMonitorDock);
setCentralWidget(m_timelineArea);
- setupGUI(Default, NULL /*"kdenliveui.rc"*/);
+ setupGUI();
//kDebug() << factory() << " " << factory()->container("video_effects_menu", this);
m_projectMonitor->setupMenu(static_cast<QMenu*>(factory()->container("monitor_go", this)));
m_monitorManager->initMonitors(m_clipMonitor, m_projectMonitor);
slotConnectMonitors();
- setAutoSaveSettings();
-
if (KdenliveSettings::openlastproject()) {
openLastFile();
} else {
QString style1 = "QToolButton {background-color: rgba(230, 230, 230, 220); border-style: inset; border:1px solid #999999;border-radius: 3px;margin: 0px 3px;padding: 0px;} QToolButton:checked { background-color: rgba(224, 224, 0, 100); border-style: inset; border:1px solid #cc6666;border-radius: 3px;}";
- m_buttonSelectTool = toolbar->addAction(KIcon("kdenlive-select-tool"), i18n("Selection tool"));
+ m_buttonSelectTool = new KAction(KIcon("kdenlive-select-tool"), i18n("Selection tool"), this);
+ toolbar->addAction(m_buttonSelectTool);
m_buttonSelectTool->setCheckable(true);
m_buttonSelectTool->setChecked(true);
- m_buttonRazorTool = toolbar->addAction(KIcon("edit-cut"), i18n("Razor tool"));
+ m_buttonRazorTool = new KAction(KIcon("edit-cut"), i18n("Razor tool"), this);
+ toolbar->addAction(m_buttonRazorTool);
m_buttonRazorTool->setCheckable(true);
m_buttonRazorTool->setChecked(false);
connect(m_toolGroup, SIGNAL(triggered(QAction *)), this, SLOT(slotChangeTool(QAction *)));
toolbar->addSeparator();
- m_buttonFitZoom = toolbar->addAction(KIcon("zoom-fit-best"), i18n("Fit zoom to project"));
+ m_buttonFitZoom = new KAction(KIcon("zoom-fit-best"), i18n("Fit zoom to project"), this);
+ toolbar->addAction(m_buttonFitZoom);
m_buttonFitZoom->setCheckable(false);
connect(m_buttonFitZoom, SIGNAL(triggered()), this, SLOT(slotFitZoom()));
toolbar->addWidget(m_zoomSlider);
- m_buttonVideoThumbs = toolbar->addAction(KIcon("kdenlive-show-videothumb"), i18n("Show video thumbnails"));
+ m_buttonVideoThumbs = new KAction(KIcon("kdenlive-show-videothumb"), i18n("Show video thumbnails"), this);
+ toolbar->addAction(m_buttonVideoThumbs);
m_buttonVideoThumbs->setCheckable(true);
m_buttonVideoThumbs->setChecked(KdenliveSettings::videothumbnails());
connect(m_buttonVideoThumbs, SIGNAL(triggered()), this, SLOT(slotSwitchVideoThumbs()));
- m_buttonAudioThumbs = toolbar->addAction(KIcon("kdenlive-show-audiothumb"), i18n("Show audio thumbnails"));
+ m_buttonAudioThumbs = new KAction(KIcon("kdenlive-show-audiothumb"), i18n("Show audio thumbnails"), this);
+ toolbar->addAction(m_buttonAudioThumbs);
m_buttonAudioThumbs->setCheckable(true);
m_buttonAudioThumbs->setChecked(KdenliveSettings::audiothumbnails());
connect(m_buttonAudioThumbs, SIGNAL(triggered()), this, SLOT(slotSwitchAudioThumbs()));
- m_buttonShowMarkers = toolbar->addAction(KIcon("kdenlive-show-markers"), i18n("Show markers comments"));
+ m_buttonShowMarkers = new KAction(KIcon("kdenlive-show-markers"), i18n("Show markers comments"), this);
+ toolbar->addAction(m_buttonShowMarkers);
m_buttonShowMarkers->setCheckable(true);
m_buttonShowMarkers->setChecked(KdenliveSettings::showmarkers());
connect(m_buttonShowMarkers, SIGNAL(triggered()), this, SLOT(slotSwitchMarkersComments()));
- m_buttonSnap = toolbar->addAction(KIcon("kdenlive-snap"), i18n("Snap"));
+ m_buttonSnap = new KAction(KIcon("kdenlive-snap"), i18n("Snap"), this);
+ toolbar->addAction(m_buttonSnap);
m_buttonSnap->setCheckable(true);
m_buttonSnap->setChecked(KdenliveSettings::snaptopoints());
connect(m_buttonSnap, SIGNAL(triggered()), this, SLOT(slotSwitchSnap()));
KAction *m_projectSearch;
KAction *m_projectSearchNext;
- QAction *m_buttonAudioThumbs;
- QAction *m_buttonVideoThumbs;
- QAction *m_buttonShowMarkers;
- QAction *m_buttonFitZoom;
- QAction *m_buttonSelectTool;
- QAction *m_buttonRazorTool;
- QAction *m_buttonSnap;
+ KAction *m_buttonAudioThumbs;
+ KAction *m_buttonVideoThumbs;
+ KAction *m_buttonShowMarkers;
+ KAction *m_buttonFitZoom;
+ KAction *m_buttonSelectTool;
+ KAction *m_buttonRazorTool;
+ KAction *m_buttonSnap;
QActionGroup *m_toolGroup;
- QAction *m_saveAction;
+ KAction *m_saveAction;
QSlider *m_zoomSlider;
StatusBarMessageLabel *m_messageLabel;
HeaderTrack *header = new HeaderTrack(i, list.at(max - i - 1), this);
connect(header, SIGNAL(switchTrackVideo(int)), m_trackview, SLOT(slotSwitchTrackVideo(int)));
connect(header, SIGNAL(switchTrackAudio(int)), m_trackview, SLOT(slotSwitchTrackAudio(int)));
+ /*
+ //TODO: re-enable when add / remove track is implemented
connect(header, SIGNAL(deleteTrack(int)), m_trackview, SLOT(slotDeleteTrack(int)));
- connect(header, SIGNAL(insertTrack(int)), m_trackview, SLOT(slotInsertTrack(int)));
+ connect(header, SIGNAL(insertTrack(int)), m_trackview, SLOT(slotInsertTrack(int)));*/
m_headersLayout->addWidget(header);
}
view->headers_container->adjustSize();
TransitionSettings::TransitionSettings(QWidget* parent): QWidget(parent) {
ui.setupUi(this);
- effectEdit = new EffectStackEdit(ui.frame, this);
+ effectEdit = new EffectStackEdit(ui.frame);
connect(effectEdit, SIGNAL(seekTimeline(int)), this, SIGNAL(seekTimeline(int)));
setEnabled(false);
ui.transitionList->addItems(MainWindow::transitions.effectNames());