#include <KDialog>
#include <KFileItem>
-#include <KFileMetaDataWidget>
+#include <kfilemetadatawidget.h>
#include <KFilePlacesModel>
#include <KGlobalSettings>
#include <KIO/PreviewJob>
m_phononWidget(0),
m_nameLabel(0),
m_metaDataWidget(0),
- m_metaDataArea(0),
- m_enabledPlugins()
+ m_metaDataArea(0)
{
parent->installEventFilter(this);
m_nameLabel->setAlignment(Qt::AlignHCenter);
m_nameLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
- const bool showPreview = InformationPanelSettings::showPreview();
- m_preview->setVisible(showPreview);
+ const bool previewsShown = InformationPanelSettings::previewsShown();
+ m_preview->setVisible(previewsShown);
m_metaDataWidget = new KFileMetaDataWidget(parent);
m_metaDataWidget->setFont(KGlobalSettings::smallestReadableFont());
m_outdatedPreviewTimer->start();
}
- if (m_enabledPlugins.isEmpty()) {
- const KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings");
- m_enabledPlugins = globalConfig.readEntry("Plugins", QStringList()
- << "directorythumbnail"
- << "imagethumbnail"
- << "jpegthumbnail");
- }
-
- KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << item, m_preview->width(), m_preview->height(),
- 0, 0, false, true, &m_enabledPlugins);
+ KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << item, QSize(m_preview->width(), m_preview->height()));
+ job->setScaleType(KIO::PreviewJob::Unscaled);
connect(job, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)),
this, SLOT(showPreview(const KFileItem&, const QPixmap&)));
}
}
- if (m_metaDataWidget != 0) {
+ if (m_metaDataWidget) {
m_metaDataWidget->show();
m_metaDataWidget->setItems(KFileItemList() << item);
}
- if (InformationPanelSettings::showPreview()) {
+ if (InformationPanelSettings::previewsShown()) {
const QString mimeType = item.mimetype();
const bool usePhonon = Phonon::BackendCapabilities::isMimeTypeAvailable(mimeType) &&
(mimeType != "image/png"); // TODO: workaround, as Phonon
m_preview->setPixmap(icon);
setNameLabelText(i18ncp("@info", "%1 item selected", "%1 items selected", items.count()));
- if (m_metaDataWidget != 0) {
+ if (m_metaDataWidget) {
m_metaDataWidget->setItems(items);
}
QAction* previewAction = popup.addAction(i18nc("@action:inmenu", "Preview"));
previewAction->setIcon(KIcon("view-preview"));
previewAction->setCheckable(true);
- previewAction->setChecked(InformationPanelSettings::showPreview());
+ previewAction->setChecked(InformationPanelSettings::previewsShown());
QAction* configureAction = popup.addAction(i18nc("@action:inmenu", "Configure..."));
configureAction->setIcon(KIcon("configure"));
// Open the popup and adjust the settings for the
// selected action.
QAction* action = popup.exec(QCursor::pos());
- if (action == 0) {
+ if (!action) {
return;
}
const bool isChecked = action->isChecked();
if (action == previewAction) {
m_preview->setVisible(isChecked);
- InformationPanelSettings::setShowPreview(isChecked);
+ InformationPanelSettings::setPreviewsShown(isChecked);
} else if (action == configureAction) {
FileMetaDataConfigurationDialog* dialog = new FileMetaDataConfigurationDialog();
dialog->setDescription(i18nc("@label::textbox",
m_outdatedPreviewTimer->stop();
m_pendingPreview = false;
if (!applyPlace(item.targetUrl())) {
- m_preview->setPixmap(item.pixmap(KIconLoader::SizeEnormous));
+ KIcon icon(item.iconName(), KIconLoader::global(), item.overlays());
+ m_preview->setPixmap(icon.pixmap(KIconLoader::SizeEnormous));
}
}
const QPixmap& pixmap)
{
m_outdatedPreviewTimer->stop();
-
Q_UNUSED(item);
if (m_pendingPreview) {
- m_preview->setPixmap(pixmap);
+ QPixmap p = pixmap;
+ KIconLoader::global()->drawOverlays(item.overlays(), p, KIconLoader::Desktop);
+ m_preview->setPixmap(p);
m_pendingPreview = false;
}
}
// The metadata widget also contains a text widget which may return
// a large preferred width.
- if (m_metaDataWidget != 0) {
+ if (m_metaDataWidget) {
m_metaDataWidget->setMaximumWidth(maxWidth);
}