***************************************************************************/
#include "dvdwizardmenu.h"
+#include "kdenlivesettings.h"
#include <KDebug>
#include <KColorScheme>
+#include "kthumb.h"
DvdWizardMenu::DvdWizardMenu(const QString &profile, QWidget *parent) :
QWizardPage(parent),
} else changeProfile(true);
-
// Create color background
m_color = new QGraphicsRectItem(0, 0, m_width, m_height);
m_color->setBrush(m_view.background_color->color());
connect(m_scene, SIGNAL(changed(const QList<QRectF> &)), this, SIGNAL(completeChanged()));
// red background for error message
- KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window);
+ KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window, KSharedConfig::openConfig(KdenliveSettings::colortheme()));
QPalette p = m_view.error_message->palette();
p.setColor(QPalette::Background, scheme.background(KColorScheme::NegativeBackground).color());
m_view.error_message->setAutoFillBackground(true);
}
}
if (buttonCount == 0) {
- // We need at least one button
+ //We need at least one button
m_view.error_message->setText(i18n("No button in menu"));
m_view.error_message->setHidden(false);
return false;
if (isPal == false) {
m_width = 720;
m_height = 480;
- m_isPal = false;
- updatePreview();
} else {
m_width = 720;
m_height = 576;
- m_isPal = true;
- updatePreview();
}
+ updatePreview();
}
void DvdWizardMenu::updatePreview()
void DvdWizardMenu::setTargets(QStringList list, QStringList targetlist)
{
m_view.target_list->clear();
- m_view.target_list->addItem(i18n("Play All"), "title 1");
+ m_view.target_list->addItem(i18n("Play All"), "jump title 1");
int movieCount = 0;
for (int i = 0; i < list.count(); i++) {
if (targetlist.at(i).contains("chapter"))
if (ix == 0) {
m_view.background_color->setVisible(true);
m_view.background_image->setVisible(false);
+ m_view.loop_movie->setVisible(false);
if (m_background->scene() != 0) m_scene->removeItem(m_background);
} else {
m_view.background_color->setVisible(false);
m_view.background_image->setVisible(true);
if (ix == 1) {
+ m_view.background_image->clear();
m_view.background_image->setFilter("*");
- m_scene->addItem(m_background);
+ if (m_background->scene() != 0) m_scene->removeItem(m_background);
+ m_view.loop_movie->setVisible(false);
} else {
if (m_background->scene() != 0) m_scene->removeItem(m_background);
+ m_view.background_image->clear();
m_view.background_image->setFilter("video/mpeg");
+ m_view.loop_movie->setVisible(true);
}
}
}
return;
}
QPixmap pix;
- if (!pix.load(m_view.background_image->url().path())) {
- if (m_background->scene() != 0) m_scene->removeItem(m_background);
- return;
+
+ if (m_view.background_list->currentIndex() == 1) {
+ // image background
+ if (!pix.load(m_view.background_image->url().path())) {
+ if (m_background->scene() != 0) m_scene->removeItem(m_background);
+ return;
+ }
+ pix = pix.scaled(m_width, m_height);
+ } else if (m_view.background_list->currentIndex() == 2) {
+ // video background
+ int w;
+ if (m_isPal) w = 768;
+ else w = 640;
+ pix = KThumb::getImage(m_view.background_image->url(), 0, w, m_height);
+ pix = pix.scaled(m_width, m_height);
}
- pix = pix.scaled(m_width, m_height);
m_background->setPixmap(pix);
- if (m_view.background_list->currentIndex() == 1) m_scene->addItem(m_background);
+ m_scene->addItem(m_background);
}
void DvdWizardMenu::checkBackground()
{
if (m_view.create_menu->isChecked()) {
m_scene->clearSelection();
- QImage img(m_width, m_height, QImage::Format_ARGB8555_Premultiplied);
- QPainter p(&img);
- p.setRenderHints(QPainter::Antialiasing, false);
- p.setRenderHints(QPainter::TextAntialiasing, false);
+ QImage img(m_width, m_height, QImage::Format_ARGB32_Premultiplied);
+ img.fill(Qt::transparent);
if (m_safeRect->scene() != 0) m_scene->removeItem(m_safeRect);
if (m_color->scene() != 0) m_scene->removeItem(m_color);
if (m_background->scene() != 0) m_scene->removeItem(m_background);
+ QPainter p(&img);
+ p.setRenderHints(QPainter::Antialiasing, false);
+ p.setRenderHints(QPainter::TextAntialiasing, false);
m_scene->render(&p, QRectF(0, 0, m_width, m_height));
p.end();
#if QT_VERSION >= 0x040600
img.setNumColors(4);
#endif
img.save(img1);
+
/*QImage saved;
if (m_view.menu_profile->currentIndex() < 2)
saved = img.scaled(720, 576);
saved.save(img1);*/
updateColor(m_view.selected_color->color());
+ img.fill(Qt::transparent);
p.begin(&img);
p.setRenderHints(QPainter::Antialiasing, false);
p.setRenderHints(QPainter::TextAntialiasing, false);
updateColor(m_view.highlighted_color->color());
+ img.fill(Qt::transparent);
p.begin(&img);
p.setRenderHints(QPainter::Antialiasing, false);
p.setRenderHints(QPainter::TextAntialiasing, false);
m_scene->addItem(m_safeRect);
m_scene->addItem(m_color);
- if (m_view.background_list->currentIndex() == 1) m_scene->addItem(m_background);
+ if (m_view.background_list->currentIndex() > 0) m_scene->addItem(m_background);
}
}
return m_view.create_menu->isChecked();
}
+bool DvdWizardMenu::loopMovie() const
+{
+ return m_view.loop_movie->isChecked();
+}
+
bool DvdWizardMenu::menuMovie() const
{
return m_view.background_list->currentIndex() == 2;