]> git.sesse.net Git - kdenlive/commitdiff
port to knewstuff3:
authorAlberto Villa <avilla@FreeBSD.org>
Thu, 4 Feb 2010 03:34:23 +0000 (03:34 +0000)
committerAlberto Villa <avilla@FreeBSD.org>
Thu, 4 Feb 2010 03:34:23 +0000 (03:34 +0000)
http://www.kdenlive.org/mantis/view.php?id=1422

svn path=/trunk/kdenlive/; revision=4289

src/CMakeLists.txt
src/kdenlive_projectprofiles.knsrc [moved from src/kdenlive_mltprofiles.knsrc with 50% similarity]
src/kdenlive_renderprofiles.knsrc [moved from src/kdenlive_render.knsrc with 50% similarity]
src/kdenlive_wipes.knsrc [moved from src/kdenlive.knsrc with 50% similarity]
src/mainwindow.cpp
src/mainwindow.h

index d116edd67e5cbae3068a6b99de95af335d69990e..f29bd51fd4cf06b5471647400234e8b42e856680 100644 (file)
@@ -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} )
 
 
similarity index 50%
rename from src/kdenlive_mltprofiles.knsrc
rename to src/kdenlive_projectprofiles.knsrc
index 3fb5a5b709d5be1bf8ede542b0d8dfbc02423add..ee5e85cb27674d76535bc7d783a580bda9fec624 100644 (file)
@@ -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
similarity index 50%
rename from src/kdenlive_render.knsrc
rename to src/kdenlive_renderprofiles.knsrc
index 2d7855eee2213b49f5ca9cd294d36cf5f1479238..0e18dbbde0d748423c0ef9c8ff55b2bf3a90de99 100644 (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
similarity index 50%
rename from src/kdenlive.knsrc
rename to src/kdenlive_wipes.knsrc
index 6301796a8ea51608b032d1bf4eec718c532e9d53..54a15b16912fb748873a9982f5571e4f74cc7e73 100644 (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
index 9be3cb3f6b8342a02b33598802bcfd901b6d781a..408681daea3e8c91556e2f0ce5fca4e76c5b65de 100644 (file)
 #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();
     }
 }
 
index a5d44a4e9ae123c8b09028df208fe47a466f42c6..ee841e25891a95886515da84826cc39e1ba9a63e 100644 (file)
@@ -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();