]> git.sesse.net Git - kdenlive/blobdiff - src/dvdwizardvob.cpp
Optimize the search for source files in the reindent script.
[kdenlive] / src / dvdwizardvob.cpp
index 2b78a245eeeabc714723d16bb7f8e844f594900d..cb66953e938f1d467db7dd8dc1f72572d468c910 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
+#include "dvdwizardvob.h"
+
 #include <KUrlRequester>
 #include <KDebug>
 #include <KStandardDirs>
+#include <KFileItem>
 
-#include "dvdwizardvob.h"
+#include <QHBoxLayout>
 
 DvdWizardVob::DvdWizardVob(QWidget *parent): QWizardPage(parent) {
     m_view.setupUi(this);
@@ -34,11 +37,23 @@ DvdWizardVob::DvdWizardVob(QWidget *parent): QWizardPage(parent) {
     if (KStandardDirs::findExe("mkisofs").isEmpty()) m_errorMessage.append(i18n("<strong>Program %1 is required for the DVD wizard.", i18n("mkisofs")));
     if (m_errorMessage.isEmpty()) m_view.error_message->setVisible(false);
     else m_view.error_message->setText(m_errorMessage);
+
+#if KDE_IS_VERSION(4,2,0)
+    m_capacityBar = new KCapacityBar(KCapacityBar::DrawTextInline, this);
+    QHBoxLayout *layout = new QHBoxLayout;
+    layout->addWidget(m_capacityBar);
+    m_view.size_box->setLayout(layout);
+#else
+    m_view.size_box->setHidden(true);
+#endif
 }
 
 DvdWizardVob::~DvdWizardVob() {
     QList<KUrlRequester *> allUrls = m_view.vob_list->findChildren<KUrlRequester *>();
     qDeleteAll(allUrls);
+#if KDE_IS_VERSION(4,2,0)
+    delete m_capacityBar;
+#endif
 }
 
 // virtual
@@ -95,5 +110,16 @@ void DvdWizardVob::slotCheckVobList(const QString &text) {
         m_view.vob_list->layout()->addWidget(vob);
         connect(vob, SIGNAL(textChanged(const QString &)), this, SLOT(slotCheckVobList(const QString &)));
     }
+    qint64 maxSize = (qint64) 47000 * 100000;
+    qint64 totalSize = 0;
+    for (int i = 0; i < allUrls.count(); i++) {
+        QFile f(allUrls.at(i)->url().path());
+        totalSize += f.size();
+    }
+
+#if KDE_IS_VERSION(4,2,0)
+    m_capacityBar->setValue(100 * totalSize / maxSize);
+    m_capacityBar->setText(KIO::convertSize(totalSize));
+#endif
 }