Commit 3944c03a authored by Alberto Villa's avatar Alberto Villa

port to knewstuff3:

http://www.kdenlive.org/mantis/view.php?id=1422

svn path=/trunk/kdenlive/; revision=4289
parent cf40d5f8
......@@ -203,11 +203,16 @@ kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
if (${KDE_VERSION} VERSION_EQUAL 4.3.80 OR ${KDE_VERSION} VERSION_GREATER 4.3.80)
set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
else (${KDE_VERSION} VERSION_EQUAL 4.3.80 OR ${KDE_VERSION} VERSION_GREATER 4.3.80)
set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
endif (${KDE_VERSION} VERSION_EQUAL 4.3.80 OR ${KDE_VERSION} VERSION_GREATER 4.3.80)
target_link_libraries(kdenlive
${KDE4_KDEUI_LIBS}
${KDE4_KIO_LIBS}
${KDE4_KNEWSTUFF2_LIBS}
${KNEWSTUFF_LIBS}
${LIBMLTPLUS_LIBRARY}
${LIBMLT_LIBRARY}
${optional_libs}
......@@ -227,7 +232,7 @@ install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION ${DATA_INSTALL_DIR}/
install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
kde4_install_icons(${ICON_INSTALL_DIR})
install( FILES kdenlive.knsrc kdenlive_render.knsrc kdenlive_mltprofiles.knsrc kdenlivetranscodingrc DESTINATION ${CONFIG_INSTALL_DIR} )
install( FILES kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION ${CONFIG_INSTALL_DIR} )
kde4_install_icons( ${ICON_INSTALL_DIR} )
......@@ -2,3 +2,8 @@
ProvidersUrl=http://kdenlive.org/data/mltprofilesources.xml
TargetDir=kdenlive/profiles
Uncompress=archive
[KNewStuff3]
ProvidersUrl=http://kdenlive.org/data/mltprofilesources.xml
TargetDir=kdenlive/profiles
Uncompress=archive
\ No newline at end of file
......@@ -2,3 +2,8 @@
ProvidersUrl=http://kdenlive.org/data/rendersources.xml
TargetDir=kdenlive/export
Uncompress=archive
[KNewStuff3]
ProvidersUrl=http://kdenlive.org/data/rendersources.xml
TargetDir=kdenlive/export
Uncompress=archive
\ No newline at end of file
......@@ -2,3 +2,8 @@
ProvidersUrl=http://download.kde.org/khotnewstuff/kdenlive-providers.xml
TargetDir=kdenlive/lumas
Uncompress=archive
[KNewStuff3]
ProvidersUrl=http://download.kde.org/khotnewstuff/kdenlive-providers.xml
TargetDir=kdenlive/lumas
Uncompress=archive
\ No newline at end of file
......@@ -79,8 +79,14 @@
#include <KFileItem>
#include <KNotification>
#include <KNotifyConfigWidget>
#if KDE_IS_VERSION(4,3,80)
#include <knewstuff3/downloaddialog.h>
#include <knewstuff3/knewstuffaction.h>
#else
#include <knewstuff2/engine.h>
#include <knewstuff2/ui/knewstuffaction.h>
#define KNS3 KNS
#endif /* KDE_IS_VERSION(4,3,80) */
#include <KToolBar>
#include <KColorScheme>
......@@ -940,11 +946,11 @@ void MainWindow::setupActions()
collection->addAction("manage_profiles", profilesAction);
connect(profilesAction, SIGNAL(triggered(bool)), this, SLOT(slotEditProfiles()));
KNS::standardAction(i18n("Download New Wipes..."), this, SLOT(slotGetNewLumaStuff()), actionCollection(), "get_new_lumas");
KNS3::standardAction(i18n("Download New Wipes..."), this, SLOT(slotGetNewLumaStuff()), actionCollection(), "get_new_lumas");
KNS::standardAction(i18n("Download New Render Profiles..."), this, SLOT(slotGetNewRenderStuff()), actionCollection(), "get_new_profiles");
KNS3::standardAction(i18n("Download New Render Profiles..."), this, SLOT(slotGetNewRenderStuff()), actionCollection(), "get_new_profiles");
KNS::standardAction(i18n("Download New Project Profiles..."), this, SLOT(slotGetNewMltProfileStuff()), actionCollection(), "get_new_mlt_profiles");
KNS3::standardAction(i18n("Download New Project Profiles..."), this, SLOT(slotGetNewMltProfileStuff()), actionCollection(), "get_new_mlt_profiles");
KAction* wizAction = new KAction(KIcon("configure"), i18n("Run Config Wizard"), this);
collection->addAction("run_wizard", wizAction);
......@@ -2896,69 +2902,52 @@ void MainWindow::slotResizeItemEnd()
if (m_activeTimeline) m_activeTimeline->projectView()->setOutPoint();
}
int MainWindow::getNewStuff(const QString &configFile)
{
KNS3::Entry::List entries;
#if KDE_IS_VERSION(4,3,80)
KNS3::DownloadDialog dialog(configFile);
dialog.exec();
entries = dialog.changedEntries();
foreach(const KNS3::Entry &entry, entries) {
if (entry.status() == KNS3::Entry::Installed)
kDebug() << "// Installed files: " << entry.installedFiles();
}
#else
KNS::Engine engine(0);
if (engine.init(configFile))
entries = engine.downloadDialogModal(this);
foreach(KNS::Entry *entry, entries) {
if (entry->status() == KNS::Entry::Installed)
kDebug() << "// Installed files: " << entry->installedFiles();
}
#endif /* KDE_IS_VERSION(4,3,80) */
return entries.size();
}
void MainWindow::slotGetNewLumaStuff()
{
//KNS::Entry::List download();
KNS::Entry::List entries = KNS::Engine::download();
// list of changed entries
kDebug() << "// PARSING KNS";
foreach(KNS::Entry* entry, entries) {
// care only about installed ones
if (entry->status() == KNS::Entry::Installed) {
foreach(const QString &file, entry->installedFiles()) {
kDebug() << "// CURRENTLY INSTALLED: " << file;
}
}
if (getNewStuff("kdenlive_wipes.knsrc") > 0) {
initEffects::refreshLumas();
m_activeTimeline->projectView()->reloadTransitionLumas();
}
qDeleteAll(entries);
initEffects::refreshLumas();
m_activeTimeline->projectView()->reloadTransitionLumas();
}
void MainWindow::slotGetNewRenderStuff()
{
//KNS::Entry::List download();
KNS::Engine engine(0);
if (engine.init("kdenlive_render.knsrc")) {
KNS::Entry::List entries = engine.downloadDialogModal(this);
if (entries.size() > 0) {
foreach(KNS::Entry* entry, entries) {
// care only about installed ones
if (entry->status() == KNS::Entry::Installed) {
foreach(const QString &file, entry->installedFiles()) {
kDebug() << "// CURRENTLY INSTALLED: " << file;
}
}
}
}
if (m_renderWidget) m_renderWidget->reloadProfiles();
if (getNewStuff("kdenlive_renderprofiles.knsrc") > 0) {
if (m_renderWidget)
m_renderWidget->reloadProfiles();
}
}
void MainWindow::slotGetNewMltProfileStuff()
{
//KNS::Entry::List download();
KNS::Engine engine(0);
if (engine.init("kdenlive_mltprofiles.knsrc")) {
KNS::Entry::List entries = engine.downloadDialogModal(this);
if (entries.size() > 0) {
foreach(KNS::Entry* entry, entries) {
// care only about installed ones
if (entry->status() == KNS::Entry::Installed) {
foreach(const QString &file, entry->installedFiles()) {
kDebug() << "// CURRENTLY INSTALLED: " << file;
}
}
}
// update the list of profiles in settings dialog
KdenliveSettingsDialog* d = static_cast <KdenliveSettingsDialog*>(KConfigDialog::exists("settings"));
if (d) d->checkProfile();
}
if (getNewStuff("kdenlive_projectprofiles.knsrc") > 0) {
// update the list of profiles in settings dialog
KdenliveSettingsDialog* d = static_cast <KdenliveSettingsDialog*>(KConfigDialog::exists("settings"));
if (d)
d->checkProfile();
}
}
......
......@@ -201,6 +201,7 @@ private:
QMenu *menu, const char *member,
QActionGroup *actionGroup);
void aboutPlugins();
int getNewStuff(const QString &configFile = QString());
QStringList m_pluginFileNames;
QByteArray m_timelineState;
void loadTranscoders();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment