]> git.sesse.net Git - kdenlive/blobdiff - src/managecapturesdialog.cpp
Krazy fixes: cleanup all headers
[kdenlive] / src / managecapturesdialog.cpp
index 78fa8e863ef689d0f8adbb1152efd8c93760d935..497564cf58cf76b6960a2018a02ed43f3fc311b7 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
-#include <QTreeWidgetItem>
-#include <QFile>
-#include <QHeaderView>
+
+#include "managecapturesdialog.h"
+#include "kthumb.h"
 
 #include <KDebug>
 #include <KGlobalSettings>
 #include <KFileItem>
 #include <KIO/NetAccess>
 
-#include "managecapturesdialog.h"
+#include <QTreeWidgetItem>
+#include <QFile>
+#include <QHeaderView>
+#include <QIcon>
+#include <QPixmap>
+#include <QTimer>
 
 
 ManageCapturesDialog::ManageCapturesDialog(KUrl::List files, QWidget * parent): QDialog(parent) {
@@ -34,7 +39,8 @@ ManageCapturesDialog::ManageCapturesDialog(KUrl::List files, QWidget * parent):
     m_view.setupUi(this);
     m_importButton = m_view.buttonBox->button(QDialogButtonBox::Ok);
     m_importButton->setText(i18n("import"));
-    foreach(const KUrl url, files) {
+    m_view.treeWidget->setIconSize(QSize(70, 50));
+    foreach(const KUrl &url, files) {
         QStringList text;
         text << url.fileName();
         KFileItem file(KFileItem::Unknown, KFileItem::Unknown, url, true);
@@ -50,11 +56,31 @@ ManageCapturesDialog::ManageCapturesDialog(KUrl::List files, QWidget * parent):
     connect(m_view.toggleButton, SIGNAL(pressed()), this, SLOT(slotToggle()));
     QTreeWidgetItem *item = m_view.treeWidget->topLevelItem(0);
     if (item) m_view.treeWidget->setCurrentItem(item);
-    m_view.treeWidget->header()->setResizeMode(0, QHeaderView::Stretch);
+    connect(m_view.treeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(slotCheckItemIcon()));
+    QTimer::singleShot(500, this, SLOT(slotCheckItemIcon()));
+    m_view.treeWidget->resizeColumnToContents(0);
+    m_view.treeWidget->setEnabled(false);
     adjustSize();
 }
 
-ManageCapturesDialog::~ManageCapturesDialog() {
+ManageCapturesDialog::~ManageCapturesDialog() {}
+
+void ManageCapturesDialog::slotCheckItemIcon() {
+    int ct = 0;
+    int count = m_view.treeWidget->topLevelItemCount();
+    while (ct < count) {
+        QTreeWidgetItem *item = m_view.treeWidget->topLevelItem(ct);
+        //QTreeWidgetItem *item = m_view.treeWidget->currentItem();
+        if (item->icon(0).isNull()) {
+            QPixmap p = KThumb::getImage(KUrl(item->data(0, Qt::UserRole).toString()), 0, 70, 50);
+            item->setIcon(0, QIcon(p));
+            m_view.treeWidget->resizeColumnToContents(0);
+            repaint();
+            //QTimer::singleShot(400, this, SLOT(slotCheckItemIcon()));
+        }
+        ct++;
+    }
+    m_view.treeWidget->setEnabled(true);
 }
 
 void ManageCapturesDialog::slotRefreshButtons() {