From 516f782159e77d9af02409ba7cb5300607397445 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Tue, 22 Jul 2008 22:43:41 +0000 Subject: [PATCH] Show clip thumbnail in captured files dialog svn path=/branches/KDE4/; revision=2346 --- src/kthumb.h | 10 +++++----- src/managecapturesdialog.cpp | 28 +++++++++++++++++++++++++++- src/managecapturesdialog.h | 1 + 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/kthumb.h b/src/kthumb.h index 65f80efd..0c312205 100644 --- a/src/kthumb.h +++ b/src/kthumb.h @@ -18,12 +18,12 @@ #ifndef KTHUMB_H #define KTHUMB_H -#include -#include -#include -#include +#include +#include +#include +#include -#include +#include #include diff --git a/src/managecapturesdialog.cpp b/src/managecapturesdialog.cpp index 78fa8e86..6ce41815 100644 --- a/src/managecapturesdialog.cpp +++ b/src/managecapturesdialog.cpp @@ -20,6 +20,9 @@ #include #include #include +#include +#include +#include #include #include @@ -27,6 +30,7 @@ #include #include "managecapturesdialog.h" +#include "kthumb.h" ManageCapturesDialog::ManageCapturesDialog(KUrl::List files, QWidget * parent): QDialog(parent) { @@ -34,6 +38,7 @@ ManageCapturesDialog::ManageCapturesDialog(KUrl::List files, QWidget * parent): m_view.setupUi(this); m_importButton = m_view.buttonBox->button(QDialogButtonBox::Ok); m_importButton->setText(i18n("import")); + m_view.treeWidget->setIconSize(QSize(70, 50)); foreach(const KUrl url, files) { QStringList text; text << url.fileName(); @@ -50,13 +55,34 @@ 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() { } +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() { int count = m_view.treeWidget->topLevelItemCount(); bool enabled = false; diff --git a/src/managecapturesdialog.h b/src/managecapturesdialog.h index ccf1b569..b76ea092 100644 --- a/src/managecapturesdialog.h +++ b/src/managecapturesdialog.h @@ -41,6 +41,7 @@ private slots: void slotRefreshButtons(); void slotDeleteCurrent(); void slotToggle(); + void slotCheckItemIcon(); protected: //void wheelEvent(QWheelEvent * event); -- 2.39.2