From: <j-...@us...> - 2011-10-30 23:01:50
|
Revision: 6009 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=6009&view=rev Author: j-b-m Date: 2011-10-30 23:01:44 +0000 (Sun, 30 Oct 2011) Log Message: ----------- Fix detection of missing codecs in render dialog, use kmessagewidget to inform user Modified Paths: -------------- trunk/kdenlive/src/renderwidget.cpp trunk/kdenlive/src/renderwidget.h trunk/kdenlive/src/wizard.cpp Modified: trunk/kdenlive/src/renderwidget.cpp =================================================================== --- trunk/kdenlive/src/renderwidget.cpp 2011-10-30 22:59:32 UTC (rev 6008) +++ trunk/kdenlive/src/renderwidget.cpp 2011-10-30 23:01:44 UTC (rev 6009) @@ -223,8 +223,21 @@ focusFirstVisibleItem(); adjustSize(); + +#if KDE_IS_VERSION(4,7,0) + m_infoMessage = new KMessageWidget; + QGridLayout *s = static_cast <QGridLayout*> (m_view.tab->layout()); + s->addWidget(m_infoMessage, 12, 0, 1, -1); + m_infoMessage->hide(); +#endif } +QSize RenderWidget::sizeHint() const +{ + // Make sure the widget has minimum size on opening + return QSize(200, 200); +} + RenderWidget::~RenderWidget() { m_view.running_jobs->blockSignals(true); @@ -2030,12 +2043,23 @@ void RenderWidget::errorMessage(const QString &message) { if (!message.isEmpty()) { +#if KDE_IS_VERSION(4,7,0) + m_infoMessage->setMessageType(KMessageWidget::Warning); + m_infoMessage->setText(message); + m_infoMessage->animatedShow(); +#else m_view.errorLabel->setText(message); m_view.errorBox->setHidden(false); +#endif } else { +#if KDE_IS_VERSION(4,7,0) + m_infoMessage->animatedHide(); +#else m_view.errorBox->setHidden(true); m_view.errorLabel->setText(QString()); +#endif + } } Modified: trunk/kdenlive/src/renderwidget.h =================================================================== --- trunk/kdenlive/src/renderwidget.h 2011-10-30 22:59:32 UTC (rev 6008) +++ trunk/kdenlive/src/renderwidget.h 2011-10-30 23:01:44 UTC (rev 6009) @@ -21,6 +21,11 @@ #ifndef RENDERWIDGET_H #define RENDERWIDGET_H +#include <kdeversion.h> +#if KDE_IS_VERSION(4,7,0) +#include <KMessageWidget> +#endif + #include <QPushButton> #include <QPainter> #include <QStyledItemDelegate> @@ -132,6 +137,9 @@ /** @brief Should we render using proxy clips. */ bool proxyRendering(); +protected: + virtual QSize sizeHint() const; + public slots: void slotExport(bool scriptExport, int zoneIn, int zoneOut, const QString &playlistPath, const QString &scriptPath, bool exportAudio); @@ -179,6 +187,11 @@ RenderViewDelegate *m_jobsDelegate; bool m_blockProcessing; QString m_renderer; + +#if KDE_IS_VERSION(4,7,0) + KMessageWidget *m_infoMessage; +#endif + void parseProfiles(QString meta = QString(), QString group = QString(), QString profile = QString()); void parseFile(QString exportFile, bool editable); void updateButtons(); Modified: trunk/kdenlive/src/wizard.cpp =================================================================== --- trunk/kdenlive/src/wizard.cpp 2011-10-30 22:59:32 UTC (rev 6008) +++ trunk/kdenlive/src/wizard.cpp 2011-10-30 23:01:44 UTC (rev 6009) @@ -336,16 +336,19 @@ for (int i = 0; i < vcodecs.count(); i++) result << QString(vcodecs.get(i)); m_mltCheck.vcodecs_list->addItems(result); + KdenliveSettings::setVideocodecs(result); result.clear(); Mlt::Properties acodecs((mlt_properties) consumer->get_data("acodec")); for (int i = 0; i < acodecs.count(); i++) result << QString(acodecs.get(i)); m_mltCheck.acodecs_list->addItems(result); + KdenliveSettings::setAudiocodecs(result); result.clear(); Mlt::Properties formats((mlt_properties) consumer->get_data("f")); for (int i = 0; i < formats.count(); i++) result << QString(formats.get(i)); m_mltCheck.formats_list->addItems(result); + KdenliveSettings::setSupportedformats(result); delete consumer; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |