X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmanagecapturesdialog.cpp;h=784276c48e3a8e5e257b91ad7a186c02d90a7ea3;hb=e007747d5b02a12d64366d614a3df3fbe5df4bf4;hp=78fa8e863ef689d0f8adbb1152efd8c93760d935;hpb=6d213ea2eb54855b035d2d8a9cb1c23e89f7ba3b;p=kdenlive diff --git a/src/managecapturesdialog.cpp b/src/managecapturesdialog.cpp index 78fa8e86..784276c4 100644 --- a/src/managecapturesdialog.cpp +++ b/src/managecapturesdialog.cpp @@ -17,24 +17,32 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ -#include -#include -#include + +#include "managecapturesdialog.h" +#include "kthumb.h" #include #include #include #include -#include "managecapturesdialog.h" +#include +#include +#include +#include +#include +#include -ManageCapturesDialog::ManageCapturesDialog(KUrl::List files, QWidget * parent): QDialog(parent) { +ManageCapturesDialog::ManageCapturesDialog(KUrl::List files, QWidget * parent) : + QDialog(parent) +{ setFont(KGlobalSettings::toolBarFont()); 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,14 +58,36 @@ 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() { +void ManageCapturesDialog::slotRefreshButtons() +{ int count = m_view.treeWidget->topLevelItemCount(); bool enabled = false; for (int i = 0; i < count; i++) { @@ -70,7 +100,8 @@ void ManageCapturesDialog::slotRefreshButtons() { m_importButton->setEnabled(enabled); } -void ManageCapturesDialog::slotDeleteCurrent() { +void ManageCapturesDialog::slotDeleteCurrent() +{ QTreeWidgetItem *item = m_view.treeWidget->currentItem(); if (!item) return; int i = m_view.treeWidget->indexOfTopLevelItem(item); @@ -83,7 +114,8 @@ void ManageCapturesDialog::slotDeleteCurrent() { item = NULL; } -void ManageCapturesDialog::slotToggle() { +void ManageCapturesDialog::slotToggle() +{ int count = m_view.treeWidget->topLevelItemCount(); for (int i = 0; i < count; i++) { QTreeWidgetItem *item = m_view.treeWidget->topLevelItem(i); @@ -94,7 +126,8 @@ void ManageCapturesDialog::slotToggle() { } } -KUrl::List ManageCapturesDialog::importFiles() { +KUrl::List ManageCapturesDialog::importFiles() +{ KUrl::List result; int count = m_view.treeWidget->topLevelItemCount();