#include "ui_templateclip_ui.h"
#include "vectorscope.h"
#include "waveform.h"
+#include "rgbparade.h"
+#include "histogram.h"
#include <KApplication>
#include <KAction>
m_vectorscope = new Vectorscope(m_projectMonitor, m_clipMonitor, this);
m_vectorscopeDock = new QDockWidget(i18n("Vectorscope"), this);
- m_vectorscopeDock->setObjectName("vectorscope");
+ m_vectorscopeDock->setObjectName(m_vectorscope->widgetName());
m_vectorscopeDock->setWidget(m_vectorscope);
addDockWidget(Qt::TopDockWidgetArea, m_vectorscopeDock);
m_waveform = new Waveform(m_projectMonitor, m_clipMonitor, this);
m_waveformDock = new QDockWidget(i18n("Waveform"), this);
- m_waveformDock->setObjectName("waveform");
+ m_waveformDock->setObjectName(m_waveform->widgetName());
m_waveformDock->setWidget(m_waveform);
addDockWidget(Qt::TopDockWidgetArea, m_waveformDock);
+ m_RGBParade = new RGBParade(m_projectMonitor, m_clipMonitor, this);
+ m_RGBParadeDock = new QDockWidget(i18n("RGB Parade"), this);
+ m_RGBParadeDock->setObjectName(m_RGBParade->widgetName());
+ m_RGBParadeDock->setWidget(m_RGBParade);
+ addDockWidget(Qt::TopDockWidgetArea, m_RGBParadeDock);
+
+ m_histogram = new Histogram(m_projectMonitor, m_clipMonitor, this);
+ m_histogramDock = new QDockWidget(i18n("Histogram"), this);
+ m_histogramDock->setObjectName(m_histogram->widgetName());
+ m_histogramDock->setWidget(m_histogram);
+ addDockWidget(Qt::TopDockWidgetArea, m_histogramDock);
+
m_undoViewDock = new QDockWidget(i18n("Undo History"), this);
m_undoViewDock->setObjectName("undo_history");
#endif
tabifyDockWidget(m_vectorscopeDock, m_waveformDock);
+ tabifyDockWidget(m_vectorscopeDock, m_RGBParadeDock);
+ tabifyDockWidget(m_vectorscopeDock, m_histogramDock);
tabifyDockWidget(m_vectorscopeDock, m_undoViewDock);
tabifyDockWidget(m_vectorscopeDock, m_effectListDock);
connect(m_monitorManager, SIGNAL(raiseClipMonitor(bool)), this, SLOT(slotRaiseMonitor(bool)));
connect(m_monitorManager, SIGNAL(raiseClipMonitor(bool)), m_vectorscope, SLOT(slotActiveMonitorChanged(bool)));
connect(m_monitorManager, SIGNAL(raiseClipMonitor(bool)), m_waveform, SLOT(slotActiveMonitorChanged(bool)));
+ connect(m_monitorManager, SIGNAL(raiseClipMonitor(bool)), m_RGBParade, SLOT(slotActiveMonitorChanged(bool)));
+ connect(m_monitorManager, SIGNAL(raiseClipMonitor(bool)), m_histogram, SLOT(slotActiveMonitorChanged(bool)));
connect(m_effectList, SIGNAL(addEffect(const QDomElement)), this, SLOT(slotAddEffect(const QDomElement)));
connect(m_effectList, SIGNAL(reloadEffects()), this, SLOT(slotReloadEffects()));
if (m_monitorManager) m_monitorManager->stopActiveMonitor();
// warn the user to save if document is modified and we have clips in our project list
if (m_activeDocument && m_activeDocument->isModified() &&
- ((m_projectList->documentClipList().isEmpty() && !m_activeDocument->url().isEmpty()) ||
- !m_projectList->documentClipList().isEmpty())) {
+ ((m_projectList->documentClipList().isEmpty() && !m_activeDocument->url().isEmpty()) ||
+ !m_projectList->documentClipList().isEmpty())) {
QString message;
if (m_activeDocument->url().fileName().isEmpty())
message = i18n("Save changes to document?");
bool MainWindow::saveFileAs()
{
- QString outputFile = KFileDialog::getSaveFileName(KUrl(), getMimeType());
- if (outputFile.isEmpty()) return false;
+ QString outputFile = KFileDialog::getSaveFileName(m_activeDocument->projectFolder(), getMimeType());
+ if (outputFile.isEmpty()) {
+ return false;
+ }
if (QFile::exists(outputFile)) {
// Show the file dialog again if the user does not want to overwrite the file
if (KMessageBox::questionYesNo(this, i18n("File already exists.\nDo you want to overwrite it?")) == KMessageBox::No)
m_renderWidget->setDocumentPath(m_activeDocument->projectFolder().path(KUrl::AddTrailingSlash));
m_renderWidget->setRenderProfile(m_activeDocument->getDocumentProperty("renderdestination"), m_activeDocument->getDocumentProperty("rendercategory"), m_activeDocument->getDocumentProperty("renderprofile"), m_activeDocument->getDocumentProperty("renderurl"));
}
+ if (m_activeTimeline) connect(m_activeTimeline, SIGNAL(projectHasAudio(bool)), m_renderWidget, SLOT(slotEnableAudio(bool)));
}
slotCheckRenderStatus();
- /*TrackView *currentTab = (TrackView *) m_timelineArea->currentWidget();
- if (currentTab) m_renderWidget->setTimeline(currentTab);
- m_renderWidget->setDocument(m_activeDocument);*/
m_renderWidget->show();
m_renderWidget->showNormal();
- m_activeTimeline->tracksNumber();
- m_renderWidget->enableAudio(false);
+ // What are the following lines supposed to do?
+ //m_activeTimeline->tracksNumber();
+ //m_renderWidget->enableAudio(false);
//m_renderWidget->export_audio;
}
trackView->projectView()->setContextMenu(m_timelineContextMenu, m_timelineContextClipMenu, m_timelineContextTransitionMenu, m_clipTypeGroup, (QMenu*)(factory()->container("marker_menu", this)));
+ if (m_renderWidget) {
+ if (m_activeTimeline) disconnect(m_activeTimeline, SIGNAL(projectHasAudio(bool)), m_renderWidget, SLOT(slotEnableAudio(bool)));
+ }
m_activeTimeline = trackView;
if (m_renderWidget) {
slotCheckRenderStatus();
m_renderWidget->setGuides(doc->guidesXml(), doc->projectDuration());
m_renderWidget->setDocumentPath(doc->projectFolder().path(KUrl::AddTrailingSlash));
m_renderWidget->setRenderProfile(doc->getDocumentProperty("renderdestination"), doc->getDocumentProperty("rendercategory"), doc->getDocumentProperty("renderprofile"), doc->getDocumentProperty("renderurl"));
+ connect(m_activeTimeline, SIGNAL(projectHasAudio(bool)), m_renderWidget, SLOT(slotEnableAudio(bool)));
}
//doc->setRenderer(m_projectMonitor->render);
m_commandStack->setActiveStack(doc->commandStack());
void MainWindow::slotDeleteItem()
{
if (QApplication::focusWidget() &&
- QApplication::focusWidget()->parentWidget() &&
- QApplication::focusWidget()->parentWidget()->parentWidget() &&
- QApplication::focusWidget()->parentWidget()->parentWidget() == m_projectListDock) {
+ QApplication::focusWidget()->parentWidget() &&
+ QApplication::focusWidget()->parentWidget()->parentWidget() &&
+ QApplication::focusWidget()->parentWidget()->parentWidget() == m_projectListDock) {
m_projectList->slotRemoveClip();
} else {
m_undoViewDock->setTitleBarWidget(0);
m_vectorscopeDock->setTitleBarWidget(0);
m_waveformDock->setTitleBarWidget(0);
+ m_RGBParadeDock->setTitleBarWidget(0);
+ m_histogramDock->setTitleBarWidget(0);
} else {
- if (!m_effectStackDock->isFloating()) { m_effectStackDock->setTitleBarWidget(new QWidget(this)); }
- if (!m_clipMonitorDock->isFloating()) { m_clipMonitorDock->setTitleBarWidget(new QWidget(this)); }
- if (!m_projectMonitorDock->isFloating()) { m_projectMonitorDock->setTitleBarWidget(new QWidget(this)); }
+ if (!m_effectStackDock->isFloating()) {
+ m_effectStackDock->setTitleBarWidget(new QWidget);
+ }
+ if (!m_clipMonitorDock->isFloating()) {
+ m_clipMonitorDock->setTitleBarWidget(new QWidget);
+ }
+ if (!m_projectMonitorDock->isFloating()) {
+ m_projectMonitorDock->setTitleBarWidget(new QWidget);
+ }
#ifndef Q_WS_MAC
- if (!m_recMonitorDock->isFloating()) { m_recMonitorDock->setTitleBarWidget(new QWidget(this)); }
+ if (!m_recMonitorDock->isFloating()) {
+ m_recMonitorDock->setTitleBarWidget(new QWidget);
+ }
#endif
- if (!m_effectListDock->isFloating()) { m_effectListDock->setTitleBarWidget(new QWidget(this)); }
- if (!m_transitionConfigDock->isFloating()) { m_transitionConfigDock->setTitleBarWidget(new QWidget(this)); }
- if (!m_projectListDock->isFloating()) { m_projectListDock->setTitleBarWidget(new QWidget(this)); }
- if (!m_undoViewDock->isFloating()) { m_undoViewDock->setTitleBarWidget(new QWidget(this)); }
- if (!m_vectorscopeDock->isFloating()) { m_vectorscopeDock->setTitleBarWidget(new QWidget(this)); }
- if (!m_waveformDock->isFloating()) { m_waveformDock->setTitleBarWidget(new QWidget(this)); }
+ if (!m_effectListDock->isFloating()) {
+ m_effectListDock->setTitleBarWidget(new QWidget);
+ }
+ if (!m_transitionConfigDock->isFloating()) {
+ m_transitionConfigDock->setTitleBarWidget(new QWidget);
+ }
+ if (!m_projectListDock->isFloating()) {
+ m_projectListDock->setTitleBarWidget(new QWidget);
+ }
+ if (!m_undoViewDock->isFloating()) {
+ m_undoViewDock->setTitleBarWidget(new QWidget);
+ }
+ if (!m_vectorscopeDock->isFloating()) {
+ m_vectorscopeDock->setTitleBarWidget(new QWidget);
+ }
+ if (!m_waveformDock->isFloating()) {
+ m_waveformDock->setTitleBarWidget(new QWidget);
+ }
+ if (!m_RGBParadeDock->isFloating()) {
+ m_RGBParadeDock->setTitleBarWidget(new QWidget(this));
+ }
+ if (!m_histogramDock->isFloating()) {
+ m_histogramDock->setTitleBarWidget(new QWidget(this));
+ }
}
KdenliveSettings::setShowtitlebars(show);
}