+
+
+void ToolTipManager::startPreviewJob()
+{
+ m_generatingPreview = true;
+ KIO::PreviewJob* job = KIO::filePreview(KUrl::List() << m_item.url(),
+ PREVIEW_WIDTH,
+ PREVIEW_HEIGHT);
+ job->setIgnoreMaximumSize(true);
+
+ connect(job, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)),
+ this, SLOT(setPreviewPix(const KFileItem&, const QPixmap&)));
+ connect(job, SIGNAL(failed(const KFileItem&)),
+ this, SLOT(previewFailed(const KFileItem&)));
+}
+
+
+void ToolTipManager::setPreviewPix(const KFileItem& item,
+ const QPixmap& pixmap)
+{
+ if (m_item.url() != item.url()) {
+ m_generatingPreview = false;
+ return;
+ }
+
+ if (m_previewIsLate) {
+ // always use the maximal width
+ QPixmap paddedImage(QSize(PREVIEW_WIDTH, pixmap.height()));
+ paddedImage.fill(Qt::transparent);
+ QPainter painter(&paddedImage);
+ painter.drawPixmap((PREVIEW_WIDTH - pixmap.width()) / 2, 0, pixmap);
+ m_pix = paddedImage;
+ } else {
+ m_pix = pixmap;
+ }
+ m_preview = true;
+ m_generatingPreview = false;
+}
+
+void ToolTipManager::previewFailed(const KFileItem& item)
+{
+ Q_UNUSED(item);
+ m_generatingPreview = false;
+}
+